@aws-sdk/client-s3-control 3.489.0 → 3.491.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-cjs/S3ControlClient.js +18 -5
- package/dist-cjs/auth/httpAuthExtensionConfiguration.js +43 -0
- package/dist-cjs/auth/httpAuthSchemeProvider.js +47 -0
- package/dist-cjs/endpoint/ruleset.js +3 -3
- package/dist-cjs/runtimeConfig.shared.js +10 -0
- package/dist-cjs/runtimeExtensions.js +3 -0
- package/dist-es/S3ControlClient.js +18 -5
- package/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
- package/dist-es/auth/httpAuthSchemeProvider.js +41 -0
- package/dist-es/endpoint/ruleset.js +3 -3
- package/dist-es/runtimeConfig.shared.js +10 -0
- package/dist-es/runtimeExtensions.js +3 -0
- package/dist-types/S3ControlClient.d.ts +13 -11
- package/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
- package/dist-types/auth/httpAuthSchemeProvider.d.ts +61 -0
- package/dist-types/extensionConfiguration.d.ts +2 -1
- package/dist-types/runtimeConfig.browser.d.ts +6 -4
- package/dist-types/runtimeConfig.d.ts +6 -4
- package/dist-types/runtimeConfig.native.d.ts +7 -5
- package/dist-types/runtimeConfig.shared.d.ts +2 -0
- package/dist-types/ts3.4/S3ControlClient.d.ts +11 -9
- package/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
- package/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +44 -0
- package/dist-types/ts3.4/extensionConfiguration.d.ts +3 -1
- package/dist-types/ts3.4/runtimeConfig.browser.d.ts +9 -9
- package/dist-types/ts3.4/runtimeConfig.d.ts +9 -9
- package/dist-types/ts3.4/runtimeConfig.native.d.ts +12 -12
- package/dist-types/ts3.4/runtimeConfig.shared.d.ts +2 -0
- package/package.json +5 -5
|
@@ -5,14 +5,15 @@ const middleware_host_header_1 = require("@aws-sdk/middleware-host-header");
|
|
|
5
5
|
const middleware_logger_1 = require("@aws-sdk/middleware-logger");
|
|
6
6
|
const middleware_recursion_detection_1 = require("@aws-sdk/middleware-recursion-detection");
|
|
7
7
|
const middleware_sdk_s3_control_1 = require("@aws-sdk/middleware-sdk-s3-control");
|
|
8
|
-
const middleware_signing_1 = require("@aws-sdk/middleware-signing");
|
|
9
8
|
const middleware_user_agent_1 = require("@aws-sdk/middleware-user-agent");
|
|
10
9
|
const config_resolver_1 = require("@smithy/config-resolver");
|
|
10
|
+
const core_1 = require("@smithy/core");
|
|
11
11
|
const middleware_content_length_1 = require("@smithy/middleware-content-length");
|
|
12
12
|
const middleware_endpoint_1 = require("@smithy/middleware-endpoint");
|
|
13
13
|
const middleware_retry_1 = require("@smithy/middleware-retry");
|
|
14
14
|
const smithy_client_1 = require("@smithy/smithy-client");
|
|
15
15
|
Object.defineProperty(exports, "__Client", { enumerable: true, get: function () { return smithy_client_1.Client; } });
|
|
16
|
+
const httpAuthSchemeProvider_1 = require("./auth/httpAuthSchemeProvider");
|
|
16
17
|
const EndpointParameters_1 = require("./endpoint/EndpointParameters");
|
|
17
18
|
const runtimeConfig_1 = require("./runtimeConfig");
|
|
18
19
|
const runtimeExtensions_1 = require("./runtimeExtensions");
|
|
@@ -24,9 +25,9 @@ class S3ControlClient extends smithy_client_1.Client {
|
|
|
24
25
|
const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2);
|
|
25
26
|
const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3);
|
|
26
27
|
const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);
|
|
27
|
-
const _config_6 = (0,
|
|
28
|
-
const _config_7 = (0,
|
|
29
|
-
const _config_8 = (0,
|
|
28
|
+
const _config_6 = (0, middleware_sdk_s3_control_1.resolveS3ControlConfig)(_config_5);
|
|
29
|
+
const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6);
|
|
30
|
+
const _config_8 = (0, httpAuthSchemeProvider_1.resolveHttpAuthSchemeConfig)(_config_7);
|
|
30
31
|
const _config_9 = (0, runtimeExtensions_1.resolveRuntimeExtensions)(_config_8, configuration?.extensions || []);
|
|
31
32
|
super(_config_9);
|
|
32
33
|
this.config = _config_9;
|
|
@@ -35,12 +36,24 @@ class S3ControlClient extends smithy_client_1.Client {
|
|
|
35
36
|
this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));
|
|
36
37
|
this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));
|
|
37
38
|
this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));
|
|
38
|
-
this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(this.config));
|
|
39
39
|
this.middlewareStack.use((0, middleware_sdk_s3_control_1.getHostPrefixDeduplicationPlugin)(this.config));
|
|
40
40
|
this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));
|
|
41
|
+
this.middlewareStack.use((0, core_1.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, {
|
|
42
|
+
httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
|
|
43
|
+
identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),
|
|
44
|
+
}));
|
|
45
|
+
this.middlewareStack.use((0, core_1.getHttpSigningPlugin)(this.config));
|
|
41
46
|
}
|
|
42
47
|
destroy() {
|
|
43
48
|
super.destroy();
|
|
44
49
|
}
|
|
50
|
+
getDefaultHttpAuthSchemeParametersProvider() {
|
|
51
|
+
return httpAuthSchemeProvider_1.defaultS3ControlHttpAuthSchemeParametersProvider;
|
|
52
|
+
}
|
|
53
|
+
getIdentityProviderConfigProvider() {
|
|
54
|
+
return async (config) => new core_1.DefaultIdentityProviderConfig({
|
|
55
|
+
"aws.auth#sigv4": config.credentials,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
45
58
|
}
|
|
46
59
|
exports.S3ControlClient = S3ControlClient;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveHttpAuthRuntimeConfig = exports.getHttpAuthExtensionConfiguration = void 0;
|
|
4
|
+
const getHttpAuthExtensionConfiguration = (runtimeConfig) => {
|
|
5
|
+
const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
|
|
6
|
+
let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
|
|
7
|
+
let _credentials = runtimeConfig.credentials;
|
|
8
|
+
return {
|
|
9
|
+
setHttpAuthScheme(httpAuthScheme) {
|
|
10
|
+
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
|
|
11
|
+
if (index === -1) {
|
|
12
|
+
_httpAuthSchemes.push(httpAuthScheme);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
_httpAuthSchemes.splice(index, 1, httpAuthScheme);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
httpAuthSchemes() {
|
|
19
|
+
return _httpAuthSchemes;
|
|
20
|
+
},
|
|
21
|
+
setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
|
|
22
|
+
_httpAuthSchemeProvider = httpAuthSchemeProvider;
|
|
23
|
+
},
|
|
24
|
+
httpAuthSchemeProvider() {
|
|
25
|
+
return _httpAuthSchemeProvider;
|
|
26
|
+
},
|
|
27
|
+
setCredentials(credentials) {
|
|
28
|
+
_credentials = credentials;
|
|
29
|
+
},
|
|
30
|
+
credentials() {
|
|
31
|
+
return _credentials;
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
exports.getHttpAuthExtensionConfiguration = getHttpAuthExtensionConfiguration;
|
|
36
|
+
const resolveHttpAuthRuntimeConfig = (config) => {
|
|
37
|
+
return {
|
|
38
|
+
httpAuthSchemes: config.httpAuthSchemes(),
|
|
39
|
+
httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
|
|
40
|
+
credentials: config.credentials(),
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
exports.resolveHttpAuthRuntimeConfig = resolveHttpAuthRuntimeConfig;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveHttpAuthSchemeConfig = exports.defaultS3ControlHttpAuthSchemeProvider = exports.defaultS3ControlHttpAuthSchemeParametersProvider = void 0;
|
|
4
|
+
const core_1 = require("@aws-sdk/core");
|
|
5
|
+
const util_middleware_1 = require("@smithy/util-middleware");
|
|
6
|
+
const defaultS3ControlHttpAuthSchemeParametersProvider = async (config, context, input) => {
|
|
7
|
+
return {
|
|
8
|
+
operation: (0, util_middleware_1.getSmithyContext)(context).operation,
|
|
9
|
+
region: (await (0, util_middleware_1.normalizeProvider)(config.region)()) ||
|
|
10
|
+
(() => {
|
|
11
|
+
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
|
|
12
|
+
})(),
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
exports.defaultS3ControlHttpAuthSchemeParametersProvider = defaultS3ControlHttpAuthSchemeParametersProvider;
|
|
16
|
+
function createAwsAuthSigv4HttpAuthOption(authParameters) {
|
|
17
|
+
return {
|
|
18
|
+
schemeId: "aws.auth#sigv4",
|
|
19
|
+
signingProperties: {
|
|
20
|
+
name: "s3",
|
|
21
|
+
region: authParameters.region,
|
|
22
|
+
},
|
|
23
|
+
propertiesExtractor: (config, context) => ({
|
|
24
|
+
signingProperties: {
|
|
25
|
+
config,
|
|
26
|
+
context,
|
|
27
|
+
},
|
|
28
|
+
}),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const defaultS3ControlHttpAuthSchemeProvider = (authParameters) => {
|
|
32
|
+
const options = [];
|
|
33
|
+
switch (authParameters.operation) {
|
|
34
|
+
default: {
|
|
35
|
+
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return options;
|
|
39
|
+
};
|
|
40
|
+
exports.defaultS3ControlHttpAuthSchemeProvider = defaultS3ControlHttpAuthSchemeProvider;
|
|
41
|
+
const resolveHttpAuthSchemeConfig = (config) => {
|
|
42
|
+
const config_0 = (0, core_1.resolveAwsSdkSigV4Config)(config);
|
|
43
|
+
return {
|
|
44
|
+
...config_0,
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ruleSet = void 0;
|
|
4
|
-
const
|
|
5
|
-
const a = false, b = true, c = "isSet", d = "stringEquals", e = "aws.partition", f = "error", g = "{Region}", h = "endpoint", i = "tree", j = "getAttr", k = "not", l = "isValidHostLabel", m = "{url#scheme}://{url#authority}{url#path}",
|
|
6
|
-
const _data = { version: "1.0", parameters: { Region:
|
|
4
|
+
const aF = "required", aG = "type", aH = "conditions", aI = "fn", aJ = "argv", aK = "ref", aL = "assign", aM = "authSchemes", aN = "disableDoubleEncoding", aO = "name", aP = "signingName", aQ = "signingRegion", aR = "x-amz-account-id", aS = "x-amz-outpost-id";
|
|
5
|
+
const a = false, b = true, c = "isSet", d = "stringEquals", e = "aws.partition", f = "error", g = "{Region}", h = "endpoint", i = "tree", j = "getAttr", k = "not", l = "isValidHostLabel", m = "Invalid Configuration: DualStack and custom endpoint are not supported", n = "{url#scheme}://{url#authority}{url#path}", o = "s3-outposts", p = "aws.parseArn", q = "accessPointArn", r = "resourceId[0]", s = "arnType", t = "service", u = "resourceId[1]", v = "outpostId", w = "arnPartition", x = "{accessPointArn#accountId}", y = "resourceId[2]", z = "outpostType", A = "resourceId[3]", B = "bucketArn", C = "{bucketArn#accountId}", D = { [aF]: false, [aG]: "String" }, E = { [aF]: true, "default": false, [aG]: "Boolean" }, F = { [aF]: false, [aG]: "Boolean" }, G = { [aK]: "Region" }, H = { [aI]: c, [aJ]: [{ [aK]: "Endpoint" }] }, I = { [aI]: "parseURL", [aJ]: [{ [aK]: "Endpoint" }], [aL]: "url" }, J = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "UseDualStack" }, true] }, K = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "UseFIPS" }, true] }, L = { [aM]: [{ [aN]: true, [aO]: "sigv4", [aP]: "s3", [aQ]: g }] }, M = {}, N = { [aK]: "OutpostId" }, O = { [aH]: [K, { [aI]: d, [aJ]: [{ [aI]: j, [aJ]: [{ [aK]: "partitionResult" }, "name"] }, "aws-cn"] }], [f]: "Partition does not support FIPS", [aG]: f }, P = { [aH]: [{ [aI]: c, [aJ]: [{ [aK]: "RequiresAccountId" }] }, { [aI]: "booleanEquals", [aJ]: [{ [aK]: "RequiresAccountId" }, true] }, { [aI]: k, [aJ]: [{ [aI]: c, [aJ]: [{ [aK]: "AccountId" }] }] }], [f]: "AccountId is required but not set", [aG]: f }, Q = { [aI]: c, [aJ]: [{ [aK]: "RequiresAccountId" }] }, R = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "RequiresAccountId" }, true] }, S = { [aI]: c, [aJ]: [{ [aK]: "AccountId" }] }, T = { [aK]: "AccountId" }, U = { [aH]: [S, { [aI]: k, [aJ]: [{ [aI]: l, [aJ]: [T, false] }] }], [f]: "AccountId must only contain a-z, A-Z, 0-9 and `-`.", [aG]: f }, V = { [aH]: [H, J], [f]: m, [aG]: f }, W = { [aM]: [{ [aN]: true, [aO]: "sigv4", [aP]: o, [aQ]: g }] }, X = { [f]: "Invalid region: region was not a valid DNS name.", [aG]: f }, Y = { [aK]: q }, Z = { [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [{ [aK]: s }, ""] }] }, aa = { [aI]: c, [aJ]: [{ [aK]: "UseArnRegion" }] }, ab = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "UseArnRegion" }, false] }, ac = { [aI]: j, [aJ]: [Y, "region"] }, ad = { [aI]: j, [aJ]: [Y, "accountId"] }, ae = { [aK]: z }, af = { [aM]: [{ [aN]: true, [aO]: "sigv4", [aP]: o, [aQ]: "{accessPointArn#region}" }] }, ag = { [aR]: [x], [aS]: ["{outpostId}"] }, ah = { [f]: "Invalid ARN: Expected a 4-component resource", [aG]: f }, ai = { [f]: "Invalid ARN: missing account ID", [aG]: f }, aj = { [f]: "Client was configured for partition `{partitionResult#name}` but ARN has `{arnPartition#name}`", [aG]: f }, ak = { [f]: "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`., found: `{outpostId}`", [aG]: f }, al = { [f]: "Invalid ARN: The Outpost Id was not set", [aG]: f }, am = { [f]: "Invalid ARN: No ARN type specified", [aG]: f }, an = { [aK]: B }, ao = { [aI]: j, [aJ]: [an, "region"] }, ap = { [aI]: j, [aJ]: [an, "accountId"] }, aq = { [aM]: [{ [aN]: true, [aO]: "sigv4", [aP]: o, [aQ]: "{bucketArn#region}" }] }, ar = { [aR]: [C], [aS]: ["{outpostId}"] }, as = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "UseDualStack" }, false] }, at = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "UseFIPS" }, false] }, au = [G], av = [{ [aI]: e, [aJ]: [G], [aL]: "partitionResult" }], aw = [J], ax = [K], ay = [{ [aI]: l, [aJ]: [G, true] }], az = [H, I], aA = [K, J], aB = [{ [aK]: "AccessPointName" }], aC = [{ [aI]: l, [aJ]: [{ [aK]: v }, false] }], aD = [{ [aI]: d, [aJ]: [{ [aI]: j, [aJ]: [{ [aK]: w }, "name"] }, { [aI]: j, [aJ]: [{ [aK]: "partitionResult" }, "name"] }] }], aE = [{ [aK]: "Bucket" }];
|
|
6
|
+
const _data = { version: "1.0", parameters: { Region: D, UseFIPS: E, UseDualStack: E, Endpoint: D, AccountId: D, RequiresAccountId: F, OutpostId: D, Bucket: D, AccessPointName: D, UseArnRegion: F }, rules: [{ [aH]: [{ [aI]: c, [aJ]: au }], rules: [{ [aH]: [{ [aI]: d, [aJ]: [G, "snow"] }, H, I], rules: [{ [aH]: av, rules: [{ [aH]: aw, error: "S3 Snow does not support DualStack", [aG]: f }, { [aH]: ax, error: "S3 Snow does not support FIPS", [aG]: f }, { endpoint: { url: "{url#scheme}://{url#authority}", properties: L, headers: M }, [aG]: h }], [aG]: i }], [aG]: i }, { [aH]: [{ [aI]: c, [aJ]: [N] }], rules: [{ [aH]: av, rules: [O, P, U, { [aH]: [{ [aI]: k, [aJ]: [{ [aI]: l, [aJ]: [N, a] }] }], error: "OutpostId must only contain a-z, A-Z, 0-9 and `-`.", [aG]: f }, V, { [aH]: ay, rules: [{ [aH]: az, endpoint: { url: n, properties: W, headers: M }, [aG]: h }, { [aH]: aA, endpoint: { url: "https://s3-outposts-fips.{Region}.{partitionResult#dualStackDnsSuffix}", properties: W, headers: M }, [aG]: h }, { [aH]: ax, endpoint: { url: "https://s3-outposts-fips.{Region}.{partitionResult#dnsSuffix}", properties: W, headers: M }, [aG]: h }, { [aH]: aw, endpoint: { url: "https://s3-outposts.{Region}.{partitionResult#dualStackDnsSuffix}", properties: W, headers: M }, [aG]: h }, { endpoint: { url: "https://s3-outposts.{Region}.{partitionResult#dnsSuffix}", properties: W, headers: M }, [aG]: h }], [aG]: i }, X], [aG]: i }], [aG]: i }, { [aH]: [{ [aI]: c, [aJ]: aB }, { [aI]: p, [aJ]: aB, [aL]: q }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [Y, r], [aL]: s }, Z], rules: [{ [aH]: [{ [aI]: d, [aJ]: [{ [aI]: j, [aJ]: [Y, t] }, o] }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [Y, u], [aL]: v }], rules: [{ [aH]: aC, rules: [V, { [aH]: [aa, ab, { [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [ac, g] }] }], error: "Invalid configuration: region from ARN `{accessPointArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", [aG]: f }, { [aH]: av, rules: [{ [aH]: [{ [aI]: e, [aJ]: [ac], [aL]: w }], rules: [{ [aH]: aD, rules: [{ [aH]: [{ [aI]: l, [aJ]: [ac, b] }], rules: [{ [aH]: [{ [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [ad, ""] }] }], rules: [{ [aH]: [{ [aI]: l, [aJ]: [ad, a] }], rules: [{ [aH]: [S, { [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [T, x] }] }], error: "Invalid ARN: the accountId specified in the ARN (`{accessPointArn#accountId}`) does not match the parameter (`{AccountId}`)", [aG]: f }, { [aH]: [{ [aI]: j, [aJ]: [Y, y], [aL]: z }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [Y, A], [aL]: "accessPointName" }], rules: [{ [aH]: [{ [aI]: d, [aJ]: [ae, "accesspoint"] }], rules: [{ [aH]: aA, endpoint: { url: "https://s3-outposts-fips.{accessPointArn#region}.{arnPartition#dualStackDnsSuffix}", properties: af, headers: ag }, [aG]: h }, { [aH]: ax, endpoint: { url: "https://s3-outposts-fips.{accessPointArn#region}.{arnPartition#dnsSuffix}", properties: af, headers: ag }, [aG]: h }, { [aH]: aw, endpoint: { url: "https://s3-outposts.{accessPointArn#region}.{arnPartition#dualStackDnsSuffix}", properties: af, headers: ag }, [aG]: h }, { [aH]: az, endpoint: { url: n, properties: af, headers: ag }, [aG]: h }, { endpoint: { url: "https://s3-outposts.{accessPointArn#region}.{arnPartition#dnsSuffix}", properties: af, headers: ag }, [aG]: h }], [aG]: i }, { error: "Expected an outpost type `accesspoint`, found `{outpostType}`", [aG]: f }], [aG]: i }, { error: "Invalid ARN: expected an access point name", [aG]: f }], [aG]: i }, ah], [aG]: i }, { error: "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointArn#accountId}`", [aG]: f }], [aG]: i }, ai], [aG]: i }, { error: "Invalid region in ARN: `{accessPointArn#region}` (invalid DNS name)", [aG]: f }], [aG]: i }, aj], [aG]: i }], [aG]: i }], [aG]: i }, ak], [aG]: i }, al], [aG]: i }], [aG]: i }, am], [aG]: i }, { [aH]: [{ [aI]: c, [aJ]: aE }, { [aI]: p, [aJ]: aE, [aL]: B }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [an, r], [aL]: s }, Z], rules: [{ [aH]: [{ [aI]: d, [aJ]: [{ [aI]: j, [aJ]: [an, t] }, o] }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [an, u], [aL]: v }], rules: [{ [aH]: aC, rules: [V, { [aH]: [aa, ab, { [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [ao, g] }] }], error: "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", [aG]: f }, { [aH]: [{ [aI]: e, [aJ]: [ao], [aL]: w }], rules: [{ [aH]: av, rules: [{ [aH]: aD, rules: [{ [aH]: [{ [aI]: l, [aJ]: [ao, b] }], rules: [{ [aH]: [{ [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [ap, ""] }] }], rules: [{ [aH]: [{ [aI]: l, [aJ]: [ap, a] }], rules: [{ [aH]: [S, { [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [T, C] }] }], error: "Invalid ARN: the accountId specified in the ARN (`{bucketArn#accountId}`) does not match the parameter (`{AccountId}`)", [aG]: f }, { [aH]: [{ [aI]: j, [aJ]: [an, y], [aL]: z }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [an, A], [aL]: "bucketName" }], rules: [{ [aH]: [{ [aI]: d, [aJ]: [ae, "bucket"] }], rules: [{ [aH]: aA, endpoint: { url: "https://s3-outposts-fips.{bucketArn#region}.{arnPartition#dualStackDnsSuffix}", properties: aq, headers: ar }, [aG]: h }, { [aH]: ax, endpoint: { url: "https://s3-outposts-fips.{bucketArn#region}.{arnPartition#dnsSuffix}", properties: aq, headers: ar }, [aG]: h }, { [aH]: aw, endpoint: { url: "https://s3-outposts.{bucketArn#region}.{arnPartition#dualStackDnsSuffix}", properties: aq, headers: ar }, [aG]: h }, { [aH]: az, endpoint: { url: n, properties: aq, headers: ar }, [aG]: h }, { endpoint: { url: "https://s3-outposts.{bucketArn#region}.{arnPartition#dnsSuffix}", properties: aq, headers: ar }, [aG]: h }], [aG]: i }, { error: "Invalid ARN: Expected an outpost type `bucket`, found `{outpostType}`", [aG]: f }], [aG]: i }, { error: "Invalid ARN: expected a bucket name", [aG]: f }], [aG]: i }, ah], [aG]: i }, { error: "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", [aG]: f }], [aG]: i }, ai], [aG]: i }, { error: "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", [aG]: f }], [aG]: i }, aj], [aG]: i }], [aG]: i }], [aG]: i }, ak], [aG]: i }, al], [aG]: i }], [aG]: i }, am], [aG]: i }, { [aH]: av, rules: [{ [aH]: ay, rules: [O, P, U, { [aH]: az, rules: [{ [aH]: aw, error: m, [aG]: f }, { [aH]: [Q, R, S], endpoint: { url: "{url#scheme}://{AccountId}.{url#authority}{url#path}", properties: L, headers: M }, [aG]: h }, { endpoint: { url: n, properties: L, headers: M }, [aG]: h }], [aG]: i }, { [aH]: [K, J, Q, R, S], endpoint: { url: "https://{AccountId}.s3-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: aA, endpoint: { url: "https://s3-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [K, as, Q, R, S], endpoint: { url: "https://{AccountId}.s3-control-fips.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [K, as], endpoint: { url: "https://s3-control-fips.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [at, J, Q, R, S], endpoint: { url: "https://{AccountId}.s3-control.dualstack.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [at, J], endpoint: { url: "https://s3-control.dualstack.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [at, as, Q, R, S], endpoint: { url: "https://{AccountId}.s3-control.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [at, as], endpoint: { url: "https://s3-control.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }], [aG]: i }, X], [aG]: i }], [aG]: i }, { error: "Region must be set", [aG]: f }] };
|
|
7
7
|
exports.ruleSet = _data;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getRuntimeConfig = void 0;
|
|
4
|
+
const core_1 = require("@aws-sdk/core");
|
|
4
5
|
const smithy_client_1 = require("@smithy/smithy-client");
|
|
5
6
|
const url_parser_1 = require("@smithy/url-parser");
|
|
6
7
|
const util_base64_1 = require("@smithy/util-base64");
|
|
7
8
|
const util_utf8_1 = require("@smithy/util-utf8");
|
|
9
|
+
const httpAuthSchemeProvider_1 = require("./auth/httpAuthSchemeProvider");
|
|
8
10
|
const endpointResolver_1 = require("./endpoint/endpointResolver");
|
|
9
11
|
const getRuntimeConfig = (config) => {
|
|
10
12
|
return {
|
|
@@ -14,6 +16,14 @@ const getRuntimeConfig = (config) => {
|
|
|
14
16
|
disableHostPrefix: config?.disableHostPrefix ?? false,
|
|
15
17
|
endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
|
|
16
18
|
extensions: config?.extensions ?? [],
|
|
19
|
+
httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultS3ControlHttpAuthSchemeProvider,
|
|
20
|
+
httpAuthSchemes: config?.httpAuthSchemes ?? [
|
|
21
|
+
{
|
|
22
|
+
schemeId: "aws.auth#sigv4",
|
|
23
|
+
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
|
|
24
|
+
signer: new core_1.AwsSdkSigV4Signer(),
|
|
25
|
+
},
|
|
26
|
+
],
|
|
17
27
|
logger: config?.logger ?? new smithy_client_1.NoOpLogger(),
|
|
18
28
|
serviceId: config?.serviceId ?? "S3 Control",
|
|
19
29
|
signingEscapePath: config?.signingEscapePath ?? false,
|
|
@@ -4,12 +4,14 @@ exports.resolveRuntimeExtensions = void 0;
|
|
|
4
4
|
const region_config_resolver_1 = require("@aws-sdk/region-config-resolver");
|
|
5
5
|
const protocol_http_1 = require("@smithy/protocol-http");
|
|
6
6
|
const smithy_client_1 = require("@smithy/smithy-client");
|
|
7
|
+
const httpAuthExtensionConfiguration_1 = require("./auth/httpAuthExtensionConfiguration");
|
|
7
8
|
const asPartial = (t) => t;
|
|
8
9
|
const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
|
|
9
10
|
const extensionConfiguration = {
|
|
10
11
|
...asPartial((0, region_config_resolver_1.getAwsRegionExtensionConfiguration)(runtimeConfig)),
|
|
11
12
|
...asPartial((0, smithy_client_1.getDefaultExtensionConfiguration)(runtimeConfig)),
|
|
12
13
|
...asPartial((0, protocol_http_1.getHttpHandlerExtensionConfiguration)(runtimeConfig)),
|
|
14
|
+
...asPartial((0, httpAuthExtensionConfiguration_1.getHttpAuthExtensionConfiguration)(runtimeConfig)),
|
|
13
15
|
};
|
|
14
16
|
extensions.forEach((extension) => extension.configure(extensionConfiguration));
|
|
15
17
|
return {
|
|
@@ -17,6 +19,7 @@ const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
|
|
|
17
19
|
...(0, region_config_resolver_1.resolveAwsRegionExtensionConfiguration)(extensionConfiguration),
|
|
18
20
|
...(0, smithy_client_1.resolveDefaultRuntimeConfig)(extensionConfiguration),
|
|
19
21
|
...(0, protocol_http_1.resolveHttpHandlerRuntimeConfig)(extensionConfiguration),
|
|
22
|
+
...(0, httpAuthExtensionConfiguration_1.resolveHttpAuthRuntimeConfig)(extensionConfiguration),
|
|
20
23
|
};
|
|
21
24
|
};
|
|
22
25
|
exports.resolveRuntimeExtensions = resolveRuntimeExtensions;
|
|
@@ -2,13 +2,14 @@ import { getHostHeaderPlugin, resolveHostHeaderConfig, } from "@aws-sdk/middlewa
|
|
|
2
2
|
import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
|
|
3
3
|
import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
|
|
4
4
|
import { getHostPrefixDeduplicationPlugin, resolveS3ControlConfig, } from "@aws-sdk/middleware-sdk-s3-control";
|
|
5
|
-
import { getAwsAuthPlugin, resolveAwsAuthConfig, } from "@aws-sdk/middleware-signing";
|
|
6
5
|
import { getUserAgentPlugin, resolveUserAgentConfig, } from "@aws-sdk/middleware-user-agent";
|
|
7
6
|
import { resolveRegionConfig } from "@smithy/config-resolver";
|
|
7
|
+
import { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from "@smithy/core";
|
|
8
8
|
import { getContentLengthPlugin } from "@smithy/middleware-content-length";
|
|
9
9
|
import { resolveEndpointConfig } from "@smithy/middleware-endpoint";
|
|
10
10
|
import { getRetryPlugin, resolveRetryConfig } from "@smithy/middleware-retry";
|
|
11
11
|
import { Client as __Client, } from "@smithy/smithy-client";
|
|
12
|
+
import { defaultS3ControlHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider";
|
|
12
13
|
import { resolveClientEndpointParameters, } from "./endpoint/EndpointParameters";
|
|
13
14
|
import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
|
|
14
15
|
import { resolveRuntimeExtensions } from "./runtimeExtensions";
|
|
@@ -21,9 +22,9 @@ export class S3ControlClient extends __Client {
|
|
|
21
22
|
const _config_3 = resolveEndpointConfig(_config_2);
|
|
22
23
|
const _config_4 = resolveRetryConfig(_config_3);
|
|
23
24
|
const _config_5 = resolveHostHeaderConfig(_config_4);
|
|
24
|
-
const _config_6 =
|
|
25
|
-
const _config_7 =
|
|
26
|
-
const _config_8 =
|
|
25
|
+
const _config_6 = resolveS3ControlConfig(_config_5);
|
|
26
|
+
const _config_7 = resolveUserAgentConfig(_config_6);
|
|
27
|
+
const _config_8 = resolveHttpAuthSchemeConfig(_config_7);
|
|
27
28
|
const _config_9 = resolveRuntimeExtensions(_config_8, configuration?.extensions || []);
|
|
28
29
|
super(_config_9);
|
|
29
30
|
this.config = _config_9;
|
|
@@ -32,11 +33,23 @@ export class S3ControlClient extends __Client {
|
|
|
32
33
|
this.middlewareStack.use(getHostHeaderPlugin(this.config));
|
|
33
34
|
this.middlewareStack.use(getLoggerPlugin(this.config));
|
|
34
35
|
this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
|
|
35
|
-
this.middlewareStack.use(getAwsAuthPlugin(this.config));
|
|
36
36
|
this.middlewareStack.use(getHostPrefixDeduplicationPlugin(this.config));
|
|
37
37
|
this.middlewareStack.use(getUserAgentPlugin(this.config));
|
|
38
|
+
this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
|
|
39
|
+
httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
|
|
40
|
+
identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),
|
|
41
|
+
}));
|
|
42
|
+
this.middlewareStack.use(getHttpSigningPlugin(this.config));
|
|
38
43
|
}
|
|
39
44
|
destroy() {
|
|
40
45
|
super.destroy();
|
|
41
46
|
}
|
|
47
|
+
getDefaultHttpAuthSchemeParametersProvider() {
|
|
48
|
+
return defaultS3ControlHttpAuthSchemeParametersProvider;
|
|
49
|
+
}
|
|
50
|
+
getIdentityProviderConfigProvider() {
|
|
51
|
+
return async (config) => new DefaultIdentityProviderConfig({
|
|
52
|
+
"aws.auth#sigv4": config.credentials,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
42
55
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {
|
|
2
|
+
const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
|
|
3
|
+
let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
|
|
4
|
+
let _credentials = runtimeConfig.credentials;
|
|
5
|
+
return {
|
|
6
|
+
setHttpAuthScheme(httpAuthScheme) {
|
|
7
|
+
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
|
|
8
|
+
if (index === -1) {
|
|
9
|
+
_httpAuthSchemes.push(httpAuthScheme);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
_httpAuthSchemes.splice(index, 1, httpAuthScheme);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
httpAuthSchemes() {
|
|
16
|
+
return _httpAuthSchemes;
|
|
17
|
+
},
|
|
18
|
+
setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
|
|
19
|
+
_httpAuthSchemeProvider = httpAuthSchemeProvider;
|
|
20
|
+
},
|
|
21
|
+
httpAuthSchemeProvider() {
|
|
22
|
+
return _httpAuthSchemeProvider;
|
|
23
|
+
},
|
|
24
|
+
setCredentials(credentials) {
|
|
25
|
+
_credentials = credentials;
|
|
26
|
+
},
|
|
27
|
+
credentials() {
|
|
28
|
+
return _credentials;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export const resolveHttpAuthRuntimeConfig = (config) => {
|
|
33
|
+
return {
|
|
34
|
+
httpAuthSchemes: config.httpAuthSchemes(),
|
|
35
|
+
httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
|
|
36
|
+
credentials: config.credentials(),
|
|
37
|
+
};
|
|
38
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { resolveAwsSdkSigV4Config, } from "@aws-sdk/core";
|
|
2
|
+
import { getSmithyContext, normalizeProvider } from "@smithy/util-middleware";
|
|
3
|
+
export const defaultS3ControlHttpAuthSchemeParametersProvider = async (config, context, input) => {
|
|
4
|
+
return {
|
|
5
|
+
operation: getSmithyContext(context).operation,
|
|
6
|
+
region: (await normalizeProvider(config.region)()) ||
|
|
7
|
+
(() => {
|
|
8
|
+
throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
|
|
9
|
+
})(),
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
function createAwsAuthSigv4HttpAuthOption(authParameters) {
|
|
13
|
+
return {
|
|
14
|
+
schemeId: "aws.auth#sigv4",
|
|
15
|
+
signingProperties: {
|
|
16
|
+
name: "s3",
|
|
17
|
+
region: authParameters.region,
|
|
18
|
+
},
|
|
19
|
+
propertiesExtractor: (config, context) => ({
|
|
20
|
+
signingProperties: {
|
|
21
|
+
config,
|
|
22
|
+
context,
|
|
23
|
+
},
|
|
24
|
+
}),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export const defaultS3ControlHttpAuthSchemeProvider = (authParameters) => {
|
|
28
|
+
const options = [];
|
|
29
|
+
switch (authParameters.operation) {
|
|
30
|
+
default: {
|
|
31
|
+
options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return options;
|
|
35
|
+
};
|
|
36
|
+
export const resolveHttpAuthSchemeConfig = (config) => {
|
|
37
|
+
const config_0 = resolveAwsSdkSigV4Config(config);
|
|
38
|
+
return {
|
|
39
|
+
...config_0,
|
|
40
|
+
};
|
|
41
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
2
|
-
const a = false, b = true, c = "isSet", d = "stringEquals", e = "aws.partition", f = "error", g = "{Region}", h = "endpoint", i = "tree", j = "getAttr", k = "not", l = "isValidHostLabel", m = "{url#scheme}://{url#authority}{url#path}",
|
|
3
|
-
const _data = { version: "1.0", parameters: { Region:
|
|
1
|
+
const aF = "required", aG = "type", aH = "conditions", aI = "fn", aJ = "argv", aK = "ref", aL = "assign", aM = "authSchemes", aN = "disableDoubleEncoding", aO = "name", aP = "signingName", aQ = "signingRegion", aR = "x-amz-account-id", aS = "x-amz-outpost-id";
|
|
2
|
+
const a = false, b = true, c = "isSet", d = "stringEquals", e = "aws.partition", f = "error", g = "{Region}", h = "endpoint", i = "tree", j = "getAttr", k = "not", l = "isValidHostLabel", m = "Invalid Configuration: DualStack and custom endpoint are not supported", n = "{url#scheme}://{url#authority}{url#path}", o = "s3-outposts", p = "aws.parseArn", q = "accessPointArn", r = "resourceId[0]", s = "arnType", t = "service", u = "resourceId[1]", v = "outpostId", w = "arnPartition", x = "{accessPointArn#accountId}", y = "resourceId[2]", z = "outpostType", A = "resourceId[3]", B = "bucketArn", C = "{bucketArn#accountId}", D = { [aF]: false, [aG]: "String" }, E = { [aF]: true, "default": false, [aG]: "Boolean" }, F = { [aF]: false, [aG]: "Boolean" }, G = { [aK]: "Region" }, H = { [aI]: c, [aJ]: [{ [aK]: "Endpoint" }] }, I = { [aI]: "parseURL", [aJ]: [{ [aK]: "Endpoint" }], [aL]: "url" }, J = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "UseDualStack" }, true] }, K = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "UseFIPS" }, true] }, L = { [aM]: [{ [aN]: true, [aO]: "sigv4", [aP]: "s3", [aQ]: g }] }, M = {}, N = { [aK]: "OutpostId" }, O = { [aH]: [K, { [aI]: d, [aJ]: [{ [aI]: j, [aJ]: [{ [aK]: "partitionResult" }, "name"] }, "aws-cn"] }], [f]: "Partition does not support FIPS", [aG]: f }, P = { [aH]: [{ [aI]: c, [aJ]: [{ [aK]: "RequiresAccountId" }] }, { [aI]: "booleanEquals", [aJ]: [{ [aK]: "RequiresAccountId" }, true] }, { [aI]: k, [aJ]: [{ [aI]: c, [aJ]: [{ [aK]: "AccountId" }] }] }], [f]: "AccountId is required but not set", [aG]: f }, Q = { [aI]: c, [aJ]: [{ [aK]: "RequiresAccountId" }] }, R = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "RequiresAccountId" }, true] }, S = { [aI]: c, [aJ]: [{ [aK]: "AccountId" }] }, T = { [aK]: "AccountId" }, U = { [aH]: [S, { [aI]: k, [aJ]: [{ [aI]: l, [aJ]: [T, false] }] }], [f]: "AccountId must only contain a-z, A-Z, 0-9 and `-`.", [aG]: f }, V = { [aH]: [H, J], [f]: m, [aG]: f }, W = { [aM]: [{ [aN]: true, [aO]: "sigv4", [aP]: o, [aQ]: g }] }, X = { [f]: "Invalid region: region was not a valid DNS name.", [aG]: f }, Y = { [aK]: q }, Z = { [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [{ [aK]: s }, ""] }] }, aa = { [aI]: c, [aJ]: [{ [aK]: "UseArnRegion" }] }, ab = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "UseArnRegion" }, false] }, ac = { [aI]: j, [aJ]: [Y, "region"] }, ad = { [aI]: j, [aJ]: [Y, "accountId"] }, ae = { [aK]: z }, af = { [aM]: [{ [aN]: true, [aO]: "sigv4", [aP]: o, [aQ]: "{accessPointArn#region}" }] }, ag = { [aR]: [x], [aS]: ["{outpostId}"] }, ah = { [f]: "Invalid ARN: Expected a 4-component resource", [aG]: f }, ai = { [f]: "Invalid ARN: missing account ID", [aG]: f }, aj = { [f]: "Client was configured for partition `{partitionResult#name}` but ARN has `{arnPartition#name}`", [aG]: f }, ak = { [f]: "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`., found: `{outpostId}`", [aG]: f }, al = { [f]: "Invalid ARN: The Outpost Id was not set", [aG]: f }, am = { [f]: "Invalid ARN: No ARN type specified", [aG]: f }, an = { [aK]: B }, ao = { [aI]: j, [aJ]: [an, "region"] }, ap = { [aI]: j, [aJ]: [an, "accountId"] }, aq = { [aM]: [{ [aN]: true, [aO]: "sigv4", [aP]: o, [aQ]: "{bucketArn#region}" }] }, ar = { [aR]: [C], [aS]: ["{outpostId}"] }, as = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "UseDualStack" }, false] }, at = { [aI]: "booleanEquals", [aJ]: [{ [aK]: "UseFIPS" }, false] }, au = [G], av = [{ [aI]: e, [aJ]: [G], [aL]: "partitionResult" }], aw = [J], ax = [K], ay = [{ [aI]: l, [aJ]: [G, true] }], az = [H, I], aA = [K, J], aB = [{ [aK]: "AccessPointName" }], aC = [{ [aI]: l, [aJ]: [{ [aK]: v }, false] }], aD = [{ [aI]: d, [aJ]: [{ [aI]: j, [aJ]: [{ [aK]: w }, "name"] }, { [aI]: j, [aJ]: [{ [aK]: "partitionResult" }, "name"] }] }], aE = [{ [aK]: "Bucket" }];
|
|
3
|
+
const _data = { version: "1.0", parameters: { Region: D, UseFIPS: E, UseDualStack: E, Endpoint: D, AccountId: D, RequiresAccountId: F, OutpostId: D, Bucket: D, AccessPointName: D, UseArnRegion: F }, rules: [{ [aH]: [{ [aI]: c, [aJ]: au }], rules: [{ [aH]: [{ [aI]: d, [aJ]: [G, "snow"] }, H, I], rules: [{ [aH]: av, rules: [{ [aH]: aw, error: "S3 Snow does not support DualStack", [aG]: f }, { [aH]: ax, error: "S3 Snow does not support FIPS", [aG]: f }, { endpoint: { url: "{url#scheme}://{url#authority}", properties: L, headers: M }, [aG]: h }], [aG]: i }], [aG]: i }, { [aH]: [{ [aI]: c, [aJ]: [N] }], rules: [{ [aH]: av, rules: [O, P, U, { [aH]: [{ [aI]: k, [aJ]: [{ [aI]: l, [aJ]: [N, a] }] }], error: "OutpostId must only contain a-z, A-Z, 0-9 and `-`.", [aG]: f }, V, { [aH]: ay, rules: [{ [aH]: az, endpoint: { url: n, properties: W, headers: M }, [aG]: h }, { [aH]: aA, endpoint: { url: "https://s3-outposts-fips.{Region}.{partitionResult#dualStackDnsSuffix}", properties: W, headers: M }, [aG]: h }, { [aH]: ax, endpoint: { url: "https://s3-outposts-fips.{Region}.{partitionResult#dnsSuffix}", properties: W, headers: M }, [aG]: h }, { [aH]: aw, endpoint: { url: "https://s3-outposts.{Region}.{partitionResult#dualStackDnsSuffix}", properties: W, headers: M }, [aG]: h }, { endpoint: { url: "https://s3-outposts.{Region}.{partitionResult#dnsSuffix}", properties: W, headers: M }, [aG]: h }], [aG]: i }, X], [aG]: i }], [aG]: i }, { [aH]: [{ [aI]: c, [aJ]: aB }, { [aI]: p, [aJ]: aB, [aL]: q }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [Y, r], [aL]: s }, Z], rules: [{ [aH]: [{ [aI]: d, [aJ]: [{ [aI]: j, [aJ]: [Y, t] }, o] }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [Y, u], [aL]: v }], rules: [{ [aH]: aC, rules: [V, { [aH]: [aa, ab, { [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [ac, g] }] }], error: "Invalid configuration: region from ARN `{accessPointArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", [aG]: f }, { [aH]: av, rules: [{ [aH]: [{ [aI]: e, [aJ]: [ac], [aL]: w }], rules: [{ [aH]: aD, rules: [{ [aH]: [{ [aI]: l, [aJ]: [ac, b] }], rules: [{ [aH]: [{ [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [ad, ""] }] }], rules: [{ [aH]: [{ [aI]: l, [aJ]: [ad, a] }], rules: [{ [aH]: [S, { [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [T, x] }] }], error: "Invalid ARN: the accountId specified in the ARN (`{accessPointArn#accountId}`) does not match the parameter (`{AccountId}`)", [aG]: f }, { [aH]: [{ [aI]: j, [aJ]: [Y, y], [aL]: z }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [Y, A], [aL]: "accessPointName" }], rules: [{ [aH]: [{ [aI]: d, [aJ]: [ae, "accesspoint"] }], rules: [{ [aH]: aA, endpoint: { url: "https://s3-outposts-fips.{accessPointArn#region}.{arnPartition#dualStackDnsSuffix}", properties: af, headers: ag }, [aG]: h }, { [aH]: ax, endpoint: { url: "https://s3-outposts-fips.{accessPointArn#region}.{arnPartition#dnsSuffix}", properties: af, headers: ag }, [aG]: h }, { [aH]: aw, endpoint: { url: "https://s3-outposts.{accessPointArn#region}.{arnPartition#dualStackDnsSuffix}", properties: af, headers: ag }, [aG]: h }, { [aH]: az, endpoint: { url: n, properties: af, headers: ag }, [aG]: h }, { endpoint: { url: "https://s3-outposts.{accessPointArn#region}.{arnPartition#dnsSuffix}", properties: af, headers: ag }, [aG]: h }], [aG]: i }, { error: "Expected an outpost type `accesspoint`, found `{outpostType}`", [aG]: f }], [aG]: i }, { error: "Invalid ARN: expected an access point name", [aG]: f }], [aG]: i }, ah], [aG]: i }, { error: "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointArn#accountId}`", [aG]: f }], [aG]: i }, ai], [aG]: i }, { error: "Invalid region in ARN: `{accessPointArn#region}` (invalid DNS name)", [aG]: f }], [aG]: i }, aj], [aG]: i }], [aG]: i }], [aG]: i }, ak], [aG]: i }, al], [aG]: i }], [aG]: i }, am], [aG]: i }, { [aH]: [{ [aI]: c, [aJ]: aE }, { [aI]: p, [aJ]: aE, [aL]: B }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [an, r], [aL]: s }, Z], rules: [{ [aH]: [{ [aI]: d, [aJ]: [{ [aI]: j, [aJ]: [an, t] }, o] }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [an, u], [aL]: v }], rules: [{ [aH]: aC, rules: [V, { [aH]: [aa, ab, { [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [ao, g] }] }], error: "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`", [aG]: f }, { [aH]: [{ [aI]: e, [aJ]: [ao], [aL]: w }], rules: [{ [aH]: av, rules: [{ [aH]: aD, rules: [{ [aH]: [{ [aI]: l, [aJ]: [ao, b] }], rules: [{ [aH]: [{ [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [ap, ""] }] }], rules: [{ [aH]: [{ [aI]: l, [aJ]: [ap, a] }], rules: [{ [aH]: [S, { [aI]: k, [aJ]: [{ [aI]: d, [aJ]: [T, C] }] }], error: "Invalid ARN: the accountId specified in the ARN (`{bucketArn#accountId}`) does not match the parameter (`{AccountId}`)", [aG]: f }, { [aH]: [{ [aI]: j, [aJ]: [an, y], [aL]: z }], rules: [{ [aH]: [{ [aI]: j, [aJ]: [an, A], [aL]: "bucketName" }], rules: [{ [aH]: [{ [aI]: d, [aJ]: [ae, "bucket"] }], rules: [{ [aH]: aA, endpoint: { url: "https://s3-outposts-fips.{bucketArn#region}.{arnPartition#dualStackDnsSuffix}", properties: aq, headers: ar }, [aG]: h }, { [aH]: ax, endpoint: { url: "https://s3-outposts-fips.{bucketArn#region}.{arnPartition#dnsSuffix}", properties: aq, headers: ar }, [aG]: h }, { [aH]: aw, endpoint: { url: "https://s3-outposts.{bucketArn#region}.{arnPartition#dualStackDnsSuffix}", properties: aq, headers: ar }, [aG]: h }, { [aH]: az, endpoint: { url: n, properties: aq, headers: ar }, [aG]: h }, { endpoint: { url: "https://s3-outposts.{bucketArn#region}.{arnPartition#dnsSuffix}", properties: aq, headers: ar }, [aG]: h }], [aG]: i }, { error: "Invalid ARN: Expected an outpost type `bucket`, found `{outpostType}`", [aG]: f }], [aG]: i }, { error: "Invalid ARN: expected a bucket name", [aG]: f }], [aG]: i }, ah], [aG]: i }, { error: "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`", [aG]: f }], [aG]: i }, ai], [aG]: i }, { error: "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)", [aG]: f }], [aG]: i }, aj], [aG]: i }], [aG]: i }], [aG]: i }, ak], [aG]: i }, al], [aG]: i }], [aG]: i }, am], [aG]: i }, { [aH]: av, rules: [{ [aH]: ay, rules: [O, P, U, { [aH]: az, rules: [{ [aH]: aw, error: m, [aG]: f }, { [aH]: [Q, R, S], endpoint: { url: "{url#scheme}://{AccountId}.{url#authority}{url#path}", properties: L, headers: M }, [aG]: h }, { endpoint: { url: n, properties: L, headers: M }, [aG]: h }], [aG]: i }, { [aH]: [K, J, Q, R, S], endpoint: { url: "https://{AccountId}.s3-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: aA, endpoint: { url: "https://s3-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [K, as, Q, R, S], endpoint: { url: "https://{AccountId}.s3-control-fips.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [K, as], endpoint: { url: "https://s3-control-fips.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [at, J, Q, R, S], endpoint: { url: "https://{AccountId}.s3-control.dualstack.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [at, J], endpoint: { url: "https://s3-control.dualstack.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [at, as, Q, R, S], endpoint: { url: "https://{AccountId}.s3-control.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }, { [aH]: [at, as], endpoint: { url: "https://s3-control.{Region}.{partitionResult#dnsSuffix}", properties: L, headers: M }, [aG]: h }], [aG]: i }, X], [aG]: i }], [aG]: i }, { error: "Region must be set", [aG]: f }] };
|
|
4
4
|
export const ruleSet = _data;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { AwsSdkSigV4Signer } from "@aws-sdk/core";
|
|
1
2
|
import { NoOpLogger } from "@smithy/smithy-client";
|
|
2
3
|
import { parseUrl } from "@smithy/url-parser";
|
|
3
4
|
import { fromBase64, toBase64 } from "@smithy/util-base64";
|
|
4
5
|
import { fromUtf8, toUtf8 } from "@smithy/util-utf8";
|
|
6
|
+
import { defaultS3ControlHttpAuthSchemeProvider } from "./auth/httpAuthSchemeProvider";
|
|
5
7
|
import { defaultEndpointResolver } from "./endpoint/endpointResolver";
|
|
6
8
|
export const getRuntimeConfig = (config) => {
|
|
7
9
|
return {
|
|
@@ -11,6 +13,14 @@ export const getRuntimeConfig = (config) => {
|
|
|
11
13
|
disableHostPrefix: config?.disableHostPrefix ?? false,
|
|
12
14
|
endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,
|
|
13
15
|
extensions: config?.extensions ?? [],
|
|
16
|
+
httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultS3ControlHttpAuthSchemeProvider,
|
|
17
|
+
httpAuthSchemes: config?.httpAuthSchemes ?? [
|
|
18
|
+
{
|
|
19
|
+
schemeId: "aws.auth#sigv4",
|
|
20
|
+
identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
|
|
21
|
+
signer: new AwsSdkSigV4Signer(),
|
|
22
|
+
},
|
|
23
|
+
],
|
|
14
24
|
logger: config?.logger ?? new NoOpLogger(),
|
|
15
25
|
serviceId: config?.serviceId ?? "S3 Control",
|
|
16
26
|
signingEscapePath: config?.signingEscapePath ?? false,
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from "@aws-sdk/region-config-resolver";
|
|
2
2
|
import { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from "@smithy/protocol-http";
|
|
3
3
|
import { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from "@smithy/smithy-client";
|
|
4
|
+
import { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from "./auth/httpAuthExtensionConfiguration";
|
|
4
5
|
const asPartial = (t) => t;
|
|
5
6
|
export const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
|
|
6
7
|
const extensionConfiguration = {
|
|
7
8
|
...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),
|
|
8
9
|
...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),
|
|
9
10
|
...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),
|
|
11
|
+
...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),
|
|
10
12
|
};
|
|
11
13
|
extensions.forEach((extension) => extension.configure(extensionConfiguration));
|
|
12
14
|
return {
|
|
@@ -14,5 +16,6 @@ export const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
|
|
|
14
16
|
...resolveAwsRegionExtensionConfiguration(extensionConfiguration),
|
|
15
17
|
...resolveDefaultRuntimeConfig(extensionConfiguration),
|
|
16
18
|
...resolveHttpHandlerRuntimeConfig(extensionConfiguration),
|
|
19
|
+
...resolveHttpAuthRuntimeConfig(extensionConfiguration),
|
|
17
20
|
};
|
|
18
21
|
};
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { HostHeaderInputConfig, HostHeaderResolvedConfig } from "@aws-sdk/middleware-host-header";
|
|
3
3
|
import { S3ControlInputConfig, S3ControlResolvedConfig } from "@aws-sdk/middleware-sdk-s3-control";
|
|
4
|
-
import { AwsAuthInputConfig, AwsAuthResolvedConfig } from "@aws-sdk/middleware-signing";
|
|
5
4
|
import { UserAgentInputConfig, UserAgentResolvedConfig } from "@aws-sdk/middleware-user-agent";
|
|
6
|
-
import { Credentials as __Credentials } from "@aws-sdk/types";
|
|
7
5
|
import { RegionInputConfig, RegionResolvedConfig } from "@smithy/config-resolver";
|
|
8
6
|
import { EndpointInputConfig, EndpointResolvedConfig } from "@smithy/middleware-endpoint";
|
|
9
7
|
import { RetryInputConfig, RetryResolvedConfig } from "@smithy/middleware-retry";
|
|
10
8
|
import { HttpHandler as __HttpHandler } from "@smithy/protocol-http";
|
|
11
9
|
import { Client as __Client, DefaultsMode as __DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@smithy/smithy-client";
|
|
12
|
-
import { BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, StreamHasher as __StreamHasher, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types";
|
|
10
|
+
import { AwsCredentialIdentityProvider, BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, StreamHasher as __StreamHasher, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types";
|
|
13
11
|
import { Readable } from "stream";
|
|
12
|
+
import { HttpAuthSchemeInputConfig, HttpAuthSchemeResolvedConfig } from "./auth/httpAuthSchemeProvider";
|
|
14
13
|
import { AssociateAccessGrantsIdentityCenterCommandInput, AssociateAccessGrantsIdentityCenterCommandOutput } from "./commands/AssociateAccessGrantsIdentityCenterCommand";
|
|
15
14
|
import { CreateAccessGrantCommandInput, CreateAccessGrantCommandOutput } from "./commands/CreateAccessGrantCommand";
|
|
16
15
|
import { CreateAccessGrantsInstanceCommandInput, CreateAccessGrantsInstanceCommandOutput } from "./commands/CreateAccessGrantsInstanceCommand";
|
|
@@ -186,20 +185,21 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
|
|
|
186
185
|
* Enables FIPS compatible endpoints.
|
|
187
186
|
*/
|
|
188
187
|
useFipsEndpoint?: boolean | __Provider<boolean>;
|
|
188
|
+
/**
|
|
189
|
+
* The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
|
|
190
|
+
* @internal
|
|
191
|
+
*/
|
|
192
|
+
defaultUserAgentProvider?: Provider<__UserAgent>;
|
|
189
193
|
/**
|
|
190
194
|
* The AWS region to which this client will send requests
|
|
191
195
|
*/
|
|
192
196
|
region?: string | __Provider<string>;
|
|
193
197
|
/**
|
|
194
198
|
* Default credentials provider; Not available in browser runtime.
|
|
199
|
+
* @deprecated
|
|
195
200
|
* @internal
|
|
196
201
|
*/
|
|
197
|
-
credentialDefaultProvider?: (input: any) =>
|
|
198
|
-
/**
|
|
199
|
-
* The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
|
|
200
|
-
* @internal
|
|
201
|
-
*/
|
|
202
|
-
defaultUserAgentProvider?: Provider<__UserAgent>;
|
|
202
|
+
credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
|
|
203
203
|
/**
|
|
204
204
|
* Value for how many times a request will be made at most in case of retry.
|
|
205
205
|
*/
|
|
@@ -238,7 +238,7 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
|
|
|
238
238
|
/**
|
|
239
239
|
* @public
|
|
240
240
|
*/
|
|
241
|
-
export type S3ControlClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig &
|
|
241
|
+
export type S3ControlClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & S3ControlInputConfig & UserAgentInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
|
|
242
242
|
/**
|
|
243
243
|
* @public
|
|
244
244
|
*
|
|
@@ -249,7 +249,7 @@ export interface S3ControlClientConfig extends S3ControlClientConfigType {
|
|
|
249
249
|
/**
|
|
250
250
|
* @public
|
|
251
251
|
*/
|
|
252
|
-
export type S3ControlClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig &
|
|
252
|
+
export type S3ControlClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & S3ControlResolvedConfig & UserAgentResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
|
|
253
253
|
/**
|
|
254
254
|
* @public
|
|
255
255
|
*
|
|
@@ -273,4 +273,6 @@ export declare class S3ControlClient extends __Client<__HttpHandlerOptions, Serv
|
|
|
273
273
|
* Otherwise, sockets might stay open for quite a long time before the server terminates them.
|
|
274
274
|
*/
|
|
275
275
|
destroy(): void;
|
|
276
|
+
private getDefaultHttpAuthSchemeParametersProvider;
|
|
277
|
+
private getIdentityProviderConfigProvider;
|
|
276
278
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AwsCredentialIdentity, AwsCredentialIdentityProvider, HttpAuthScheme } from "@smithy/types";
|
|
2
|
+
import { S3ControlHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export interface HttpAuthExtensionConfiguration {
|
|
7
|
+
setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
|
|
8
|
+
httpAuthSchemes(): HttpAuthScheme[];
|
|
9
|
+
setHttpAuthSchemeProvider(httpAuthSchemeProvider: S3ControlHttpAuthSchemeProvider): void;
|
|
10
|
+
httpAuthSchemeProvider(): S3ControlHttpAuthSchemeProvider;
|
|
11
|
+
setCredentials(credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider): void;
|
|
12
|
+
credentials(): AwsCredentialIdentity | AwsCredentialIdentityProvider | undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export type HttpAuthRuntimeConfig = Partial<{
|
|
18
|
+
httpAuthSchemes: HttpAuthScheme[];
|
|
19
|
+
httpAuthSchemeProvider: S3ControlHttpAuthSchemeProvider;
|
|
20
|
+
credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider;
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export declare const getHttpAuthExtensionConfiguration: (runtimeConfig: HttpAuthRuntimeConfig) => HttpAuthExtensionConfiguration;
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export declare const resolveHttpAuthRuntimeConfig: (config: HttpAuthExtensionConfiguration) => HttpAuthRuntimeConfig;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { AwsSdkSigV4AuthInputConfig, AwsSdkSigV4AuthResolvedConfig, AwsSdkSigV4PreviouslyResolved } from "@aws-sdk/core";
|
|
2
|
+
import { HandlerExecutionContext, HttpAuthScheme, HttpAuthSchemeParameters, HttpAuthSchemeParametersProvider, HttpAuthSchemeProvider } from "@smithy/types";
|
|
3
|
+
import { S3ControlClientResolvedConfig } from "../S3ControlClient";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export interface S3ControlHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
|
|
8
|
+
region?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export interface S3ControlHttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider<S3ControlClientResolvedConfig, HandlerExecutionContext, S3ControlHttpAuthSchemeParameters, object> {
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export declare const defaultS3ControlHttpAuthSchemeParametersProvider: (config: S3ControlClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise<S3ControlHttpAuthSchemeParameters>;
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export interface S3ControlHttpAuthSchemeProvider extends HttpAuthSchemeProvider<S3ControlHttpAuthSchemeParameters> {
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare const defaultS3ControlHttpAuthSchemeProvider: S3ControlHttpAuthSchemeProvider;
|
|
28
|
+
/**
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
|
|
32
|
+
/**
|
|
33
|
+
* experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
httpAuthSchemes?: HttpAuthScheme[];
|
|
37
|
+
/**
|
|
38
|
+
* experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
httpAuthSchemeProvider?: S3ControlHttpAuthSchemeProvider;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig {
|
|
47
|
+
/**
|
|
48
|
+
* experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
|
|
49
|
+
* @internal
|
|
50
|
+
*/
|
|
51
|
+
readonly httpAuthSchemes: HttpAuthScheme[];
|
|
52
|
+
/**
|
|
53
|
+
* experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
readonly httpAuthSchemeProvider: S3ControlHttpAuthSchemeProvider;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
export declare const resolveHttpAuthSchemeConfig: <T>(config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved) => T & HttpAuthSchemeResolvedConfig;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AwsRegionExtensionConfiguration } from "@aws-sdk/types";
|
|
2
2
|
import { HttpHandlerExtensionConfiguration } from "@smithy/protocol-http";
|
|
3
3
|
import { DefaultExtensionConfiguration } from "@smithy/types";
|
|
4
|
+
import { HttpAuthExtensionConfiguration } from "./auth/httpAuthExtensionConfiguration";
|
|
4
5
|
/**
|
|
5
6
|
* @internal
|
|
6
7
|
*/
|
|
7
|
-
export interface S3ControlExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration {
|
|
8
|
+
export interface S3ControlExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration, HttpAuthExtensionConfiguration {
|
|
8
9
|
}
|
|
@@ -8,7 +8,7 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
8
8
|
runtime: string;
|
|
9
9
|
defaultsMode: import("@smithy/types").Provider<import("@smithy/smithy-client").ResolvedDefaultsMode>;
|
|
10
10
|
bodyLengthChecker: import("@smithy/types").BodyLengthCalculator;
|
|
11
|
-
credentialDefaultProvider: (input: any) => import("@smithy/types").
|
|
11
|
+
credentialDefaultProvider: (input: any) => import("@smithy/types").AwsCredentialIdentityProvider;
|
|
12
12
|
defaultUserAgentProvider: import("@smithy/types").Provider<import("@smithy/types").UserAgent>;
|
|
13
13
|
maxAttempts: number | import("@smithy/types").Provider<number>;
|
|
14
14
|
md5: import("@smithy/types").HashConstructor;
|
|
@@ -39,12 +39,14 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
39
39
|
}) => import("@smithy/types").EndpointV2;
|
|
40
40
|
tls?: boolean | undefined;
|
|
41
41
|
retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
|
|
42
|
-
|
|
42
|
+
useArnRegion?: boolean | import("@smithy/types").Provider<boolean> | undefined;
|
|
43
|
+
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
44
|
+
httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
|
|
45
|
+
httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").S3ControlHttpAuthSchemeProvider;
|
|
46
|
+
credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
|
|
43
47
|
signer?: import("@smithy/types").RequestSigner | ((authScheme?: import("@smithy/types").AuthScheme | undefined) => Promise<import("@smithy/types").RequestSigner>) | undefined;
|
|
44
48
|
signingEscapePath: boolean;
|
|
45
49
|
systemClockOffset?: number | undefined;
|
|
46
50
|
signingRegion?: string | undefined;
|
|
47
51
|
signerConstructor?: (new (options: import("@smithy/signature-v4").SignatureV4Init & import("@smithy/signature-v4").SignatureV4CryptoInit) => import("@smithy/types").RequestSigner) | undefined;
|
|
48
|
-
useArnRegion?: boolean | import("@smithy/types").Provider<boolean> | undefined;
|
|
49
|
-
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
50
52
|
};
|
|
@@ -8,7 +8,7 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
8
8
|
runtime: string;
|
|
9
9
|
defaultsMode: import("@smithy/types").Provider<import("@smithy/smithy-client").ResolvedDefaultsMode>;
|
|
10
10
|
bodyLengthChecker: import("@smithy/types").BodyLengthCalculator;
|
|
11
|
-
credentialDefaultProvider: (input: any) => import("@smithy/types").
|
|
11
|
+
credentialDefaultProvider: (input: any) => import("@smithy/types").AwsCredentialIdentityProvider;
|
|
12
12
|
defaultUserAgentProvider: import("@smithy/types").Provider<import("@smithy/types").UserAgent>;
|
|
13
13
|
maxAttempts: number | import("@smithy/types").Provider<number>;
|
|
14
14
|
md5: import("@smithy/types").HashConstructor;
|
|
@@ -39,12 +39,14 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
39
39
|
}) => import("@smithy/types").EndpointV2;
|
|
40
40
|
tls?: boolean | undefined;
|
|
41
41
|
retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
|
|
42
|
-
|
|
42
|
+
useArnRegion?: boolean | import("@smithy/types").Provider<boolean> | undefined;
|
|
43
|
+
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
44
|
+
httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
|
|
45
|
+
httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").S3ControlHttpAuthSchemeProvider;
|
|
46
|
+
credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
|
|
43
47
|
signer?: import("@smithy/types").RequestSigner | ((authScheme?: import("@smithy/types").AuthScheme | undefined) => Promise<import("@smithy/types").RequestSigner>) | undefined;
|
|
44
48
|
signingEscapePath: boolean;
|
|
45
49
|
systemClockOffset?: number | undefined;
|
|
46
50
|
signingRegion?: string | undefined;
|
|
47
51
|
signerConstructor?: (new (options: import("@smithy/signature-v4").SignatureV4Init & import("@smithy/signature-v4").SignatureV4CryptoInit) => import("@smithy/types").RequestSigner) | undefined;
|
|
48
|
-
useArnRegion?: boolean | import("@smithy/types").Provider<boolean> | undefined;
|
|
49
|
-
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
50
52
|
};
|
|
@@ -22,9 +22,9 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
22
22
|
serviceId: string;
|
|
23
23
|
useDualstackEndpoint: boolean | import("@smithy/types").Provider<boolean>;
|
|
24
24
|
useFipsEndpoint: boolean | import("@smithy/types").Provider<boolean>;
|
|
25
|
-
region: string | import("@smithy/types").Provider<any>;
|
|
26
|
-
credentialDefaultProvider: (input: any) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
|
|
27
25
|
defaultUserAgentProvider: import("@smithy/types").Provider<import("@smithy/types").UserAgent>;
|
|
26
|
+
region: string | import("@smithy/types").Provider<any>;
|
|
27
|
+
credentialDefaultProvider: (input: any) => import("@smithy/types").AwsCredentialIdentityProvider;
|
|
28
28
|
maxAttempts: number | import("@smithy/types").Provider<number>;
|
|
29
29
|
retryMode: string | import("@smithy/types").Provider<string>;
|
|
30
30
|
logger: import("@smithy/types").Logger;
|
|
@@ -38,12 +38,14 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
38
38
|
}) => import("@smithy/types").EndpointV2;
|
|
39
39
|
tls?: boolean | undefined;
|
|
40
40
|
retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
|
|
41
|
-
|
|
41
|
+
useArnRegion?: boolean | import("@smithy/types").Provider<boolean> | undefined;
|
|
42
|
+
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
43
|
+
httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
|
|
44
|
+
httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").S3ControlHttpAuthSchemeProvider;
|
|
45
|
+
credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
|
|
42
46
|
signer?: import("@smithy/types").RequestSigner | ((authScheme?: import("@smithy/types").AuthScheme | undefined) => Promise<import("@smithy/types").RequestSigner>) | undefined;
|
|
43
47
|
signingEscapePath: boolean;
|
|
44
48
|
systemClockOffset?: number | undefined;
|
|
45
49
|
signingRegion?: string | undefined;
|
|
46
50
|
signerConstructor?: (new (options: import("@smithy/signature-v4").SignatureV4Init & import("@smithy/signature-v4").SignatureV4CryptoInit) => import("@smithy/types").RequestSigner) | undefined;
|
|
47
|
-
useArnRegion?: boolean | import("@smithy/types").Provider<boolean> | undefined;
|
|
48
|
-
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
49
51
|
};
|
|
@@ -11,6 +11,8 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
11
11
|
logger?: import("@smithy/types").Logger | undefined;
|
|
12
12
|
}) => import("@smithy/types").EndpointV2;
|
|
13
13
|
extensions: import("./runtimeExtensions").RuntimeExtension[];
|
|
14
|
+
httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").S3ControlHttpAuthSchemeProvider;
|
|
15
|
+
httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
|
|
14
16
|
logger: import("@smithy/types").Logger;
|
|
15
17
|
serviceId: string;
|
|
16
18
|
signingEscapePath: boolean;
|
|
@@ -6,15 +6,10 @@ import {
|
|
|
6
6
|
S3ControlInputConfig,
|
|
7
7
|
S3ControlResolvedConfig,
|
|
8
8
|
} from "@aws-sdk/middleware-sdk-s3-control";
|
|
9
|
-
import {
|
|
10
|
-
AwsAuthInputConfig,
|
|
11
|
-
AwsAuthResolvedConfig,
|
|
12
|
-
} from "@aws-sdk/middleware-signing";
|
|
13
9
|
import {
|
|
14
10
|
UserAgentInputConfig,
|
|
15
11
|
UserAgentResolvedConfig,
|
|
16
12
|
} from "@aws-sdk/middleware-user-agent";
|
|
17
|
-
import { Credentials as __Credentials } from "@aws-sdk/types";
|
|
18
13
|
import {
|
|
19
14
|
RegionInputConfig,
|
|
20
15
|
RegionResolvedConfig,
|
|
@@ -35,6 +30,7 @@ import {
|
|
|
35
30
|
SmithyResolvedConfiguration as __SmithyResolvedConfiguration,
|
|
36
31
|
} from "@smithy/smithy-client";
|
|
37
32
|
import {
|
|
33
|
+
AwsCredentialIdentityProvider,
|
|
38
34
|
BodyLengthCalculator as __BodyLengthCalculator,
|
|
39
35
|
CheckOptionalClientConfig as __CheckOptionalClientConfig,
|
|
40
36
|
ChecksumConstructor as __ChecksumConstructor,
|
|
@@ -51,6 +47,10 @@ import {
|
|
|
51
47
|
UserAgent as __UserAgent,
|
|
52
48
|
} from "@smithy/types";
|
|
53
49
|
import { Readable } from "stream";
|
|
50
|
+
import {
|
|
51
|
+
HttpAuthSchemeInputConfig,
|
|
52
|
+
HttpAuthSchemeResolvedConfig,
|
|
53
|
+
} from "./auth/httpAuthSchemeProvider";
|
|
54
54
|
import {
|
|
55
55
|
AssociateAccessGrantsIdentityCenterCommandInput,
|
|
56
56
|
AssociateAccessGrantsIdentityCenterCommandOutput,
|
|
@@ -628,9 +628,9 @@ export interface ClientDefaults
|
|
|
628
628
|
serviceId?: string;
|
|
629
629
|
useDualstackEndpoint?: boolean | __Provider<boolean>;
|
|
630
630
|
useFipsEndpoint?: boolean | __Provider<boolean>;
|
|
631
|
-
region?: string | __Provider<string>;
|
|
632
|
-
credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
|
|
633
631
|
defaultUserAgentProvider?: Provider<__UserAgent>;
|
|
632
|
+
region?: string | __Provider<string>;
|
|
633
|
+
credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
|
|
634
634
|
maxAttempts?: number | __Provider<number>;
|
|
635
635
|
retryMode?: string | __Provider<string>;
|
|
636
636
|
logger?: __Logger;
|
|
@@ -647,9 +647,9 @@ export type S3ControlClientConfigType = Partial<
|
|
|
647
647
|
EndpointInputConfig<EndpointParameters> &
|
|
648
648
|
RetryInputConfig &
|
|
649
649
|
HostHeaderInputConfig &
|
|
650
|
-
AwsAuthInputConfig &
|
|
651
650
|
S3ControlInputConfig &
|
|
652
651
|
UserAgentInputConfig &
|
|
652
|
+
HttpAuthSchemeInputConfig &
|
|
653
653
|
ClientInputEndpointParameters;
|
|
654
654
|
export interface S3ControlClientConfig extends S3ControlClientConfigType {}
|
|
655
655
|
export type S3ControlClientResolvedConfigType =
|
|
@@ -660,9 +660,9 @@ export type S3ControlClientResolvedConfigType =
|
|
|
660
660
|
EndpointResolvedConfig<EndpointParameters> &
|
|
661
661
|
RetryResolvedConfig &
|
|
662
662
|
HostHeaderResolvedConfig &
|
|
663
|
-
AwsAuthResolvedConfig &
|
|
664
663
|
S3ControlResolvedConfig &
|
|
665
664
|
UserAgentResolvedConfig &
|
|
665
|
+
HttpAuthSchemeResolvedConfig &
|
|
666
666
|
ClientResolvedEndpointParameters;
|
|
667
667
|
export interface S3ControlClientResolvedConfig
|
|
668
668
|
extends S3ControlClientResolvedConfigType {}
|
|
@@ -677,4 +677,6 @@ export declare class S3ControlClient extends __Client<
|
|
|
677
677
|
...[configuration]: __CheckOptionalClientConfig<S3ControlClientConfig>
|
|
678
678
|
);
|
|
679
679
|
destroy(): void;
|
|
680
|
+
private getDefaultHttpAuthSchemeParametersProvider;
|
|
681
|
+
private getIdentityProviderConfigProvider;
|
|
680
682
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AwsCredentialIdentity,
|
|
3
|
+
AwsCredentialIdentityProvider,
|
|
4
|
+
HttpAuthScheme,
|
|
5
|
+
} from "@smithy/types";
|
|
6
|
+
import { S3ControlHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
|
|
7
|
+
export interface HttpAuthExtensionConfiguration {
|
|
8
|
+
setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
|
|
9
|
+
httpAuthSchemes(): HttpAuthScheme[];
|
|
10
|
+
setHttpAuthSchemeProvider(
|
|
11
|
+
httpAuthSchemeProvider: S3ControlHttpAuthSchemeProvider
|
|
12
|
+
): void;
|
|
13
|
+
httpAuthSchemeProvider(): S3ControlHttpAuthSchemeProvider;
|
|
14
|
+
setCredentials(
|
|
15
|
+
credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider
|
|
16
|
+
): void;
|
|
17
|
+
credentials():
|
|
18
|
+
| AwsCredentialIdentity
|
|
19
|
+
| AwsCredentialIdentityProvider
|
|
20
|
+
| undefined;
|
|
21
|
+
}
|
|
22
|
+
export type HttpAuthRuntimeConfig = Partial<{
|
|
23
|
+
httpAuthSchemes: HttpAuthScheme[];
|
|
24
|
+
httpAuthSchemeProvider: S3ControlHttpAuthSchemeProvider;
|
|
25
|
+
credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider;
|
|
26
|
+
}>;
|
|
27
|
+
export declare const getHttpAuthExtensionConfiguration: (
|
|
28
|
+
runtimeConfig: HttpAuthRuntimeConfig
|
|
29
|
+
) => HttpAuthExtensionConfiguration;
|
|
30
|
+
export declare const resolveHttpAuthRuntimeConfig: (
|
|
31
|
+
config: HttpAuthExtensionConfiguration
|
|
32
|
+
) => HttpAuthRuntimeConfig;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AwsSdkSigV4AuthInputConfig,
|
|
3
|
+
AwsSdkSigV4AuthResolvedConfig,
|
|
4
|
+
AwsSdkSigV4PreviouslyResolved,
|
|
5
|
+
} from "@aws-sdk/core";
|
|
6
|
+
import {
|
|
7
|
+
HandlerExecutionContext,
|
|
8
|
+
HttpAuthScheme,
|
|
9
|
+
HttpAuthSchemeParameters,
|
|
10
|
+
HttpAuthSchemeParametersProvider,
|
|
11
|
+
HttpAuthSchemeProvider,
|
|
12
|
+
} from "@smithy/types";
|
|
13
|
+
import { S3ControlClientResolvedConfig } from "../S3ControlClient";
|
|
14
|
+
export interface S3ControlHttpAuthSchemeParameters
|
|
15
|
+
extends HttpAuthSchemeParameters {
|
|
16
|
+
region?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface S3ControlHttpAuthSchemeParametersProvider
|
|
19
|
+
extends HttpAuthSchemeParametersProvider<
|
|
20
|
+
S3ControlClientResolvedConfig,
|
|
21
|
+
HandlerExecutionContext,
|
|
22
|
+
S3ControlHttpAuthSchemeParameters,
|
|
23
|
+
object
|
|
24
|
+
> {}
|
|
25
|
+
export declare const defaultS3ControlHttpAuthSchemeParametersProvider: (
|
|
26
|
+
config: S3ControlClientResolvedConfig,
|
|
27
|
+
context: HandlerExecutionContext,
|
|
28
|
+
input: object
|
|
29
|
+
) => Promise<S3ControlHttpAuthSchemeParameters>;
|
|
30
|
+
export interface S3ControlHttpAuthSchemeProvider
|
|
31
|
+
extends HttpAuthSchemeProvider<S3ControlHttpAuthSchemeParameters> {}
|
|
32
|
+
export declare const defaultS3ControlHttpAuthSchemeProvider: S3ControlHttpAuthSchemeProvider;
|
|
33
|
+
export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
|
|
34
|
+
httpAuthSchemes?: HttpAuthScheme[];
|
|
35
|
+
httpAuthSchemeProvider?: S3ControlHttpAuthSchemeProvider;
|
|
36
|
+
}
|
|
37
|
+
export interface HttpAuthSchemeResolvedConfig
|
|
38
|
+
extends AwsSdkSigV4AuthResolvedConfig {
|
|
39
|
+
readonly httpAuthSchemes: HttpAuthScheme[];
|
|
40
|
+
readonly httpAuthSchemeProvider: S3ControlHttpAuthSchemeProvider;
|
|
41
|
+
}
|
|
42
|
+
export declare const resolveHttpAuthSchemeConfig: <T>(
|
|
43
|
+
config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved
|
|
44
|
+
) => T & HttpAuthSchemeResolvedConfig;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { AwsRegionExtensionConfiguration } from "@aws-sdk/types";
|
|
2
2
|
import { HttpHandlerExtensionConfiguration } from "@smithy/protocol-http";
|
|
3
3
|
import { DefaultExtensionConfiguration } from "@smithy/types";
|
|
4
|
+
import { HttpAuthExtensionConfiguration } from "./auth/httpAuthExtensionConfiguration";
|
|
4
5
|
export interface S3ControlExtensionConfiguration
|
|
5
6
|
extends HttpHandlerExtensionConfiguration,
|
|
6
7
|
DefaultExtensionConfiguration,
|
|
7
|
-
AwsRegionExtensionConfiguration
|
|
8
|
+
AwsRegionExtensionConfiguration,
|
|
9
|
+
HttpAuthExtensionConfiguration {}
|
|
@@ -8,7 +8,7 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
8
8
|
bodyLengthChecker: import("@smithy/types").BodyLengthCalculator;
|
|
9
9
|
credentialDefaultProvider: (
|
|
10
10
|
input: any
|
|
11
|
-
) => import("@smithy/types").
|
|
11
|
+
) => import("@smithy/types").AwsCredentialIdentityProvider;
|
|
12
12
|
defaultUserAgentProvider: import("@smithy/types").Provider<
|
|
13
13
|
import("@smithy/types").UserAgent
|
|
14
14
|
>;
|
|
@@ -76,11 +76,16 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
76
76
|
| import("@smithy/types").RetryStrategy
|
|
77
77
|
| import("@smithy/types").RetryStrategyV2
|
|
78
78
|
| undefined;
|
|
79
|
+
useArnRegion?:
|
|
80
|
+
| boolean
|
|
81
|
+
| import("@smithy/types").Provider<boolean>
|
|
82
|
+
| undefined;
|
|
83
|
+
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
84
|
+
httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
|
|
85
|
+
httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").S3ControlHttpAuthSchemeProvider;
|
|
79
86
|
credentials?:
|
|
80
87
|
| import("@smithy/types").AwsCredentialIdentity
|
|
81
|
-
| import("@smithy/types").
|
|
82
|
-
import("@smithy/types").AwsCredentialIdentity
|
|
83
|
-
>
|
|
88
|
+
| import("@smithy/types").AwsCredentialIdentityProvider
|
|
84
89
|
| undefined;
|
|
85
90
|
signer?:
|
|
86
91
|
| import("@smithy/types").RequestSigner
|
|
@@ -97,9 +102,4 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
97
102
|
import("@smithy/signature-v4").SignatureV4CryptoInit
|
|
98
103
|
) => import("@smithy/types").RequestSigner)
|
|
99
104
|
| undefined;
|
|
100
|
-
useArnRegion?:
|
|
101
|
-
| boolean
|
|
102
|
-
| import("@smithy/types").Provider<boolean>
|
|
103
|
-
| undefined;
|
|
104
|
-
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
105
105
|
};
|
|
@@ -8,7 +8,7 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
8
8
|
bodyLengthChecker: import("@smithy/types").BodyLengthCalculator;
|
|
9
9
|
credentialDefaultProvider: (
|
|
10
10
|
input: any
|
|
11
|
-
) => import("@smithy/types").
|
|
11
|
+
) => import("@smithy/types").AwsCredentialIdentityProvider;
|
|
12
12
|
defaultUserAgentProvider: import("@smithy/types").Provider<
|
|
13
13
|
import("@smithy/types").UserAgent
|
|
14
14
|
>;
|
|
@@ -76,11 +76,16 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
76
76
|
| import("@smithy/types").RetryStrategy
|
|
77
77
|
| import("@smithy/types").RetryStrategyV2
|
|
78
78
|
| undefined;
|
|
79
|
+
useArnRegion?:
|
|
80
|
+
| boolean
|
|
81
|
+
| import("@smithy/types").Provider<boolean>
|
|
82
|
+
| undefined;
|
|
83
|
+
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
84
|
+
httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
|
|
85
|
+
httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").S3ControlHttpAuthSchemeProvider;
|
|
79
86
|
credentials?:
|
|
80
87
|
| import("@smithy/types").AwsCredentialIdentity
|
|
81
|
-
| import("@smithy/types").
|
|
82
|
-
import("@smithy/types").AwsCredentialIdentity
|
|
83
|
-
>
|
|
88
|
+
| import("@smithy/types").AwsCredentialIdentityProvider
|
|
84
89
|
| undefined;
|
|
85
90
|
signer?:
|
|
86
91
|
| import("@smithy/types").RequestSigner
|
|
@@ -97,9 +102,4 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
97
102
|
import("@smithy/signature-v4").SignatureV4CryptoInit
|
|
98
103
|
) => import("@smithy/types").RequestSigner)
|
|
99
104
|
| undefined;
|
|
100
|
-
useArnRegion?:
|
|
101
|
-
| boolean
|
|
102
|
-
| import("@smithy/types").Provider<boolean>
|
|
103
|
-
| undefined;
|
|
104
|
-
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
105
105
|
};
|
|
@@ -29,13 +29,13 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
29
29
|
serviceId: string;
|
|
30
30
|
useDualstackEndpoint: boolean | import("@smithy/types").Provider<boolean>;
|
|
31
31
|
useFipsEndpoint: boolean | import("@smithy/types").Provider<boolean>;
|
|
32
|
-
region: string | import("@smithy/types").Provider<any>;
|
|
33
|
-
credentialDefaultProvider: (
|
|
34
|
-
input: any
|
|
35
|
-
) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
|
|
36
32
|
defaultUserAgentProvider: import("@smithy/types").Provider<
|
|
37
33
|
import("@smithy/types").UserAgent
|
|
38
34
|
>;
|
|
35
|
+
region: string | import("@smithy/types").Provider<any>;
|
|
36
|
+
credentialDefaultProvider: (
|
|
37
|
+
input: any
|
|
38
|
+
) => import("@smithy/types").AwsCredentialIdentityProvider;
|
|
39
39
|
maxAttempts: number | import("@smithy/types").Provider<number>;
|
|
40
40
|
retryMode: string | import("@smithy/types").Provider<string>;
|
|
41
41
|
logger: import("@smithy/types").Logger;
|
|
@@ -67,11 +67,16 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
67
67
|
| import("@smithy/types").RetryStrategy
|
|
68
68
|
| import("@smithy/types").RetryStrategyV2
|
|
69
69
|
| undefined;
|
|
70
|
+
useArnRegion?:
|
|
71
|
+
| boolean
|
|
72
|
+
| import("@smithy/types").Provider<boolean>
|
|
73
|
+
| undefined;
|
|
74
|
+
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
75
|
+
httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
|
|
76
|
+
httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").S3ControlHttpAuthSchemeProvider;
|
|
70
77
|
credentials?:
|
|
71
78
|
| import("@smithy/types").AwsCredentialIdentity
|
|
72
|
-
| import("@smithy/types").
|
|
73
|
-
import("@smithy/types").AwsCredentialIdentity
|
|
74
|
-
>
|
|
79
|
+
| import("@smithy/types").AwsCredentialIdentityProvider
|
|
75
80
|
| undefined;
|
|
76
81
|
signer?:
|
|
77
82
|
| import("@smithy/types").RequestSigner
|
|
@@ -88,9 +93,4 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
88
93
|
import("@smithy/signature-v4").SignatureV4CryptoInit
|
|
89
94
|
) => import("@smithy/types").RequestSigner)
|
|
90
95
|
| undefined;
|
|
91
|
-
useArnRegion?:
|
|
92
|
-
| boolean
|
|
93
|
-
| import("@smithy/types").Provider<boolean>
|
|
94
|
-
| undefined;
|
|
95
|
-
customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
|
|
96
96
|
};
|
|
@@ -11,6 +11,8 @@ export declare const getRuntimeConfig: (config: S3ControlClientConfig) => {
|
|
|
11
11
|
}
|
|
12
12
|
) => import("@smithy/types").EndpointV2;
|
|
13
13
|
extensions: import("./runtimeExtensions").RuntimeExtension[];
|
|
14
|
+
httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").S3ControlHttpAuthSchemeProvider;
|
|
15
|
+
httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
|
|
14
16
|
logger: import("@smithy/types").Logger;
|
|
15
17
|
serviceId: string;
|
|
16
18
|
signingEscapePath: boolean;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/client-s3-control",
|
|
3
3
|
"description": "AWS SDK for JavaScript S3 Control Client for Node.js, Browser and React Native",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.491.0",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
|
|
7
7
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
@@ -22,14 +22,13 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@aws-crypto/sha256-browser": "3.0.0",
|
|
24
24
|
"@aws-crypto/sha256-js": "3.0.0",
|
|
25
|
-
"@aws-sdk/client-sts": "3.
|
|
26
|
-
"@aws-sdk/core": "3.
|
|
27
|
-
"@aws-sdk/credential-provider-node": "3.
|
|
25
|
+
"@aws-sdk/client-sts": "3.490.0",
|
|
26
|
+
"@aws-sdk/core": "3.490.0",
|
|
27
|
+
"@aws-sdk/credential-provider-node": "3.490.0",
|
|
28
28
|
"@aws-sdk/middleware-host-header": "3.489.0",
|
|
29
29
|
"@aws-sdk/middleware-logger": "3.489.0",
|
|
30
30
|
"@aws-sdk/middleware-recursion-detection": "3.489.0",
|
|
31
31
|
"@aws-sdk/middleware-sdk-s3-control": "3.489.0",
|
|
32
|
-
"@aws-sdk/middleware-signing": "3.489.0",
|
|
33
32
|
"@aws-sdk/middleware-user-agent": "3.489.0",
|
|
34
33
|
"@aws-sdk/region-config-resolver": "3.489.0",
|
|
35
34
|
"@aws-sdk/types": "3.489.0",
|
|
@@ -63,6 +62,7 @@
|
|
|
63
62
|
"@smithy/util-defaults-mode-browser": "^2.0.24",
|
|
64
63
|
"@smithy/util-defaults-mode-node": "^2.0.32",
|
|
65
64
|
"@smithy/util-endpoints": "^1.0.8",
|
|
65
|
+
"@smithy/util-middleware": "^2.0.9",
|
|
66
66
|
"@smithy/util-retry": "^2.0.9",
|
|
67
67
|
"@smithy/util-utf8": "^2.0.2",
|
|
68
68
|
"fast-xml-parser": "4.2.5",
|