Make all properties in T optional

interface ClientDefaults {
    cacheMiddleware?: boolean;
    defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
    disableHostPrefix?: boolean;
    extensions?: RuntimeExtension[];
    logger?: Logger;
    maxAttempts?: number | Provider<number>;
    profile?: string;
    protocol?: ClientProtocol<any, any> | $ClientProtocol<any, any> | ClientProtocolCtor<any, any> | $ClientProtocolCtor<any, any>;
    region?: string | Provider<string>;
    requestHandler?: HttpHandlerUserInput;
    retryMode?: string | Provider<string>;
    useDualstackEndpoint?: boolean | Provider<boolean>;
    useFipsEndpoint?: boolean | Provider<boolean>;
}

Hierarchy (view full)

Properties

cacheMiddleware?: boolean

Default false.

When true, the client will only resolve the middleware stack once per Command class. This means modifying the middlewareStack of the command or client after requests have been made will not be recognized.

Calling client.destroy() also clears this cache.

Enable this only if needing the additional time saved (0-1ms per request) and not needing middleware modifications between requests.

The @smithy/smithy-client#DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.

disableHostPrefix?: boolean

Disable dynamically changing the endpoint of the client based on the hostPrefix trait of an operation.

extensions?: RuntimeExtension[]

Optional extensions

logger?: Logger

Optional logger for logging debug/info/warn/error.

maxAttempts?: number | Provider<number>

Value for how many times a request will be made at most in case of retry.

profile?: string

Setting a client profile is similar to setting a value for the AWS_PROFILE environment variable. Setting a profile on a client in code only affects the single client instance, unlike AWS_PROFILE.

When set, and only for environments where an AWS configuration file exists, fields configurable by this file will be retrieved from the specified profile within that file. Conflicting code configuration and environment variables will still have higher priority.

For client credential resolution that involves checking the AWS configuration file, the client's profile (this value) will be used unless a different profile is set in the credential provider options.

protocol?: ClientProtocol<any, any> | $ClientProtocol<any, any> | ClientProtocolCtor<any, any> | $ClientProtocolCtor<any, any>

A client request/response protocol or constructor of one. A protocol in this context is not e.g. https. It is the combined implementation of how to (de)serialize and create the messages (e.g. http requests/responses) that are being exchanged.

region?: string | Provider<string>

The AWS region to which this client will send requests

requestHandler?: HttpHandlerUserInput

The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.

retryMode?: string | Provider<string>

Specifies which retry algorithm to use.

useDualstackEndpoint?: boolean | Provider<boolean>

Enables IPv6/IPv4 dualstack endpoint.

useFipsEndpoint?: boolean | Provider<boolean>

Enables FIPS compatible endpoints.