@cdk8s/awscdk-resolver 0.0.107 → 0.0.109
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 +3 -3
- package/lib/resolve.js +1 -1
- package/node_modules/@aws-sdk/client-cloudformation/package.json +18 -18
- package/node_modules/@aws-sdk/client-sso/package.json +15 -15
- package/node_modules/@aws-sdk/client-sso-oidc/package.json +17 -17
- package/node_modules/@aws-sdk/client-sts/package.json +17 -17
- package/node_modules/@aws-sdk/core/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +2 -2
- package/node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js +2 -2
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.browser.js +4 -4
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js +12 -9
- package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js +6 -5
- package/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/checkUrl.js +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.browser.js +4 -4
- package/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js +12 -9
- package/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/requestHelpers.js +6 -5
- package/node_modules/@aws-sdk/credential-provider-http/dist-types/fromHttp/checkUrl.d.ts +3 -1
- package/node_modules/@aws-sdk/credential-provider-http/dist-types/fromHttp/fromHttp.browser.d.ts +1 -1
- package/node_modules/@aws-sdk/credential-provider-http/dist-types/fromHttp/fromHttp.d.ts +1 -1
- package/node_modules/@aws-sdk/credential-provider-http/dist-types/fromHttp/requestHelpers.d.ts +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/dist-types/ts3.4/fromHttp/checkUrl.d.ts +2 -1
- package/node_modules/@aws-sdk/credential-provider-http/dist-types/ts3.4/fromHttp/fromHttp.browser.d.ts +1 -1
- package/node_modules/@aws-sdk/credential-provider-http/dist-types/ts3.4/fromHttp/fromHttp.d.ts +1 -1
- package/node_modules/@aws-sdk/credential-provider-http/dist-types/ts3.4/fromHttp/requestHelpers.d.ts +3 -2
- package/node_modules/@aws-sdk/credential-provider-http/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +70 -20
- package/node_modules/@aws-sdk/credential-provider-ini/dist-es/fromIni.js +1 -1
- package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveAssumeRoleCredentials.js +35 -14
- package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveCredentialSource.js +19 -6
- package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProfileData.js +2 -2
- package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveStaticCredentials.js +1 -1
- package/node_modules/@aws-sdk/credential-provider-ini/dist-types/resolveAssumeRoleCredentials.d.ts +5 -2
- package/node_modules/@aws-sdk/credential-provider-ini/dist-types/resolveCredentialSource.d.ts +2 -2
- package/node_modules/@aws-sdk/credential-provider-ini/dist-types/ts3.4/resolveAssumeRoleCredentials.d.ts +11 -2
- package/node_modules/@aws-sdk/credential-provider-ini/dist-types/ts3.4/resolveCredentialSource.d.ts +3 -2
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +10 -9
- package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +15 -11
- package/node_modules/@aws-sdk/credential-provider-node/dist-es/defaultProvider.js +11 -8
- package/node_modules/@aws-sdk/credential-provider-node/dist-es/remoteProvider.js +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/dist-types/defaultProvider.d.ts +2 -1
- package/node_modules/@aws-sdk/credential-provider-node/dist-types/remoteProvider.d.ts +2 -1
- package/node_modules/@aws-sdk/credential-provider-node/dist-types/ts3.4/defaultProvider.d.ts +2 -0
- package/node_modules/@aws-sdk/credential-provider-node/dist-types/ts3.4/remoteProvider.d.ts +2 -1
- package/node_modules/@aws-sdk/credential-provider-node/package.json +10 -10
- package/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +8 -6
- package/node_modules/@aws-sdk/credential-provider-process/dist-es/fromProcess.js +2 -2
- package/node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js +6 -4
- package/node_modules/@aws-sdk/credential-provider-process/dist-types/resolveProcessCredentials.d.ts +2 -2
- package/node_modules/@aws-sdk/credential-provider-process/dist-types/ts3.4/resolveProcessCredentials.d.ts +3 -2
- package/node_modules/@aws-sdk/credential-provider-process/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +43 -21
- package/node_modules/@aws-sdk/credential-provider-sso/dist-es/fromSSO.js +15 -7
- package/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js +21 -6
- package/node_modules/@aws-sdk/credential-provider-sso/dist-es/validateSsoProfile.js +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/dist-types/resolveSSOCredentials.d.ts +1 -1
- package/node_modules/@aws-sdk/credential-provider-sso/dist-types/ts3.4/resolveSSOCredentials.d.ts +1 -0
- package/node_modules/@aws-sdk/credential-provider-sso/dist-types/ts3.4/validateSsoProfile.d.ts +3 -1
- package/node_modules/@aws-sdk/credential-provider-sso/dist-types/validateSsoProfile.d.ts +2 -1
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js +4 -2
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js +1 -1
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromTokenFile.js +4 -2
- package/node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromWebToken.js +1 -1
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +2 -2
- package/node_modules/@aws-sdk/region-config-resolver/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +2 -2
- package/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +1 -1
- package/node_modules/@aws-sdk/token-providers/dist-es/fromStatic.js +1 -1
- package/node_modules/@aws-sdk/token-providers/package.json +4 -4
- package/node_modules/@aws-sdk/util-endpoints/package.json +2 -2
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
- package/node_modules/@smithy/config-resolver/package.json +2 -2
- package/node_modules/@smithy/core/README.md +35 -2
- package/node_modules/@smithy/core/package.json +19 -6
- package/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +30 -22
- package/node_modules/@smithy/credential-provider-imds/dist-es/fromContainerMetadata.js +17 -6
- package/node_modules/@smithy/credential-provider-imds/dist-es/fromInstanceMetadata.js +11 -9
- package/node_modules/@smithy/credential-provider-imds/package.json +3 -3
- package/node_modules/@smithy/middleware-endpoint/package.json +3 -3
- package/node_modules/@smithy/middleware-retry/package.json +3 -3
- package/node_modules/@smithy/node-config-provider/dist-cjs/getSelectorName.js +1 -0
- package/node_modules/@smithy/node-config-provider/dist-cjs/index.js +21 -3
- package/node_modules/@smithy/node-config-provider/dist-es/fromEnv.js +3 -2
- package/node_modules/@smithy/node-config-provider/dist-es/fromSharedConfigFiles.js +2 -2
- package/node_modules/@smithy/node-config-provider/dist-es/getSelectorName.js +12 -0
- package/node_modules/@smithy/node-config-provider/dist-types/fromEnv.d.ts +2 -2
- package/node_modules/@smithy/node-config-provider/dist-types/getSelectorName.d.ts +9 -0
- package/node_modules/@smithy/node-config-provider/dist-types/ts3.4/fromEnv.d.ts +2 -2
- package/node_modules/@smithy/node-config-provider/dist-types/ts3.4/getSelectorName.d.ts +9 -0
- package/node_modules/@smithy/node-config-provider/package.json +3 -3
- package/node_modules/@smithy/property-provider/dist-cjs/index.js +28 -10
- package/node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js +2 -3
- package/node_modules/@smithy/property-provider/dist-es/ProviderError.js +15 -4
- package/node_modules/@smithy/property-provider/dist-es/TokenProviderError.js +2 -3
- package/node_modules/@smithy/property-provider/dist-types/CredentialsProviderError.d.ts +16 -3
- package/node_modules/@smithy/property-provider/dist-types/ProviderError.d.ts +25 -3
- package/node_modules/@smithy/property-provider/dist-types/TokenProviderError.d.ts +16 -3
- package/node_modules/@smithy/property-provider/dist-types/ts3.4/CredentialsProviderError.d.ts +16 -3
- package/node_modules/@smithy/property-provider/dist-types/ts3.4/ProviderError.d.ts +25 -3
- package/node_modules/@smithy/property-provider/dist-types/ts3.4/TokenProviderError.d.ts +16 -3
- package/node_modules/@smithy/property-provider/package.json +1 -1
- package/node_modules/@smithy/shared-ini-file-loader/dist-types/loadSharedConfigFiles.d.ts +5 -1
- package/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/loadSharedConfigFiles.d.ts +5 -1
- package/node_modules/@smithy/shared-ini-file-loader/package.json +1 -1
- package/node_modules/@smithy/smithy-client/dist-cjs/index.js +3 -0
- package/node_modules/@smithy/smithy-client/dist-es/ser-utils.js +1 -0
- package/node_modules/@smithy/smithy-client/dist-types/ser-utils.d.ts +5 -0
- package/node_modules/@smithy/smithy-client/dist-types/ts3.4/ser-utils.d.ts +5 -0
- package/node_modules/@smithy/smithy-client/package.json +2 -2
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +3 -3
- package/node_modules/@smithy/util-defaults-mode-node/package.json +6 -6
- package/node_modules/@smithy/util-endpoints/package.json +2 -2
- package/package.json +6 -5
@@ -49,16 +49,16 @@ var remoteProvider = /* @__PURE__ */ __name(async (init) => {
|
|
49
49
|
var _a, _b;
|
50
50
|
const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = await Promise.resolve().then(() => __toESM(require("@smithy/credential-provider-imds")));
|
51
51
|
if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {
|
52
|
-
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node
|
52
|
+
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");
|
53
53
|
const { fromHttp } = await Promise.resolve().then(() => __toESM(require("@aws-sdk/credential-provider-http")));
|
54
54
|
return (0, import_property_provider.chain)(fromHttp(init), fromContainerMetadata(init));
|
55
55
|
}
|
56
56
|
if (process.env[ENV_IMDS_DISABLED]) {
|
57
57
|
return async () => {
|
58
|
-
throw new import_property_provider.CredentialsProviderError("EC2 Instance Metadata Service access disabled");
|
58
|
+
throw new import_property_provider.CredentialsProviderError("EC2 Instance Metadata Service access disabled", { logger: init.logger });
|
59
59
|
};
|
60
60
|
}
|
61
|
-
(_b = init.logger) == null ? void 0 : _b.debug("@aws-sdk/credential-provider-node
|
61
|
+
(_b = init.logger) == null ? void 0 : _b.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata");
|
62
62
|
return fromInstanceMetadata(init);
|
63
63
|
}, "remoteProvider");
|
64
64
|
|
@@ -68,17 +68,18 @@ var defaultProvider = /* @__PURE__ */ __name((init = {}) => (0, import_property_
|
|
68
68
|
...init.profile || process.env[import_shared_ini_file_loader.ENV_PROFILE] ? [] : [
|
69
69
|
async () => {
|
70
70
|
var _a;
|
71
|
-
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node
|
71
|
+
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv");
|
72
72
|
return (0, import_credential_provider_env.fromEnv)(init)();
|
73
73
|
}
|
74
74
|
],
|
75
75
|
async () => {
|
76
76
|
var _a;
|
77
|
-
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node
|
77
|
+
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");
|
78
78
|
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
|
79
79
|
if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
|
80
80
|
throw new import_property_provider.CredentialsProviderError(
|
81
|
-
"Skipping SSO provider in default chain (inputs do not include SSO fields)."
|
81
|
+
"Skipping SSO provider in default chain (inputs do not include SSO fields).",
|
82
|
+
{ logger: init.logger }
|
82
83
|
);
|
83
84
|
}
|
84
85
|
const { fromSSO } = await Promise.resolve().then(() => __toESM(require("@aws-sdk/credential-provider-sso")));
|
@@ -86,29 +87,32 @@ var defaultProvider = /* @__PURE__ */ __name((init = {}) => (0, import_property_
|
|
86
87
|
},
|
87
88
|
async () => {
|
88
89
|
var _a;
|
89
|
-
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node
|
90
|
+
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");
|
90
91
|
const { fromIni } = await Promise.resolve().then(() => __toESM(require("@aws-sdk/credential-provider-ini")));
|
91
92
|
return fromIni(init)();
|
92
93
|
},
|
93
94
|
async () => {
|
94
95
|
var _a;
|
95
|
-
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node
|
96
|
+
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");
|
96
97
|
const { fromProcess } = await Promise.resolve().then(() => __toESM(require("@aws-sdk/credential-provider-process")));
|
97
98
|
return fromProcess(init)();
|
98
99
|
},
|
99
100
|
async () => {
|
100
101
|
var _a;
|
101
|
-
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node
|
102
|
+
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");
|
102
103
|
const { fromTokenFile } = await Promise.resolve().then(() => __toESM(require("@aws-sdk/credential-provider-web-identity")));
|
103
104
|
return fromTokenFile(init)();
|
104
105
|
},
|
105
106
|
async () => {
|
106
107
|
var _a;
|
107
|
-
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node
|
108
|
+
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider");
|
108
109
|
return (await remoteProvider(init))();
|
109
110
|
},
|
110
111
|
async () => {
|
111
|
-
throw new import_property_provider.CredentialsProviderError("Could not load credentials from any providers",
|
112
|
+
throw new import_property_provider.CredentialsProviderError("Could not load credentials from any providers", {
|
113
|
+
tryNextLink: false,
|
114
|
+
logger: init.logger
|
115
|
+
});
|
112
116
|
}
|
113
117
|
),
|
114
118
|
credentialsTreatedAsExpired,
|
@@ -6,34 +6,37 @@ export const defaultProvider = (init = {}) => memoize(chain(...(init.profile ||
|
|
6
6
|
? []
|
7
7
|
: [
|
8
8
|
async () => {
|
9
|
-
init.logger?.debug("@aws-sdk/credential-provider-node
|
9
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv");
|
10
10
|
return fromEnv(init)();
|
11
11
|
},
|
12
12
|
]), async () => {
|
13
|
-
init.logger?.debug("@aws-sdk/credential-provider-node
|
13
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");
|
14
14
|
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
|
15
15
|
if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {
|
16
|
-
throw new CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).");
|
16
|
+
throw new CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).", { logger: init.logger });
|
17
17
|
}
|
18
18
|
const { fromSSO } = await import("@aws-sdk/credential-provider-sso");
|
19
19
|
return fromSSO(init)();
|
20
20
|
}, async () => {
|
21
|
-
init.logger?.debug("@aws-sdk/credential-provider-node
|
21
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");
|
22
22
|
const { fromIni } = await import("@aws-sdk/credential-provider-ini");
|
23
23
|
return fromIni(init)();
|
24
24
|
}, async () => {
|
25
|
-
init.logger?.debug("@aws-sdk/credential-provider-node
|
25
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");
|
26
26
|
const { fromProcess } = await import("@aws-sdk/credential-provider-process");
|
27
27
|
return fromProcess(init)();
|
28
28
|
}, async () => {
|
29
|
-
init.logger?.debug("@aws-sdk/credential-provider-node
|
29
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");
|
30
30
|
const { fromTokenFile } = await import("@aws-sdk/credential-provider-web-identity");
|
31
31
|
return fromTokenFile(init)();
|
32
32
|
}, async () => {
|
33
|
-
init.logger?.debug("@aws-sdk/credential-provider-node
|
33
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider");
|
34
34
|
return (await remoteProvider(init))();
|
35
35
|
}, async () => {
|
36
|
-
throw new CredentialsProviderError("Could not load credentials from any providers",
|
36
|
+
throw new CredentialsProviderError("Could not load credentials from any providers", {
|
37
|
+
tryNextLink: false,
|
38
|
+
logger: init.logger,
|
39
|
+
});
|
37
40
|
}), credentialsTreatedAsExpired, credentialsWillNeedRefresh);
|
38
41
|
export const credentialsWillNeedRefresh = (credentials) => credentials?.expiration !== undefined;
|
39
42
|
export const credentialsTreatedAsExpired = (credentials) => credentials?.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000;
|
@@ -3,15 +3,15 @@ export const ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
|
|
3
3
|
export const remoteProvider = async (init) => {
|
4
4
|
const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = await import("@smithy/credential-provider-imds");
|
5
5
|
if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {
|
6
|
-
init.logger?.debug("@aws-sdk/credential-provider-node
|
6
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");
|
7
7
|
const { fromHttp } = await import("@aws-sdk/credential-provider-http");
|
8
8
|
return chain(fromHttp(init), fromContainerMetadata(init));
|
9
9
|
}
|
10
10
|
if (process.env[ENV_IMDS_DISABLED]) {
|
11
11
|
return async () => {
|
12
|
-
throw new CredentialsProviderError("EC2 Instance Metadata Service access disabled");
|
12
|
+
throw new CredentialsProviderError("EC2 Instance Metadata Service access disabled", { logger: init.logger });
|
13
13
|
};
|
14
14
|
}
|
15
|
-
init.logger?.debug("@aws-sdk/credential-provider-node
|
15
|
+
init.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata");
|
16
16
|
return fromInstanceMetadata(init);
|
17
17
|
};
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import type { FromHttpOptions } from "@aws-sdk/credential-provider-http";
|
1
2
|
import type { FromIniInit } from "@aws-sdk/credential-provider-ini";
|
2
3
|
import type { FromProcessInit } from "@aws-sdk/credential-provider-process";
|
3
4
|
import type { FromSSOInit, SsoCredentialsParameters } from "@aws-sdk/credential-provider-sso";
|
@@ -7,7 +8,7 @@ import { AwsCredentialIdentity, MemoizedProvider } from "@smithy/types";
|
|
7
8
|
/**
|
8
9
|
* @public
|
9
10
|
*/
|
10
|
-
export type DefaultProviderInit = FromIniInit & RemoteProviderInit & FromProcessInit & (FromSSOInit & Partial<SsoCredentialsParameters>) & FromTokenFileInit;
|
11
|
+
export type DefaultProviderInit = FromIniInit & FromHttpOptions & RemoteProviderInit & FromProcessInit & (FromSSOInit & Partial<SsoCredentialsParameters>) & FromTokenFileInit;
|
11
12
|
/**
|
12
13
|
* Creates a credential provider that will attempt to find credentials from the
|
13
14
|
* following sources (listed in order of precedence):
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import type { FromHttpOptions } from "@aws-sdk/credential-provider-http";
|
1
2
|
import type { RemoteProviderInit } from "@smithy/credential-provider-imds";
|
2
3
|
import type { AwsCredentialIdentityProvider } from "@smithy/types";
|
3
4
|
/**
|
@@ -7,4 +8,4 @@ export declare const ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
|
|
7
8
|
/**
|
8
9
|
* @internal
|
9
10
|
*/
|
10
|
-
export declare const remoteProvider: (init: RemoteProviderInit) => Promise<AwsCredentialIdentityProvider>;
|
11
|
+
export declare const remoteProvider: (init: RemoteProviderInit | FromHttpOptions) => Promise<AwsCredentialIdentityProvider>;
|
package/node_modules/@aws-sdk/credential-provider-node/dist-types/ts3.4/defaultProvider.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { FromHttpOptions } from "@aws-sdk/credential-provider-http";
|
1
2
|
import { FromIniInit } from "@aws-sdk/credential-provider-ini";
|
2
3
|
import { FromProcessInit } from "@aws-sdk/credential-provider-process";
|
3
4
|
import {
|
@@ -8,6 +9,7 @@ import { FromTokenFileInit } from "@aws-sdk/credential-provider-web-identity";
|
|
8
9
|
import { RemoteProviderInit } from "@smithy/credential-provider-imds";
|
9
10
|
import { AwsCredentialIdentity, MemoizedProvider } from "@smithy/types";
|
10
11
|
export type DefaultProviderInit = FromIniInit &
|
12
|
+
FromHttpOptions &
|
11
13
|
RemoteProviderInit &
|
12
14
|
FromProcessInit &
|
13
15
|
(FromSSOInit & Partial<SsoCredentialsParameters>) &
|
@@ -1,6 +1,7 @@
|
|
1
|
+
import { FromHttpOptions } from "@aws-sdk/credential-provider-http";
|
1
2
|
import { RemoteProviderInit } from "@smithy/credential-provider-imds";
|
2
3
|
import { AwsCredentialIdentityProvider } from "@smithy/types";
|
3
4
|
export declare const ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
|
4
5
|
export declare const remoteProvider: (
|
5
|
-
init: RemoteProviderInit
|
6
|
+
init: RemoteProviderInit | FromHttpOptions
|
6
7
|
) => Promise<AwsCredentialIdentityProvider>;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@aws-sdk/credential-provider-node",
|
3
|
-
"version": "3.
|
3
|
+
"version": "3.587.0",
|
4
4
|
"description": "AWS credential provider that sources credentials from a Node.JS environment. ",
|
5
5
|
"engines": {
|
6
6
|
"node": ">=16.0.0"
|
@@ -28,16 +28,16 @@
|
|
28
28
|
},
|
29
29
|
"license": "Apache-2.0",
|
30
30
|
"dependencies": {
|
31
|
-
"@aws-sdk/credential-provider-env": "3.
|
32
|
-
"@aws-sdk/credential-provider-http": "3.
|
33
|
-
"@aws-sdk/credential-provider-ini": "3.
|
34
|
-
"@aws-sdk/credential-provider-process": "3.
|
35
|
-
"@aws-sdk/credential-provider-sso": "3.
|
36
|
-
"@aws-sdk/credential-provider-web-identity": "3.
|
31
|
+
"@aws-sdk/credential-provider-env": "3.587.0",
|
32
|
+
"@aws-sdk/credential-provider-http": "3.587.0",
|
33
|
+
"@aws-sdk/credential-provider-ini": "3.587.0",
|
34
|
+
"@aws-sdk/credential-provider-process": "3.587.0",
|
35
|
+
"@aws-sdk/credential-provider-sso": "3.587.0",
|
36
|
+
"@aws-sdk/credential-provider-web-identity": "3.587.0",
|
37
37
|
"@aws-sdk/types": "3.577.0",
|
38
|
-
"@smithy/credential-provider-imds": "^3.
|
39
|
-
"@smithy/property-provider": "^3.
|
40
|
-
"@smithy/shared-ini-file-loader": "^3.
|
38
|
+
"@smithy/credential-provider-imds": "^3.1.0",
|
39
|
+
"@smithy/property-provider": "^3.1.0",
|
40
|
+
"@smithy/shared-ini-file-loader": "^3.1.0",
|
41
41
|
"@smithy/types": "^3.0.0",
|
42
42
|
"tslib": "^2.6.2"
|
43
43
|
},
|
@@ -58,7 +58,7 @@ var getValidatedProcessCredentials = /* @__PURE__ */ __name((profileName, data)
|
|
58
58
|
}, "getValidatedProcessCredentials");
|
59
59
|
|
60
60
|
// src/resolveProcessCredentials.ts
|
61
|
-
var resolveProcessCredentials = /* @__PURE__ */ __name(async (profileName, profiles) => {
|
61
|
+
var resolveProcessCredentials = /* @__PURE__ */ __name(async (profileName, profiles, logger) => {
|
62
62
|
const profile = profiles[profileName];
|
63
63
|
if (profiles[profileName]) {
|
64
64
|
const credentialProcess = profile["credential_process"];
|
@@ -74,22 +74,24 @@ var resolveProcessCredentials = /* @__PURE__ */ __name(async (profileName, profi
|
|
74
74
|
}
|
75
75
|
return getValidatedProcessCredentials(profileName, data);
|
76
76
|
} catch (error) {
|
77
|
-
throw new import_property_provider.CredentialsProviderError(error.message);
|
77
|
+
throw new import_property_provider.CredentialsProviderError(error.message, { logger });
|
78
78
|
}
|
79
79
|
} else {
|
80
|
-
throw new import_property_provider.CredentialsProviderError(`Profile ${profileName} did not contain credential_process
|
80
|
+
throw new import_property_provider.CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger });
|
81
81
|
}
|
82
82
|
} else {
|
83
|
-
throw new import_property_provider.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file
|
83
|
+
throw new import_property_provider.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, {
|
84
|
+
logger
|
85
|
+
});
|
84
86
|
}
|
85
87
|
}, "resolveProcessCredentials");
|
86
88
|
|
87
89
|
// src/fromProcess.ts
|
88
90
|
var fromProcess = /* @__PURE__ */ __name((init = {}) => async () => {
|
89
91
|
var _a;
|
90
|
-
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-process
|
92
|
+
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-process - fromProcess");
|
91
93
|
const profiles = await (0, import_shared_ini_file_loader.parseKnownFiles)(init);
|
92
|
-
return resolveProcessCredentials((0, import_shared_ini_file_loader.getProfileName)(init), profiles);
|
94
|
+
return resolveProcessCredentials((0, import_shared_ini_file_loader.getProfileName)(init), profiles, init.logger);
|
93
95
|
}, "fromProcess");
|
94
96
|
// Annotate the CommonJS export names for ESM import in node:
|
95
97
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { getProfileName, parseKnownFiles } from "@smithy/shared-ini-file-loader";
|
2
2
|
import { resolveProcessCredentials } from "./resolveProcessCredentials";
|
3
3
|
export const fromProcess = (init = {}) => async () => {
|
4
|
-
init.logger?.debug("@aws-sdk/credential-provider-process
|
4
|
+
init.logger?.debug("@aws-sdk/credential-provider-process - fromProcess");
|
5
5
|
const profiles = await parseKnownFiles(init);
|
6
|
-
return resolveProcessCredentials(getProfileName(init), profiles);
|
6
|
+
return resolveProcessCredentials(getProfileName(init), profiles, init.logger);
|
7
7
|
};
|
package/node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js
CHANGED
@@ -2,7 +2,7 @@ import { CredentialsProviderError } from "@smithy/property-provider";
|
|
2
2
|
import { exec } from "child_process";
|
3
3
|
import { promisify } from "util";
|
4
4
|
import { getValidatedProcessCredentials } from "./getValidatedProcessCredentials";
|
5
|
-
export const resolveProcessCredentials = async (profileName, profiles) => {
|
5
|
+
export const resolveProcessCredentials = async (profileName, profiles, logger) => {
|
6
6
|
const profile = profiles[profileName];
|
7
7
|
if (profiles[profileName]) {
|
8
8
|
const credentialProcess = profile["credential_process"];
|
@@ -20,14 +20,16 @@ export const resolveProcessCredentials = async (profileName, profiles) => {
|
|
20
20
|
return getValidatedProcessCredentials(profileName, data);
|
21
21
|
}
|
22
22
|
catch (error) {
|
23
|
-
throw new CredentialsProviderError(error.message);
|
23
|
+
throw new CredentialsProviderError(error.message, { logger });
|
24
24
|
}
|
25
25
|
}
|
26
26
|
else {
|
27
|
-
throw new CredentialsProviderError(`Profile ${profileName} did not contain credential_process
|
27
|
+
throw new CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger });
|
28
28
|
}
|
29
29
|
}
|
30
30
|
else {
|
31
|
-
throw new CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file
|
31
|
+
throw new CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, {
|
32
|
+
logger,
|
33
|
+
});
|
32
34
|
}
|
33
35
|
};
|
package/node_modules/@aws-sdk/credential-provider-process/dist-types/resolveProcessCredentials.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { AwsCredentialIdentity, ParsedIniData } from "@smithy/types";
|
1
|
+
import { AwsCredentialIdentity, Logger, ParsedIniData } from "@smithy/types";
|
2
2
|
/**
|
3
3
|
* @internal
|
4
4
|
*/
|
5
|
-
export declare const resolveProcessCredentials: (profileName: string, profiles: ParsedIniData) => Promise<AwsCredentialIdentity>;
|
5
|
+
export declare const resolveProcessCredentials: (profileName: string, profiles: ParsedIniData, logger?: Logger) => Promise<AwsCredentialIdentity>;
|
@@ -1,5 +1,6 @@
|
|
1
|
-
import { AwsCredentialIdentity, ParsedIniData } from "@smithy/types";
|
1
|
+
import { AwsCredentialIdentity, Logger, ParsedIniData } from "@smithy/types";
|
2
2
|
export declare const resolveProcessCredentials: (
|
3
3
|
profileName: string,
|
4
|
-
profiles: ParsedIniData
|
4
|
+
profiles: ParsedIniData,
|
5
|
+
logger?: Logger
|
5
6
|
) => Promise<AwsCredentialIdentity>;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@aws-sdk/credential-provider-process",
|
3
|
-
"version": "3.
|
3
|
+
"version": "3.587.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",
|
@@ -25,8 +25,8 @@
|
|
25
25
|
"license": "Apache-2.0",
|
26
26
|
"dependencies": {
|
27
27
|
"@aws-sdk/types": "3.577.0",
|
28
|
-
"@smithy/property-provider": "^3.
|
29
|
-
"@smithy/shared-ini-file-loader": "^3.
|
28
|
+
"@smithy/property-provider": "^3.1.0",
|
29
|
+
"@smithy/shared-ini-file-loader": "^3.1.0",
|
30
30
|
"@smithy/types": "^3.0.0",
|
31
31
|
"tslib": "^2.6.2"
|
32
32
|
},
|
@@ -64,7 +64,8 @@ var resolveSSOCredentials = /* @__PURE__ */ __name(async ({
|
|
64
64
|
ssoRoleName,
|
65
65
|
ssoClient,
|
66
66
|
clientConfig,
|
67
|
-
profile
|
67
|
+
profile,
|
68
|
+
logger
|
68
69
|
}) => {
|
69
70
|
let token;
|
70
71
|
const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;
|
@@ -76,23 +77,26 @@ var resolveSSOCredentials = /* @__PURE__ */ __name(async ({
|
|
76
77
|
expiresAt: new Date(_token.expiration).toISOString()
|
77
78
|
};
|
78
79
|
} catch (e) {
|
79
|
-
throw new import_property_provider.CredentialsProviderError(e.message,
|
80
|
+
throw new import_property_provider.CredentialsProviderError(e.message, {
|
81
|
+
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
|
82
|
+
logger
|
83
|
+
});
|
80
84
|
}
|
81
85
|
} else {
|
82
86
|
try {
|
83
87
|
token = await (0, import_shared_ini_file_loader.getSSOTokenFromFile)(ssoStartUrl);
|
84
88
|
} catch (e) {
|
85
|
-
throw new import_property_provider.CredentialsProviderError(
|
86
|
-
|
87
|
-
|
88
|
-
);
|
89
|
+
throw new import_property_provider.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {
|
90
|
+
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
|
91
|
+
logger
|
92
|
+
});
|
89
93
|
}
|
90
94
|
}
|
91
95
|
if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {
|
92
|
-
throw new import_property_provider.CredentialsProviderError(
|
93
|
-
|
94
|
-
|
95
|
-
);
|
96
|
+
throw new import_property_provider.CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {
|
97
|
+
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
|
98
|
+
logger
|
99
|
+
});
|
96
100
|
}
|
97
101
|
const { accessToken } = token;
|
98
102
|
const { SSOClient: SSOClient2, GetRoleCredentialsCommand: GetRoleCredentialsCommand2 } = await Promise.resolve().then(() => (init_loadSso(), loadSso_exports));
|
@@ -111,18 +115,24 @@ var resolveSSOCredentials = /* @__PURE__ */ __name(async ({
|
|
111
115
|
})
|
112
116
|
);
|
113
117
|
} catch (e) {
|
114
|
-
throw import_property_provider.CredentialsProviderError
|
118
|
+
throw new import_property_provider.CredentialsProviderError(e, {
|
119
|
+
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
|
120
|
+
logger
|
121
|
+
});
|
115
122
|
}
|
116
123
|
const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope } = {} } = ssoResp;
|
117
124
|
if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {
|
118
|
-
throw new import_property_provider.CredentialsProviderError("SSO returns an invalid temporary credential.",
|
125
|
+
throw new import_property_provider.CredentialsProviderError("SSO returns an invalid temporary credential.", {
|
126
|
+
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
|
127
|
+
logger
|
128
|
+
});
|
119
129
|
}
|
120
130
|
return { accessKeyId, secretAccessKey, sessionToken, expiration: new Date(expiration), credentialScope };
|
121
131
|
}, "resolveSSOCredentials");
|
122
132
|
|
123
133
|
// src/validateSsoProfile.ts
|
124
134
|
|
125
|
-
var validateSsoProfile = /* @__PURE__ */ __name((profile) => {
|
135
|
+
var validateSsoProfile = /* @__PURE__ */ __name((profile, logger) => {
|
126
136
|
const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;
|
127
137
|
if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {
|
128
138
|
throw new import_property_provider.CredentialsProviderError(
|
@@ -130,7 +140,7 @@ var validateSsoProfile = /* @__PURE__ */ __name((profile) => {
|
|
130
140
|
", "
|
131
141
|
)}
|
132
142
|
Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`,
|
133
|
-
false
|
143
|
+
{ tryNextLink: false, logger }
|
134
144
|
);
|
135
145
|
}
|
136
146
|
return profile;
|
@@ -139,7 +149,7 @@ Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.ht
|
|
139
149
|
// src/fromSSO.ts
|
140
150
|
var fromSSO = /* @__PURE__ */ __name((init = {}) => async () => {
|
141
151
|
var _a;
|
142
|
-
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-sso
|
152
|
+
(_a = init.logger) == null ? void 0 : _a.debug("@aws-sdk/credential-provider-sso - fromSSO");
|
143
153
|
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
|
144
154
|
const { ssoClient } = init;
|
145
155
|
const profileName = (0, import_shared_ini_file_loader.getProfileName)(init);
|
@@ -147,25 +157,36 @@ var fromSSO = /* @__PURE__ */ __name((init = {}) => async () => {
|
|
147
157
|
const profiles = await (0, import_shared_ini_file_loader.parseKnownFiles)(init);
|
148
158
|
const profile = profiles[profileName];
|
149
159
|
if (!profile) {
|
150
|
-
throw new import_property_provider.CredentialsProviderError(`Profile ${profileName} was not found
|
160
|
+
throw new import_property_provider.CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger });
|
151
161
|
}
|
152
162
|
if (!isSsoProfile(profile)) {
|
153
|
-
throw new import_property_provider.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials
|
163
|
+
throw new import_property_provider.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {
|
164
|
+
logger: init.logger
|
165
|
+
});
|
154
166
|
}
|
155
167
|
if (profile == null ? void 0 : profile.sso_session) {
|
156
168
|
const ssoSessions = await (0, import_shared_ini_file_loader.loadSsoSessionData)(init);
|
157
169
|
const session = ssoSessions[profile.sso_session];
|
158
170
|
const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;
|
159
171
|
if (ssoRegion && ssoRegion !== session.sso_region) {
|
160
|
-
throw new import_property_provider.CredentialsProviderError(`Conflicting SSO region` + conflictMsg,
|
172
|
+
throw new import_property_provider.CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {
|
173
|
+
tryNextLink: false,
|
174
|
+
logger: init.logger
|
175
|
+
});
|
161
176
|
}
|
162
177
|
if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {
|
163
|
-
throw new import_property_provider.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg,
|
178
|
+
throw new import_property_provider.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {
|
179
|
+
tryNextLink: false,
|
180
|
+
logger: init.logger
|
181
|
+
});
|
164
182
|
}
|
165
183
|
profile.sso_region = session.sso_region;
|
166
184
|
profile.sso_start_url = session.sso_start_url;
|
167
185
|
}
|
168
|
-
const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(
|
186
|
+
const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(
|
187
|
+
profile,
|
188
|
+
init.logger
|
189
|
+
);
|
169
190
|
return resolveSSOCredentials({
|
170
191
|
ssoStartUrl: sso_start_url,
|
171
192
|
ssoSession: sso_session,
|
@@ -178,7 +199,8 @@ var fromSSO = /* @__PURE__ */ __name((init = {}) => async () => {
|
|
178
199
|
});
|
179
200
|
} else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {
|
180
201
|
throw new import_property_provider.CredentialsProviderError(
|
181
|
-
'Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"'
|
202
|
+
'Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"',
|
203
|
+
{ tryNextLink: false, logger: init.logger }
|
182
204
|
);
|
183
205
|
} else {
|
184
206
|
return resolveSSOCredentials({
|
@@ -4,7 +4,7 @@ import { isSsoProfile } from "./isSsoProfile";
|
|
4
4
|
import { resolveSSOCredentials } from "./resolveSSOCredentials";
|
5
5
|
import { validateSsoProfile } from "./validateSsoProfile";
|
6
6
|
export const fromSSO = (init = {}) => async () => {
|
7
|
-
init.logger?.debug("@aws-sdk/credential-provider-sso
|
7
|
+
init.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO");
|
8
8
|
const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;
|
9
9
|
const { ssoClient } = init;
|
10
10
|
const profileName = getProfileName(init);
|
@@ -12,25 +12,33 @@ export const fromSSO = (init = {}) => async () => {
|
|
12
12
|
const profiles = await parseKnownFiles(init);
|
13
13
|
const profile = profiles[profileName];
|
14
14
|
if (!profile) {
|
15
|
-
throw new CredentialsProviderError(`Profile ${profileName} was not found
|
15
|
+
throw new CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger });
|
16
16
|
}
|
17
17
|
if (!isSsoProfile(profile)) {
|
18
|
-
throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials
|
18
|
+
throw new CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {
|
19
|
+
logger: init.logger,
|
20
|
+
});
|
19
21
|
}
|
20
22
|
if (profile?.sso_session) {
|
21
23
|
const ssoSessions = await loadSsoSessionData(init);
|
22
24
|
const session = ssoSessions[profile.sso_session];
|
23
25
|
const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;
|
24
26
|
if (ssoRegion && ssoRegion !== session.sso_region) {
|
25
|
-
throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg,
|
27
|
+
throw new CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {
|
28
|
+
tryNextLink: false,
|
29
|
+
logger: init.logger,
|
30
|
+
});
|
26
31
|
}
|
27
32
|
if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {
|
28
|
-
throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg,
|
33
|
+
throw new CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {
|
34
|
+
tryNextLink: false,
|
35
|
+
logger: init.logger,
|
36
|
+
});
|
29
37
|
}
|
30
38
|
profile.sso_region = session.sso_region;
|
31
39
|
profile.sso_start_url = session.sso_start_url;
|
32
40
|
}
|
33
|
-
const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile);
|
41
|
+
const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init.logger);
|
34
42
|
return resolveSSOCredentials({
|
35
43
|
ssoStartUrl: sso_start_url,
|
36
44
|
ssoSession: sso_session,
|
@@ -44,7 +52,7 @@ export const fromSSO = (init = {}) => async () => {
|
|
44
52
|
}
|
45
53
|
else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {
|
46
54
|
throw new CredentialsProviderError("Incomplete configuration. The fromSSO() argument hash must include " +
|
47
|
-
'"ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"');
|
55
|
+
'"ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"', { tryNextLink: false, logger: init.logger });
|
48
56
|
}
|
49
57
|
else {
|
50
58
|
return resolveSSOCredentials({
|
@@ -2,7 +2,7 @@ import { fromSso as getSsoTokenProvider } from "@aws-sdk/token-providers";
|
|
2
2
|
import { CredentialsProviderError } from "@smithy/property-provider";
|
3
3
|
import { getSSOTokenFromFile } from "@smithy/shared-ini-file-loader";
|
4
4
|
const SHOULD_FAIL_CREDENTIAL_CHAIN = false;
|
5
|
-
export const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, profile, }) => {
|
5
|
+
export const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, profile, logger, }) => {
|
6
6
|
let token;
|
7
7
|
const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;
|
8
8
|
if (ssoSession) {
|
@@ -14,7 +14,10 @@ export const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccoun
|
|
14
14
|
};
|
15
15
|
}
|
16
16
|
catch (e) {
|
17
|
-
throw new CredentialsProviderError(e.message,
|
17
|
+
throw new CredentialsProviderError(e.message, {
|
18
|
+
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
|
19
|
+
logger,
|
20
|
+
});
|
18
21
|
}
|
19
22
|
}
|
20
23
|
else {
|
@@ -22,11 +25,17 @@ export const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccoun
|
|
22
25
|
token = await getSSOTokenFromFile(ssoStartUrl);
|
23
26
|
}
|
24
27
|
catch (e) {
|
25
|
-
throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`,
|
28
|
+
throw new CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {
|
29
|
+
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
|
30
|
+
logger,
|
31
|
+
});
|
26
32
|
}
|
27
33
|
}
|
28
34
|
if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {
|
29
|
-
throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`,
|
35
|
+
throw new CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {
|
36
|
+
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
|
37
|
+
logger,
|
38
|
+
});
|
30
39
|
}
|
31
40
|
const { accessToken } = token;
|
32
41
|
const { SSOClient, GetRoleCredentialsCommand } = await import("./loadSso");
|
@@ -43,11 +52,17 @@ export const resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccoun
|
|
43
52
|
}));
|
44
53
|
}
|
45
54
|
catch (e) {
|
46
|
-
throw CredentialsProviderError
|
55
|
+
throw new CredentialsProviderError(e, {
|
56
|
+
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
|
57
|
+
logger,
|
58
|
+
});
|
47
59
|
}
|
48
60
|
const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope } = {} } = ssoResp;
|
49
61
|
if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {
|
50
|
-
throw new CredentialsProviderError("SSO returns an invalid temporary credential.",
|
62
|
+
throw new CredentialsProviderError("SSO returns an invalid temporary credential.", {
|
63
|
+
tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,
|
64
|
+
logger,
|
65
|
+
});
|
51
66
|
}
|
52
67
|
return { accessKeyId, secretAccessKey, sessionToken, expiration: new Date(expiration), credentialScope };
|
53
68
|
};
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { CredentialsProviderError } from "@smithy/property-provider";
|
2
|
-
export const validateSsoProfile = (profile) => {
|
2
|
+
export const validateSsoProfile = (profile, logger) => {
|
3
3
|
const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;
|
4
4
|
if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {
|
5
5
|
throw new CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", ` +
|
6
|
-
`"sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join(", ")}\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, false);
|
6
|
+
`"sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(profile).join(", ")}\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger });
|
7
7
|
}
|
8
8
|
return profile;
|
9
9
|
};
|
@@ -3,4 +3,4 @@ import { FromSSOInit, SsoCredentialsParameters } from "./fromSSO";
|
|
3
3
|
/**
|
4
4
|
* @internal
|
5
5
|
*/
|
6
|
-
export declare const resolveSSOCredentials: ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, profile, }: FromSSOInit & SsoCredentialsParameters) => Promise<AwsCredentialIdentity>;
|
6
|
+
export declare const resolveSSOCredentials: ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, profile, logger, }: FromSSOInit & SsoCredentialsParameters) => Promise<AwsCredentialIdentity>;
|