@jjrawlins/cdk-iam-policy-builder-helper 0.0.69 → 0.0.71
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/.jsii +4 -4
- package/cdk-iam-policy-builder-helper/go.mod +1 -1
- package/cdk-iam-policy-builder-helper/jsii/jsii.go +2 -2
- package/cdk-iam-policy-builder-helper/version +1 -1
- package/lib/constructs/Actions.d.ts +4 -0
- package/lib/constructs/Actions.js +5 -1
- package/methods_list.txt +4 -0
- package/node_modules/@aws-sdk/client-iam/dist-types/runtimeConfig.d.ts +1 -1
- package/node_modules/@aws-sdk/client-iam/dist-types/ts3.4/runtimeConfig.d.ts +1 -3
- package/node_modules/@aws-sdk/client-iam/package.json +34 -34
- package/node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js +1 -1
- package/node_modules/@aws-sdk/client-sso/dist-es/endpoint/ruleset.js +1 -1
- package/node_modules/@aws-sdk/client-sso/package.json +32 -32
- package/node_modules/@aws-sdk/core/package.json +11 -11
- package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
- package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +108 -45
- package/node_modules/@aws-sdk/credential-provider-node/dist-es/defaultProvider.js +55 -46
- package/node_modules/@aws-sdk/credential-provider-node/dist-es/runtime/memoize-chain.js +54 -0
- package/node_modules/@aws-sdk/credential-provider-node/dist-types/defaultProvider.d.ts +3 -2
- package/node_modules/@aws-sdk/credential-provider-node/dist-types/runtime/memoize-chain.d.ts +18 -0
- package/node_modules/@aws-sdk/credential-provider-node/dist-types/ts3.4/defaultProvider.d.ts +3 -2
- package/node_modules/@aws-sdk/credential-provider-node/dist-types/ts3.4/runtime/memoize-chain.d.ts +19 -0
- package/node_modules/@aws-sdk/credential-provider-node/package.json +13 -13
- package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -7
- package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +7 -7
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/ruleset.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +13 -6
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/ruleset.js +1 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js +13 -6
- package/node_modules/@aws-sdk/nested-clients/package.json +32 -32
- package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js +7 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.js +20 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.native.js +6 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-es/index.js +1 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/stsRegionDefaultResolver.browser.js +3 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/stsRegionDefaultResolver.js +16 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-es/regionConfig/stsRegionDefaultResolver.native.js +3 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-types/index.d.ts +1 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-types/regionConfig/stsRegionDefaultResolver.browser.d.ts +4 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-types/regionConfig/stsRegionDefaultResolver.d.ts +14 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-types/regionConfig/stsRegionDefaultResolver.native.d.ts +4 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-types/ts3.4/index.d.ts +1 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-types/ts3.4/regionConfig/stsRegionDefaultResolver.browser.d.ts +1 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-types/ts3.4/regionConfig/stsRegionDefaultResolver.d.ts +7 -0
- package/node_modules/@aws-sdk/region-config-resolver/dist-types/ts3.4/regionConfig/stsRegionDefaultResolver.native.d.ts +1 -0
- package/node_modules/@aws-sdk/region-config-resolver/package.json +10 -5
- package/node_modules/@aws-sdk/token-providers/package.json +7 -7
- package/node_modules/@aws-sdk/types/dist-types/credentials.d.ts +1 -0
- package/node_modules/@aws-sdk/types/dist-types/ts3.4/credentials.d.ts +1 -0
- package/node_modules/@aws-sdk/types/package.json +2 -2
- package/node_modules/@aws-sdk/util-endpoints/package.json +5 -5
- package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
- package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
- package/node_modules/@smithy/abort-controller/package.json +2 -2
- package/node_modules/@smithy/config-resolver/package.json +5 -5
- package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +5 -14
- package/node_modules/@smithy/core/dist-es/submodules/serde/schema-serde-lib/schema-date-utils.js +5 -14
- package/node_modules/@smithy/core/package.json +7 -7
- package/node_modules/@smithy/credential-provider-imds/package.json +5 -5
- package/node_modules/@smithy/fetch-http-handler/package.json +5 -5
- package/node_modules/@smithy/hash-node/package.json +2 -2
- package/node_modules/@smithy/invalid-dependency/package.json +2 -2
- package/node_modules/@smithy/middleware-content-length/package.json +3 -3
- package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
- package/node_modules/@smithy/middleware-retry/package.json +8 -8
- package/node_modules/@smithy/middleware-serde/package.json +3 -3
- package/node_modules/@smithy/middleware-stack/package.json +2 -2
- package/node_modules/@smithy/node-config-provider/package.json +4 -4
- package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +7 -4
- package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +5 -2
- package/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +2 -2
- package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +2 -1
- package/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +2 -1
- package/node_modules/@smithy/node-http-handler/package.json +5 -5
- package/node_modules/@smithy/property-provider/package.json +2 -2
- package/node_modules/@smithy/protocol-http/package.json +2 -2
- package/node_modules/@smithy/querystring-builder/package.json +2 -2
- package/node_modules/@smithy/querystring-parser/package.json +2 -2
- package/node_modules/@smithy/service-error-classification/package.json +2 -2
- package/node_modules/@smithy/shared-ini-file-loader/package.json +2 -2
- package/node_modules/@smithy/signature-v4/package.json +4 -4
- package/node_modules/@smithy/smithy-client/package.json +7 -7
- package/node_modules/@smithy/types/dist-es/index.js +1 -0
- package/node_modules/@smithy/types/dist-types/index.d.ts +1 -0
- package/node_modules/@smithy/types/dist-types/ts3.4/index.d.ts +1 -0
- package/node_modules/@smithy/types/package.json +1 -1
- package/node_modules/@smithy/url-parser/package.json +3 -3
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -4
- package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
- package/node_modules/@smithy/util-endpoints/package.json +3 -3
- package/node_modules/@smithy/util-middleware/package.json +2 -2
- package/node_modules/@smithy/util-retry/package.json +3 -3
- package/node_modules/@smithy/util-stream/package.json +4 -4
- package/node_modules/@smithy/util-waiter/dist-cjs/index.js +17 -4
- package/node_modules/@smithy/util-waiter/dist-es/circularReplacer.js +12 -0
- package/node_modules/@smithy/util-waiter/dist-es/poller.js +2 -1
- package/node_modules/@smithy/util-waiter/dist-es/waiter.js +4 -3
- package/node_modules/@smithy/util-waiter/dist-types/circularReplacer.d.ts +6 -0
- package/node_modules/@smithy/util-waiter/dist-types/poller.d.ts +1 -1
- package/node_modules/@smithy/util-waiter/dist-types/ts3.4/circularReplacer.d.ts +6 -0
- package/node_modules/@smithy/util-waiter/dist-types/ts3.4/poller.d.ts +1 -1
- package/node_modules/@smithy/util-waiter/package.json +3 -3
- package/package.json +6 -6
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { ENV_KEY, ENV_SECRET, fromEnv } from "@aws-sdk/credential-provider-env";
|
|
2
|
-
import {
|
|
2
|
+
import { CredentialsProviderError } from "@smithy/property-provider";
|
|
3
3
|
import { ENV_PROFILE } from "@smithy/shared-ini-file-loader";
|
|
4
4
|
import { remoteProvider } from "./remoteProvider";
|
|
5
|
+
import { memoizeChain } from "./runtime/memoize-chain";
|
|
5
6
|
let multipleCredentialSourceWarningEmitted = false;
|
|
6
|
-
export const defaultProvider = (init = {}) =>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
export const defaultProvider = (init = {}) => memoizeChain([
|
|
8
|
+
async () => {
|
|
9
|
+
const profile = init.profile ?? process.env[ENV_PROFILE];
|
|
10
|
+
if (profile) {
|
|
11
|
+
const envStaticCredentialsAreSet = process.env[ENV_KEY] && process.env[ENV_SECRET];
|
|
12
|
+
if (envStaticCredentialsAreSet) {
|
|
13
|
+
if (!multipleCredentialSourceWarningEmitted) {
|
|
14
|
+
const warnFn = init.logger?.warn && init.logger?.constructor?.name !== "NoOpLogger"
|
|
15
|
+
? init.logger.warn.bind(init.logger)
|
|
16
|
+
: console.warn;
|
|
17
|
+
warnFn(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:
|
|
16
18
|
Multiple credential sources detected:
|
|
17
19
|
Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.
|
|
18
20
|
This SDK will proceed with the AWS_PROFILE value.
|
|
@@ -21,44 +23,51 @@ export const defaultProvider = (init = {}) => memoize(chain(async () => {
|
|
|
21
23
|
Please ensure that your environment only sets either the AWS_PROFILE or the
|
|
22
24
|
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.
|
|
23
25
|
`);
|
|
24
|
-
|
|
26
|
+
multipleCredentialSourceWarningEmitted = true;
|
|
27
|
+
}
|
|
25
28
|
}
|
|
29
|
+
throw new CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.", {
|
|
30
|
+
logger: init.logger,
|
|
31
|
+
tryNextLink: true,
|
|
32
|
+
});
|
|
26
33
|
}
|
|
27
|
-
|
|
34
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv");
|
|
35
|
+
return fromEnv(init)();
|
|
36
|
+
},
|
|
37
|
+
async (awsIdentityProperties) => {
|
|
38
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");
|
|
39
|
+
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
|
|
40
|
+
if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
|
|
41
|
+
throw new CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).", { logger: init.logger });
|
|
42
|
+
}
|
|
43
|
+
const { fromSSO } = await import("@aws-sdk/credential-provider-sso");
|
|
44
|
+
return fromSSO(init)(awsIdentityProperties);
|
|
45
|
+
},
|
|
46
|
+
async (awsIdentityProperties) => {
|
|
47
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");
|
|
48
|
+
const { fromIni } = await import("@aws-sdk/credential-provider-ini");
|
|
49
|
+
return fromIni(init)(awsIdentityProperties);
|
|
50
|
+
},
|
|
51
|
+
async (awsIdentityProperties) => {
|
|
52
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");
|
|
53
|
+
const { fromProcess } = await import("@aws-sdk/credential-provider-process");
|
|
54
|
+
return fromProcess(init)(awsIdentityProperties);
|
|
55
|
+
},
|
|
56
|
+
async (awsIdentityProperties) => {
|
|
57
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");
|
|
58
|
+
const { fromTokenFile } = await import("@aws-sdk/credential-provider-web-identity");
|
|
59
|
+
return fromTokenFile(init)(awsIdentityProperties);
|
|
60
|
+
},
|
|
61
|
+
async () => {
|
|
62
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider");
|
|
63
|
+
return (await remoteProvider(init))();
|
|
64
|
+
},
|
|
65
|
+
async () => {
|
|
66
|
+
throw new CredentialsProviderError("Could not load credentials from any providers", {
|
|
67
|
+
tryNextLink: false,
|
|
28
68
|
logger: init.logger,
|
|
29
|
-
tryNextLink: true,
|
|
30
69
|
});
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return fromEnv(init)();
|
|
34
|
-
}, async () => {
|
|
35
|
-
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");
|
|
36
|
-
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
|
|
37
|
-
if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
|
|
38
|
-
throw new CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).", { logger: init.logger });
|
|
39
|
-
}
|
|
40
|
-
const { fromSSO } = await import("@aws-sdk/credential-provider-sso");
|
|
41
|
-
return fromSSO(init)();
|
|
42
|
-
}, async () => {
|
|
43
|
-
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");
|
|
44
|
-
const { fromIni } = await import("@aws-sdk/credential-provider-ini");
|
|
45
|
-
return fromIni(init)();
|
|
46
|
-
}, async () => {
|
|
47
|
-
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");
|
|
48
|
-
const { fromProcess } = await import("@aws-sdk/credential-provider-process");
|
|
49
|
-
return fromProcess(init)();
|
|
50
|
-
}, async () => {
|
|
51
|
-
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");
|
|
52
|
-
const { fromTokenFile } = await import("@aws-sdk/credential-provider-web-identity");
|
|
53
|
-
return fromTokenFile(init)();
|
|
54
|
-
}, async () => {
|
|
55
|
-
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider");
|
|
56
|
-
return (await remoteProvider(init))();
|
|
57
|
-
}, async () => {
|
|
58
|
-
throw new CredentialsProviderError("Could not load credentials from any providers", {
|
|
59
|
-
tryNextLink: false,
|
|
60
|
-
logger: init.logger,
|
|
61
|
-
});
|
|
62
|
-
}), credentialsTreatedAsExpired, credentialsWillNeedRefresh);
|
|
70
|
+
},
|
|
71
|
+
], credentialsTreatedAsExpired);
|
|
63
72
|
export const credentialsWillNeedRefresh = (credentials) => credentials?.expiration !== undefined;
|
|
64
73
|
export const credentialsTreatedAsExpired = (credentials) => credentials?.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export function memoizeChain(providers, treatAsExpired) {
|
|
2
|
+
const chain = internalCreateChain(providers);
|
|
3
|
+
let activeLock;
|
|
4
|
+
let passiveLock;
|
|
5
|
+
let credentials;
|
|
6
|
+
const provider = async (options) => {
|
|
7
|
+
if (options?.forceRefresh) {
|
|
8
|
+
return await chain(options);
|
|
9
|
+
}
|
|
10
|
+
if (credentials?.expiration) {
|
|
11
|
+
if (credentials?.expiration?.getTime() < Date.now()) {
|
|
12
|
+
credentials = undefined;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
if (activeLock) {
|
|
16
|
+
await activeLock;
|
|
17
|
+
}
|
|
18
|
+
else if (!credentials || treatAsExpired?.(credentials)) {
|
|
19
|
+
if (credentials) {
|
|
20
|
+
if (!passiveLock) {
|
|
21
|
+
passiveLock = chain(options).then((c) => {
|
|
22
|
+
credentials = c;
|
|
23
|
+
passiveLock = undefined;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
activeLock = chain(options).then((c) => {
|
|
29
|
+
credentials = c;
|
|
30
|
+
activeLock = undefined;
|
|
31
|
+
});
|
|
32
|
+
return provider(options);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return credentials;
|
|
36
|
+
};
|
|
37
|
+
return provider;
|
|
38
|
+
}
|
|
39
|
+
export const internalCreateChain = (providers) => async (awsIdentityProperties) => {
|
|
40
|
+
let lastProviderError;
|
|
41
|
+
for (const provider of providers) {
|
|
42
|
+
try {
|
|
43
|
+
return await provider(awsIdentityProperties);
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
lastProviderError = err;
|
|
47
|
+
if (err?.tryNextLink) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
throw err;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
throw lastProviderError;
|
|
54
|
+
};
|
|
@@ -4,7 +4,8 @@ import type { FromProcessInit } from "@aws-sdk/credential-provider-process";
|
|
|
4
4
|
import type { FromSSOInit, SsoCredentialsParameters } from "@aws-sdk/credential-provider-sso";
|
|
5
5
|
import type { FromTokenFileInit } from "@aws-sdk/credential-provider-web-identity";
|
|
6
6
|
import type { RemoteProviderInit } from "@smithy/credential-provider-imds";
|
|
7
|
-
import { AwsCredentialIdentity
|
|
7
|
+
import type { AwsCredentialIdentity } from "@smithy/types";
|
|
8
|
+
import { type MemoizedRuntimeConfigAwsCredentialIdentityProvider } from "./runtime/memoize-chain";
|
|
8
9
|
/**
|
|
9
10
|
* @public
|
|
10
11
|
*/
|
|
@@ -43,7 +44,7 @@ export type DefaultProviderInit = FromIniInit & FromHttpOptions & RemoteProvider
|
|
|
43
44
|
* @see {@link fromContainerMetadata} The function used to source credentials from the
|
|
44
45
|
* ECS Container Metadata Service.
|
|
45
46
|
*/
|
|
46
|
-
export declare const defaultProvider: (init?: DefaultProviderInit) =>
|
|
47
|
+
export declare const defaultProvider: (init?: DefaultProviderInit) => MemoizedRuntimeConfigAwsCredentialIdentityProvider;
|
|
47
48
|
/**
|
|
48
49
|
* @internal
|
|
49
50
|
*
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AwsCredentialIdentity, AwsIdentityProperties, RuntimeConfigAwsCredentialIdentityProvider } from "@aws-sdk/types";
|
|
2
|
+
/**
|
|
3
|
+
* Memoized provider chain for AWS credentials.
|
|
4
|
+
* The options are only reevaluated if forceRefresh=true is passed or a natural
|
|
5
|
+
* refresh occurs.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export interface MemoizedRuntimeConfigAwsCredentialIdentityProvider {
|
|
10
|
+
(options?: AwsIdentityProperties & {
|
|
11
|
+
forceRefresh?: boolean;
|
|
12
|
+
}): Promise<AwsCredentialIdentity>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function memoizeChain(providers: RuntimeConfigAwsCredentialIdentityProvider[], treatAsExpired: (resolved: AwsCredentialIdentity) => boolean): MemoizedRuntimeConfigAwsCredentialIdentityProvider;
|
|
18
|
+
export declare const internalCreateChain: (providers: RuntimeConfigAwsCredentialIdentityProvider[]) => RuntimeConfigAwsCredentialIdentityProvider;
|
package/node_modules/@aws-sdk/credential-provider-node/dist-types/ts3.4/defaultProvider.d.ts
CHANGED
|
@@ -7,7 +7,8 @@ import {
|
|
|
7
7
|
} from "@aws-sdk/credential-provider-sso";
|
|
8
8
|
import { FromTokenFileInit } from "@aws-sdk/credential-provider-web-identity";
|
|
9
9
|
import { RemoteProviderInit } from "@smithy/credential-provider-imds";
|
|
10
|
-
import { AwsCredentialIdentity
|
|
10
|
+
import { AwsCredentialIdentity } from "@smithy/types";
|
|
11
|
+
import { MemoizedRuntimeConfigAwsCredentialIdentityProvider } from "./runtime/memoize-chain";
|
|
11
12
|
export type DefaultProviderInit = FromIniInit &
|
|
12
13
|
FromHttpOptions &
|
|
13
14
|
RemoteProviderInit &
|
|
@@ -16,7 +17,7 @@ export type DefaultProviderInit = FromIniInit &
|
|
|
16
17
|
FromTokenFileInit;
|
|
17
18
|
export declare const defaultProvider: (
|
|
18
19
|
init?: DefaultProviderInit
|
|
19
|
-
) =>
|
|
20
|
+
) => MemoizedRuntimeConfigAwsCredentialIdentityProvider;
|
|
20
21
|
export declare const credentialsWillNeedRefresh: (
|
|
21
22
|
credentials: AwsCredentialIdentity
|
|
22
23
|
) => boolean;
|
package/node_modules/@aws-sdk/credential-provider-node/dist-types/ts3.4/runtime/memoize-chain.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AwsCredentialIdentity,
|
|
3
|
+
AwsIdentityProperties,
|
|
4
|
+
RuntimeConfigAwsCredentialIdentityProvider,
|
|
5
|
+
} from "@aws-sdk/types";
|
|
6
|
+
export interface MemoizedRuntimeConfigAwsCredentialIdentityProvider {
|
|
7
|
+
(
|
|
8
|
+
options?: AwsIdentityProperties & {
|
|
9
|
+
forceRefresh?: boolean;
|
|
10
|
+
}
|
|
11
|
+
): Promise<AwsCredentialIdentity>;
|
|
12
|
+
}
|
|
13
|
+
export declare function memoizeChain(
|
|
14
|
+
providers: RuntimeConfigAwsCredentialIdentityProvider[],
|
|
15
|
+
treatAsExpired: (resolved: AwsCredentialIdentity) => boolean
|
|
16
|
+
): MemoizedRuntimeConfigAwsCredentialIdentityProvider;
|
|
17
|
+
export declare const internalCreateChain: (
|
|
18
|
+
providers: RuntimeConfigAwsCredentialIdentityProvider[]
|
|
19
|
+
) => RuntimeConfigAwsCredentialIdentityProvider;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-node",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.921.0",
|
|
4
4
|
"description": "AWS credential provider that sources credentials from a Node.JS environment. ",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=18.0.0"
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"build:types": "tsc -p tsconfig.types.json",
|
|
16
16
|
"build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
|
|
17
17
|
"clean": "rimraf ./dist-* && rimraf *.tsbuildinfo",
|
|
18
|
-
"test": "yarn g:vitest run",
|
|
18
|
+
"test": "yarn g:vitest run --reporter verbose",
|
|
19
19
|
"test:watch": "yarn g:vitest watch",
|
|
20
20
|
"test:integration": "yarn g:vitest run -c vitest.config.integ.mts",
|
|
21
21
|
"test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts"
|
|
@@ -31,17 +31,17 @@
|
|
|
31
31
|
},
|
|
32
32
|
"license": "Apache-2.0",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@aws-sdk/credential-provider-env": "3.
|
|
35
|
-
"@aws-sdk/credential-provider-http": "3.
|
|
36
|
-
"@aws-sdk/credential-provider-ini": "3.
|
|
37
|
-
"@aws-sdk/credential-provider-process": "3.
|
|
38
|
-
"@aws-sdk/credential-provider-sso": "3.
|
|
39
|
-
"@aws-sdk/credential-provider-web-identity": "3.
|
|
40
|
-
"@aws-sdk/types": "3.
|
|
41
|
-
"@smithy/credential-provider-imds": "^4.2.
|
|
42
|
-
"@smithy/property-provider": "^4.2.
|
|
43
|
-
"@smithy/shared-ini-file-loader": "^4.3.
|
|
44
|
-
"@smithy/types": "^4.8.
|
|
34
|
+
"@aws-sdk/credential-provider-env": "3.921.0",
|
|
35
|
+
"@aws-sdk/credential-provider-http": "3.921.0",
|
|
36
|
+
"@aws-sdk/credential-provider-ini": "3.921.0",
|
|
37
|
+
"@aws-sdk/credential-provider-process": "3.921.0",
|
|
38
|
+
"@aws-sdk/credential-provider-sso": "3.921.0",
|
|
39
|
+
"@aws-sdk/credential-provider-web-identity": "3.921.0",
|
|
40
|
+
"@aws-sdk/types": "3.921.0",
|
|
41
|
+
"@smithy/credential-provider-imds": "^4.2.4",
|
|
42
|
+
"@smithy/property-provider": "^4.2.4",
|
|
43
|
+
"@smithy/shared-ini-file-loader": "^4.3.4",
|
|
44
|
+
"@smithy/types": "^4.8.1",
|
|
45
45
|
"tslib": "^2.6.2"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-process",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.921.0",
|
|
4
4
|
"description": "AWS credential provider that sources credential_process from ~/.aws/credentials and ~/.aws/config",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
},
|
|
27
27
|
"license": "Apache-2.0",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@aws-sdk/core": "3.
|
|
30
|
-
"@aws-sdk/types": "3.
|
|
31
|
-
"@smithy/property-provider": "^4.2.
|
|
32
|
-
"@smithy/shared-ini-file-loader": "^4.3.
|
|
33
|
-
"@smithy/types": "^4.8.
|
|
29
|
+
"@aws-sdk/core": "3.921.0",
|
|
30
|
+
"@aws-sdk/types": "3.921.0",
|
|
31
|
+
"@smithy/property-provider": "^4.2.4",
|
|
32
|
+
"@smithy/shared-ini-file-loader": "^4.3.4",
|
|
33
|
+
"@smithy/types": "^4.8.1",
|
|
34
34
|
"tslib": "^2.6.2"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-sso",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.921.0",
|
|
4
4
|
"description": "AWS credential provider that exchanges a resolved SSO login token file for temporary AWS credentials",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
},
|
|
27
27
|
"license": "Apache-2.0",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@aws-sdk/client-sso": "3.
|
|
30
|
-
"@aws-sdk/core": "3.
|
|
31
|
-
"@aws-sdk/token-providers": "3.
|
|
32
|
-
"@aws-sdk/types": "3.
|
|
33
|
-
"@smithy/property-provider": "^4.2.
|
|
34
|
-
"@smithy/shared-ini-file-loader": "^4.3.
|
|
35
|
-
"@smithy/types": "^4.8.
|
|
29
|
+
"@aws-sdk/client-sso": "3.921.0",
|
|
30
|
+
"@aws-sdk/core": "3.921.0",
|
|
31
|
+
"@aws-sdk/token-providers": "3.921.0",
|
|
32
|
+
"@aws-sdk/types": "3.921.0",
|
|
33
|
+
"@smithy/property-provider": "^4.2.4",
|
|
34
|
+
"@smithy/shared-ini-file-loader": "^4.3.4",
|
|
35
|
+
"@smithy/types": "^4.8.1",
|
|
36
36
|
"tslib": "^2.6.2"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/credential-provider-web-identity",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.921.0",
|
|
4
4
|
"description": "AWS credential provider that calls STS assumeRole for temporary AWS credentials",
|
|
5
5
|
"main": "./dist-cjs/index.js",
|
|
6
6
|
"module": "./dist-es/index.js",
|
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
},
|
|
35
35
|
"license": "Apache-2.0",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@aws-sdk/core": "3.
|
|
38
|
-
"@aws-sdk/nested-clients": "3.
|
|
39
|
-
"@aws-sdk/types": "3.
|
|
40
|
-
"@smithy/property-provider": "^4.2.
|
|
41
|
-
"@smithy/shared-ini-file-loader": "^4.3.
|
|
42
|
-
"@smithy/types": "^4.8.
|
|
37
|
+
"@aws-sdk/core": "3.921.0",
|
|
38
|
+
"@aws-sdk/nested-clients": "3.921.0",
|
|
39
|
+
"@aws-sdk/types": "3.921.0",
|
|
40
|
+
"@smithy/property-provider": "^4.2.4",
|
|
41
|
+
"@smithy/shared-ini-file-loader": "^4.3.4",
|
|
42
|
+
"@smithy/types": "^4.8.1",
|
|
43
43
|
"tslib": "^2.6.2"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-host-header",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.921.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
|
|
6
6
|
"build:cjs": "node ../../scripts/compilation/inline middleware-host-header",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
},
|
|
26
26
|
"license": "Apache-2.0",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aws-sdk/types": "3.
|
|
29
|
-
"@smithy/protocol-http": "^5.3.
|
|
30
|
-
"@smithy/types": "^4.8.
|
|
28
|
+
"@aws-sdk/types": "3.921.0",
|
|
29
|
+
"@smithy/protocol-http": "^5.3.4",
|
|
30
|
+
"@smithy/types": "^4.8.1",
|
|
31
31
|
"tslib": "^2.6.2"
|
|
32
32
|
},
|
|
33
33
|
"engines": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-logger",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.921.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
|
|
6
6
|
"build:cjs": "node ../../scripts/compilation/inline middleware-logger",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"module": "./dist-es/index.js",
|
|
26
26
|
"types": "./dist-types/index.d.ts",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aws-sdk/types": "3.
|
|
29
|
-
"@smithy/types": "^4.8.
|
|
28
|
+
"@aws-sdk/types": "3.921.0",
|
|
29
|
+
"@smithy/types": "^4.8.1",
|
|
30
30
|
"tslib": "^2.6.2"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-recursion-detection",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.921.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
|
|
6
6
|
"build:cjs": "node ../../scripts/compilation/inline middleware-recursion-detection",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
},
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aws-sdk/types": "3.
|
|
27
|
+
"@aws-sdk/types": "3.921.0",
|
|
28
28
|
"@aws/lambda-invoke-store": "^0.1.1",
|
|
29
|
-
"@smithy/protocol-http": "^5.3.
|
|
30
|
-
"@smithy/types": "^4.8.
|
|
29
|
+
"@smithy/protocol-http": "^5.3.4",
|
|
30
|
+
"@smithy/types": "^4.8.1",
|
|
31
31
|
"tslib": "^2.6.2"
|
|
32
32
|
},
|
|
33
33
|
"engines": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-user-agent",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.921.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
|
|
6
6
|
"build:cjs": "node ../../scripts/compilation/inline middleware-user-agent",
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
},
|
|
26
26
|
"license": "Apache-2.0",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aws-sdk/core": "3.
|
|
29
|
-
"@aws-sdk/types": "3.
|
|
30
|
-
"@aws-sdk/util-endpoints": "3.
|
|
31
|
-
"@smithy/core": "^3.17.
|
|
32
|
-
"@smithy/protocol-http": "^5.3.
|
|
33
|
-
"@smithy/types": "^4.8.
|
|
28
|
+
"@aws-sdk/core": "3.921.0",
|
|
29
|
+
"@aws-sdk/types": "3.921.0",
|
|
30
|
+
"@aws-sdk/util-endpoints": "3.921.0",
|
|
31
|
+
"@smithy/core": "^3.17.2",
|
|
32
|
+
"@smithy/protocol-http": "^5.3.4",
|
|
33
|
+
"@smithy/types": "^4.8.1",
|
|
34
34
|
"tslib": "^2.6.2"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/ruleset.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ruleSet = void 0;
|
|
4
4
|
const u = "required", v = "fn", w = "argv", x = "ref";
|
|
5
|
-
const a = true, b = "isSet", c = "booleanEquals", d = "error", e = "endpoint", f = "tree", g = "PartitionResult", h = "getAttr", i = { [u]: false, "type": "
|
|
5
|
+
const a = true, b = "isSet", c = "booleanEquals", d = "error", e = "endpoint", f = "tree", g = "PartitionResult", h = "getAttr", i = { [u]: false, "type": "string" }, j = { [u]: true, "default": false, "type": "boolean" }, k = { [x]: "Endpoint" }, l = { [v]: c, [w]: [{ [x]: "UseFIPS" }, true] }, m = { [v]: c, [w]: [{ [x]: "UseDualStack" }, true] }, n = {}, o = { [v]: h, [w]: [{ [x]: g }, "supportsFIPS"] }, p = { [x]: g }, q = { [v]: c, [w]: [true, { [v]: h, [w]: [p, "supportsDualStack"] }] }, r = [l], s = [m], t = [{ [x]: "Region" }];
|
|
6
6
|
const _data = { version: "1.0", parameters: { Region: i, UseDualStack: j, UseFIPS: j, Endpoint: i }, rules: [{ conditions: [{ [v]: b, [w]: [k] }], rules: [{ conditions: r, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d }, { conditions: s, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: d }, { endpoint: { url: k, properties: n, headers: n }, type: e }], type: f }, { conditions: [{ [v]: b, [w]: t }], rules: [{ conditions: [{ [v]: "aws.partition", [w]: t, assign: g }], rules: [{ conditions: [l, m], rules: [{ conditions: [{ [v]: c, [w]: [a, o] }, q], rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: d }], type: f }, { conditions: r, rules: [{ conditions: [{ [v]: c, [w]: [o, a] }], rules: [{ conditions: [{ [v]: "stringEquals", [w]: [{ [v]: h, [w]: [p, "name"] }, "aws-us-gov"] }], endpoint: { url: "https://oidc.{Region}.amazonaws.com", properties: n, headers: n }, type: e }, { endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "FIPS is enabled but this partition does not support FIPS", type: d }], type: f }, { conditions: s, rules: [{ conditions: [q], rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "DualStack is enabled but this partition does not support DualStack", type: d }], type: f }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: n, headers: n }, type: e }], type: f }], type: f }, { error: "Invalid Configuration: Missing Region", type: d }] };
|
|
7
7
|
exports.ruleSet = _data;
|
|
@@ -8,6 +8,7 @@ var EndpointParameters = require('./endpoint/EndpointParameters');
|
|
|
8
8
|
var core = require('@aws-sdk/core');
|
|
9
9
|
var protocolHttp = require('@smithy/protocol-http');
|
|
10
10
|
var client = require('@aws-sdk/core/client');
|
|
11
|
+
var regionConfigResolver = require('@aws-sdk/region-config-resolver');
|
|
11
12
|
|
|
12
13
|
class STSServiceException extends smithyClient.ServiceException {
|
|
13
14
|
constructor(options) {
|
|
@@ -679,7 +680,6 @@ class STS extends STSClient.STSClient {
|
|
|
679
680
|
}
|
|
680
681
|
smithyClient.createAggregatedClient(commands, STS);
|
|
681
682
|
|
|
682
|
-
const ASSUME_ROLE_DEFAULT_REGION = "us-east-1";
|
|
683
683
|
const getAccountIdFromAssumedRoleUser = (assumedRoleUser) => {
|
|
684
684
|
if (typeof assumedRoleUser?.Arn === "string") {
|
|
685
685
|
const arnComponents = assumedRoleUser.Arn.split(":");
|
|
@@ -689,11 +689,12 @@ const getAccountIdFromAssumedRoleUser = (assumedRoleUser) => {
|
|
|
689
689
|
}
|
|
690
690
|
return undefined;
|
|
691
691
|
};
|
|
692
|
-
const resolveRegion = async (_region, _parentRegion, credentialProviderLogger) => {
|
|
692
|
+
const resolveRegion = async (_region, _parentRegion, credentialProviderLogger, loaderConfig = {}) => {
|
|
693
693
|
const region = typeof _region === "function" ? await _region() : _region;
|
|
694
694
|
const parentRegion = typeof _parentRegion === "function" ? await _parentRegion() : _parentRegion;
|
|
695
|
-
|
|
696
|
-
|
|
695
|
+
const stsDefaultRegion = await regionConfigResolver.stsRegionDefaultResolver(loaderConfig)();
|
|
696
|
+
credentialProviderLogger?.debug?.("@aws-sdk/client-sts::resolveRegion", "accepting first of:", `${region} (credential provider clientConfig)`, `${parentRegion} (contextual client)`, `${stsDefaultRegion} (STS default: AWS_REGION, profile region, or us-east-1)`);
|
|
697
|
+
return region ?? parentRegion ?? stsDefaultRegion;
|
|
697
698
|
};
|
|
698
699
|
const getDefaultRoleAssumer$1 = (stsOptions, STSClient) => {
|
|
699
700
|
let stsClient;
|
|
@@ -702,7 +703,10 @@ const getDefaultRoleAssumer$1 = (stsOptions, STSClient) => {
|
|
|
702
703
|
closureSourceCreds = sourceCreds;
|
|
703
704
|
if (!stsClient) {
|
|
704
705
|
const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, } = stsOptions;
|
|
705
|
-
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger
|
|
706
|
+
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
|
|
707
|
+
logger,
|
|
708
|
+
profile,
|
|
709
|
+
});
|
|
706
710
|
const isCompatibleRequestHandler = !isH2(requestHandler);
|
|
707
711
|
stsClient = new STSClient({
|
|
708
712
|
...stsOptions,
|
|
@@ -735,7 +739,10 @@ const getDefaultRoleAssumerWithWebIdentity$1 = (stsOptions, STSClient) => {
|
|
|
735
739
|
return async (params) => {
|
|
736
740
|
if (!stsClient) {
|
|
737
741
|
const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, } = stsOptions;
|
|
738
|
-
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger
|
|
742
|
+
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
|
|
743
|
+
logger,
|
|
744
|
+
profile,
|
|
745
|
+
});
|
|
739
746
|
const isCompatibleRequestHandler = !isH2(requestHandler);
|
|
740
747
|
stsClient = new STSClient({
|
|
741
748
|
...stsOptions,
|
package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/ruleset.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
const u = "required", v = "fn", w = "argv", x = "ref";
|
|
2
|
-
const a = true, b = "isSet", c = "booleanEquals", d = "error", e = "endpoint", f = "tree", g = "PartitionResult", h = "getAttr", i = { [u]: false, "type": "
|
|
2
|
+
const a = true, b = "isSet", c = "booleanEquals", d = "error", e = "endpoint", f = "tree", g = "PartitionResult", h = "getAttr", i = { [u]: false, "type": "string" }, j = { [u]: true, "default": false, "type": "boolean" }, k = { [x]: "Endpoint" }, l = { [v]: c, [w]: [{ [x]: "UseFIPS" }, true] }, m = { [v]: c, [w]: [{ [x]: "UseDualStack" }, true] }, n = {}, o = { [v]: h, [w]: [{ [x]: g }, "supportsFIPS"] }, p = { [x]: g }, q = { [v]: c, [w]: [true, { [v]: h, [w]: [p, "supportsDualStack"] }] }, r = [l], s = [m], t = [{ [x]: "Region" }];
|
|
3
3
|
const _data = { version: "1.0", parameters: { Region: i, UseDualStack: j, UseFIPS: j, Endpoint: i }, rules: [{ conditions: [{ [v]: b, [w]: [k] }], rules: [{ conditions: r, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: d }, { conditions: s, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: d }, { endpoint: { url: k, properties: n, headers: n }, type: e }], type: f }, { conditions: [{ [v]: b, [w]: t }], rules: [{ conditions: [{ [v]: "aws.partition", [w]: t, assign: g }], rules: [{ conditions: [l, m], rules: [{ conditions: [{ [v]: c, [w]: [a, o] }, q], rules: [{ endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: d }], type: f }, { conditions: r, rules: [{ conditions: [{ [v]: c, [w]: [o, a] }], rules: [{ conditions: [{ [v]: "stringEquals", [w]: [{ [v]: h, [w]: [p, "name"] }, "aws-us-gov"] }], endpoint: { url: "https://oidc.{Region}.amazonaws.com", properties: n, headers: n }, type: e }, { endpoint: { url: "https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "FIPS is enabled but this partition does not support FIPS", type: d }], type: f }, { conditions: s, rules: [{ conditions: [q], rules: [{ endpoint: { url: "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: n, headers: n }, type: e }], type: f }, { error: "DualStack is enabled but this partition does not support DualStack", type: d }], type: f }, { endpoint: { url: "https://oidc.{Region}.{PartitionResult#dnsSuffix}", properties: n, headers: n }, type: e }], type: f }], type: f }, { error: "Invalid Configuration: Missing Region", type: d }] };
|
|
4
4
|
export const ruleSet = _data;
|
package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { setCredentialFeature } from "@aws-sdk/core/client";
|
|
2
|
+
import { stsRegionDefaultResolver } from "@aws-sdk/region-config-resolver";
|
|
2
3
|
import { AssumeRoleCommand } from "./commands/AssumeRoleCommand";
|
|
3
4
|
import { AssumeRoleWithWebIdentityCommand, } from "./commands/AssumeRoleWithWebIdentityCommand";
|
|
4
|
-
const ASSUME_ROLE_DEFAULT_REGION = "us-east-1";
|
|
5
5
|
const getAccountIdFromAssumedRoleUser = (assumedRoleUser) => {
|
|
6
6
|
if (typeof assumedRoleUser?.Arn === "string") {
|
|
7
7
|
const arnComponents = assumedRoleUser.Arn.split(":");
|
|
@@ -11,11 +11,12 @@ const getAccountIdFromAssumedRoleUser = (assumedRoleUser) => {
|
|
|
11
11
|
}
|
|
12
12
|
return undefined;
|
|
13
13
|
};
|
|
14
|
-
const resolveRegion = async (_region, _parentRegion, credentialProviderLogger) => {
|
|
14
|
+
const resolveRegion = async (_region, _parentRegion, credentialProviderLogger, loaderConfig = {}) => {
|
|
15
15
|
const region = typeof _region === "function" ? await _region() : _region;
|
|
16
16
|
const parentRegion = typeof _parentRegion === "function" ? await _parentRegion() : _parentRegion;
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
const stsDefaultRegion = await stsRegionDefaultResolver(loaderConfig)();
|
|
18
|
+
credentialProviderLogger?.debug?.("@aws-sdk/client-sts::resolveRegion", "accepting first of:", `${region} (credential provider clientConfig)`, `${parentRegion} (contextual client)`, `${stsDefaultRegion} (STS default: AWS_REGION, profile region, or us-east-1)`);
|
|
19
|
+
return region ?? parentRegion ?? stsDefaultRegion;
|
|
19
20
|
};
|
|
20
21
|
export const getDefaultRoleAssumer = (stsOptions, STSClient) => {
|
|
21
22
|
let stsClient;
|
|
@@ -24,7 +25,10 @@ export const getDefaultRoleAssumer = (stsOptions, STSClient) => {
|
|
|
24
25
|
closureSourceCreds = sourceCreds;
|
|
25
26
|
if (!stsClient) {
|
|
26
27
|
const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, } = stsOptions;
|
|
27
|
-
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger
|
|
28
|
+
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
|
|
29
|
+
logger,
|
|
30
|
+
profile,
|
|
31
|
+
});
|
|
28
32
|
const isCompatibleRequestHandler = !isH2(requestHandler);
|
|
29
33
|
stsClient = new STSClient({
|
|
30
34
|
...stsOptions,
|
|
@@ -57,7 +61,10 @@ export const getDefaultRoleAssumerWithWebIdentity = (stsOptions, STSClient) => {
|
|
|
57
61
|
return async (params) => {
|
|
58
62
|
if (!stsClient) {
|
|
59
63
|
const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, } = stsOptions;
|
|
60
|
-
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger
|
|
64
|
+
const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {
|
|
65
|
+
logger,
|
|
66
|
+
profile,
|
|
67
|
+
});
|
|
61
68
|
const isCompatibleRequestHandler = !isH2(requestHandler);
|
|
62
69
|
stsClient = new STSClient({
|
|
63
70
|
...stsOptions,
|