Option determining how certain default configuration options are resolved in the SDK. It can be one of the value listed below:
"standard"
: The STANDARD mode provides the latest recommended default values that should be safe to run in most scenarios
Note that the default values vended from this mode might change as best practices may evolve. As a result, it is encouraged to perform tests when upgrading the SDK
"in-region"
: The IN_REGION mode builds on the standard mode and includes optimization tailored for applications which call AWS services from within the same AWS region
Note that the default values vended from this mode might change as best practices may evolve. As a result, it is encouraged to perform tests when upgrading the SDK
"cross-region"
: The CROSS_REGION mode builds on the standard mode and includes optimization tailored for applications which call AWS services in a different region
Note that the default values vended from this mode might change as best practices may evolve. As a result, it is encouraged to perform tests when upgrading the SDK
"mobile"
: The MOBILE mode builds on the standard mode and includes optimization tailored for mobile applications
Note that the default values vended from this mode might change as best practices may evolve. As a result, it is encouraged to perform tests when upgrading the SDK
"auto"
: The AUTO mode is an experimental mode that builds on the standard mode. The SDK will attempt to discover the execution environment to determine the appropriate settings automatically.
Note that the auto detection is heuristics-based and does not guarantee 100% accuracy. STANDARD mode will be used if the execution environment cannot be determined. The auto detection might query EC2 Instance Metadata service, which might introduce latency. Therefore we recommend choosing an explicit defaults_mode instead if startup latency is critical to your application
"legacy"
: The LEGACY mode provides default settings that vary per SDK and were used prior to establishment of defaults_mode
The type of the exception class constructor parameter. The returned type contains the properties
in the ExceptionType
but not in the BaseExceptionType
. If the BaseExceptionType
contains
$metadata
property, it's also included in the returned type.
Filter is considered passed if
Supplies the filter check but not against any value as input.
An instruction set for assigning a value to a target object.
A set of instructions for multiple keys. The aim is to provide a concise yet readable way to map and filter values onto a target object.
non-array
A non-function value.
Filter check with the given value.
Supplies the value for lazy evaluation.
Because of https://github.com/microsoft/tslib/issues/95, TS 'extends' shim doesn't support extending native types like String. So here we create StringWrapper that duplicate everything from String class including its prototype chain. So we can extend from here.
Adjusts the year value found in RFC 850 dates according to the rules expressed in RFC7231, which state:
Recipients of a timestamp value in rfc850-date format, which uses a two-digit year, MUST interpret a timestamp that appears to be more than 50 years in the future as representing the most recent year in the past that had the same last two digits.
a Date that assumes the two-digit year was in the future
a Date that is in the past if input is > 50 years in the future
Build a date from a numeric year, month, date, and an match with named groups "H", "m", s", and "frac", representing hours, minutes, seconds, and optional fractional seconds.
numeric year
numeric month, 1-indexed
numeric year
Convert a regular object { k: v } to { k: [, v] } mapping instruction set with default filter.
Builds a proper UTC HttpDate timestamp from a Date object since not all environments will have this as the expected format.
See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString
Prior to ECMAScript 2018, the format of the return value varied according to the platform. The most common return value was an RFC-1123 formatted date stamp, which is a slightly updated version of RFC-822 date stamps.
This method inject unmodeled member to a deserialized SDK exception, and load the error message from different possible keys('message', 'Message').
Emits warning if the provided Node.js version string is pending deprecation.
The Node.js version string.
Asserts a value is an 8-bit integer and returns it.
A value that is expected to be an integer.
The value if it's an integer, undefined if it's null/undefined, otherwise an error is thrown.
Asserts a value is a 32-bit float and returns it.
A value that is expected to be a 32-bit float.
The value if it's a float, undefined if it's null/undefined, otherwise an error is thrown.
Asserts a value is a 32-bit integer and returns it.
A value that is expected to be an integer.
The value if it's an integer, undefined if it's null/undefined, otherwise an error is thrown.
Asserts a value is an integer and returns it.
A value that is expected to be an integer.
The value if it's an integer, undefined if it's null/undefined, otherwise an error is thrown.
Asserts a value is not null or undefined and returns it, or throws an error.
A value that is expected to be defined
The location where we're expecting to find a defined object (optional)
The value if it's not undefined, otherwise throws an error
Asserts a value is a number and returns it.
A value that is expected to be a number.
The value if it's a number, undefined if it's null/undefined, otherwise an error is thrown.
Asserts a value is an JSON-like object and returns it. This is expected to be used with values parsed from JSON (arrays, objects, numbers, strings, booleans).
A value that is expected to be an object
The value if it's an object, undefined if it's null/undefined, otherwise an error is thrown.
Asserts a value is a 16-bit integer and returns it.
A value that is expected to be an integer.
The value if it's an integer, undefined if it's null/undefined, otherwise an error is thrown.
Asserts a value is a string and returns it.
A value that is expected to be a string.
The value if it's a string, undefined if it's null/undefined, otherwise an error is thrown.
Asserts a value is a JSON-like object with only one non-null/non-undefined key and returns it.
A value that is expected to be an object with exactly one non-null, non-undefined key.
the value if it's a union, undefined if it's null/undefined, otherwise an error is thrown.
Function that wraps encodeURIComponent to encode additional characters to fully adhere to RFC 3986.
The XML parser will set one K:V for a member that could return multiple entries but only has one.
Recursively parses object and populates value is node from "#text" key if it's available
Asserts a value is a number and returns it. If the value is a string representation of a non-numeric number type (NaN, Infinity, -Infinity), the value will be parsed. Any other string value will result in an exception being thrown. Null or undefined will be returned as undefined. Any other type will result in an exception being thrown.
A number or string representation of a non-numeric float.
The value as a number, or undefined if it's null/undefined.
Asserts a value is a 32-bit float and returns it. If the value is a string representation of a non-numeric number type (NaN, Infinity, -Infinity), the value will be parsed. Any other string value will result in an exception being thrown. Null or undefined will be returned as undefined. Any other type will result in an exception being thrown.
A number or string representation of a non-numeric float.
The value as a number, or undefined if it's null/undefined.
Internal/Private, for codegen use only.
Transfer a set of keys from [instructions] to [target].
For each instruction in the record, the target key will be the instruction key. The target assignment will be conditional on the instruction's filter. The target assigned value will be supplied by the instructions as an evaluable function or non-function value.
Private, for codegen use only.
target object.
uniform filter function to apply to all values
map of keys and values/suppliers (will be evaluated)
Give an input string, strictly parses a boolean value.
The boolean string to parse.
true for "true", false for "false", otherwise an error is thrown.
Parses a value into a Date. Returns undefined if the input is null or undefined, throws an error if the input is not a number or a parseable string.
Input strings must be an integer or floating point number. Fractional seconds are supported.
the value to parse
a Date or undefined
Parses a value into a Date. Returns undefined if the input is null or undefined, throws an error if the input is not a string that can be parsed as an RFC 3339 date.
Input strings must conform to RFC3339 section 5.6, and cannot have a UTC offset. Fractional precision is supported.
{@see https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14}
the value to parse
a Date or undefined
Parses a value into a Date. Returns undefined if the input is null or undefined, throws an error if the input is not a string that can be parsed as an RFC 7231 IMF-fixdate or obs-date.
Input strings must conform to RFC7231 section 7.1.1.1. Fractional seconds are supported.
{@see https://datatracker.ietf.org/doc/html/rfc7231.html#section-7.1.1.1}
the value to parse
a Date or undefined
RFC 850 dates use a 2-digit year; start with the assumption that if it doesn't match the current year, then it's a date in the future, then let adjustRfc850Year adjust the final date back to the past if it's too far in the future.
Example: in 2021, start with the assumption that '11' is '2111', and that '22' is '2022'. adjustRfc850Year will adjust '11' to 2011, (as 2111 is more than 50 years in the future), but keep '22' as 2022. in 2099, '11' will represent '2111', but '98' should be '2098'. There's no description of an RFC 850 date being considered too far in the past in RFC-7231, so it's entirely possible that 2011 is a valid interpretation of '11' in 2099.
the 2 digit year to parse
number a year that is equal to or greater than the current UTC year
Serializes a number, turning non-numeric values into strings.
The number to serialize.
A number, or a string if the given number was non-numeric.
Given an input string, splits based on the delimiter after a given number of delimiters has been encountered.
The input string to split.
The delimiter to split on.
The number of delimiters to have encountered to split.
Parses a value into an 8-bit integer. If the value is null or undefined, undefined will be returned. If the value is a string, it will be parsed by parseFloat and the result will be asserted to be an integer. If the parsed value is not an integer, or the raw value is any type other than a string or number, an exception will be thrown.
A number or string representation of an 8-bit integer.
The value as a number, or undefined if it's null/undefined.
Parses a value into a double. If the value is null or undefined, undefined will be returned. If the value is a string, it will be parsed by the standard parseFloat with one exception: NaN may only be explicitly set as the string "NaN", any implicit Nan values will result in an error being thrown. If any other type is provided, an exception will be thrown.
A number or string representation of a double.
The value as a number, or undefined if it's null/undefined.
Parses a value into a float. If the value is null or undefined, undefined will be returned. If the value is a string, it will be parsed by the standard parseFloat with one exception: NaN may only be explicitly set as the string "NaN", any implicit Nan values will result in an error being thrown. If any other type is provided, an exception will be thrown.
A number or string representation of a float.
The value as a number, or undefined if it's null/undefined.
Parses a value into a 32-bit integer. If the value is null or undefined, undefined will be returned. If the value is a string, it will be parsed by parseFloat and the result will be asserted to be an integer. If the parsed value is not an integer, or the raw value is any type other than a string or number, an exception will be thrown.
A number or string representation of a 32-bit integer.
The value as a number, or undefined if it's null/undefined.
Parses a value into an integer. If the value is null or undefined, undefined will be returned. If the value is a string, it will be parsed by parseFloat and the result will be asserted to be an integer. If the parsed value is not an integer, or the raw value is any type other than a string or number, an exception will be thrown.
A number or string representation of an integer.
The value as a number, or undefined if it's null/undefined.
Parses a value into a 16-bit integer. If the value is null or undefined, undefined will be returned. If the value is a string, it will be parsed by parseFloat and the result will be asserted to be an integer. If the parsed value is not an integer, or the raw value is any type other than a string or number, an exception will be thrown.
A number or string representation of a 16-bit integer.
The value as a number, or undefined if it's null/undefined.
Always throws an error with the given {@param exceptionCtor} and other arguments. This is only called from an error handling code path.
Validate the day is valid for the given month.
the year
the month (0-indexed)
the day of the month
@aws-sdk/smithy-client
Usage
You probably shouldn't, at least directly.