@etainabl/nodejs-sdk 1.3.111 → 1.3.112
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/esm/chunk-3YGWW265.js +64 -0
- package/dist/esm/chunk-3YGWW265.js.map +1 -0
- package/dist/esm/chunk-BIVFO5LG.js +2476 -0
- package/dist/esm/chunk-BIVFO5LG.js.map +1 -0
- package/dist/esm/chunk-CIKXN3GS.js +64 -0
- package/dist/esm/chunk-CIKXN3GS.js.map +1 -0
- package/dist/esm/chunk-E6O4HVLA.js +121 -0
- package/dist/esm/chunk-E6O4HVLA.js.map +1 -0
- package/dist/esm/chunk-HAEAETXR.js +210 -0
- package/dist/esm/chunk-HAEAETXR.js.map +1 -0
- package/dist/esm/chunk-ITSE4X2J.js +1733 -0
- package/dist/esm/chunk-ITSE4X2J.js.map +1 -0
- package/dist/esm/chunk-OWL7NKW5.js +47 -0
- package/dist/esm/chunk-OWL7NKW5.js.map +1 -0
- package/dist/esm/chunk-R63LRFTI.js +153 -0
- package/dist/esm/chunk-R63LRFTI.js.map +1 -0
- package/dist/esm/chunk-UFTVLHTW.js +114 -0
- package/dist/esm/chunk-UFTVLHTW.js.map +1 -0
- package/dist/esm/chunk-UZGMBQZB.js +13 -0
- package/dist/esm/chunk-UZGMBQZB.js.map +1 -0
- package/dist/esm/chunk-XXAWQ5GA.js +3359 -0
- package/dist/esm/chunk-XXAWQ5GA.js.map +1 -0
- package/dist/esm/dist-es-4ZHJVMJ4.js +21 -0
- package/dist/esm/dist-es-4ZHJVMJ4.js.map +1 -0
- package/dist/esm/dist-es-FD7XXZCE.js +305 -0
- package/dist/esm/dist-es-FD7XXZCE.js.map +1 -0
- package/dist/esm/dist-es-MXGFLXV2.js +379 -0
- package/dist/esm/dist-es-MXGFLXV2.js.map +1 -0
- package/dist/esm/dist-es-QPNGCVTW.js +67 -0
- package/dist/esm/dist-es-QPNGCVTW.js.map +1 -0
- package/dist/esm/dist-es-RHLCSE2G.js +200 -0
- package/dist/esm/dist-es-RHLCSE2G.js.map +1 -0
- package/dist/esm/dist-es-X5IH3XCT.js +88 -0
- package/dist/esm/dist-es-X5IH3XCT.js.map +1 -0
- package/dist/esm/dist-es-XEM2CDDP.js +163 -0
- package/dist/esm/dist-es-XEM2CDDP.js.map +1 -0
- package/dist/esm/index.js +4287 -81
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loadSso-3QBKTJF3.js +655 -0
- package/dist/esm/loadSso-3QBKTJF3.js.map +1 -0
- package/dist/esm/sso-oidc-GZ3LZ3MF.js +827 -0
- package/dist/esm/sso-oidc-GZ3LZ3MF.js.map +1 -0
- package/dist/esm/sts-CIQKG7FB.js +1162 -0
- package/dist/esm/sts-CIQKG7FB.js.map +1 -0
- package/dist/index.d.cts +173 -81
- package/dist/index.d.ts +173 -81
- package/dist/index.js +21928 -1164
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getProfileName,
|
|
3
|
+
parseKnownFiles
|
|
4
|
+
} from "./chunk-HAEAETXR.js";
|
|
5
|
+
import {
|
|
6
|
+
setCredentialFeature
|
|
7
|
+
} from "./chunk-UZGMBQZB.js";
|
|
8
|
+
import "./chunk-3YGWW265.js";
|
|
9
|
+
import {
|
|
10
|
+
CredentialsProviderError,
|
|
11
|
+
chain
|
|
12
|
+
} from "./chunk-R63LRFTI.js";
|
|
13
|
+
|
|
14
|
+
// node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveCredentialSource.js
|
|
15
|
+
var resolveCredentialSource = (credentialSource, profileName, logger) => {
|
|
16
|
+
const sourceProvidersMap = {
|
|
17
|
+
EcsContainer: async (options) => {
|
|
18
|
+
const { fromHttp } = await import("./dist-es-XEM2CDDP.js");
|
|
19
|
+
const { fromContainerMetadata } = await import("./dist-es-MXGFLXV2.js");
|
|
20
|
+
logger?.debug("@aws-sdk/credential-provider-ini - credential_source is EcsContainer");
|
|
21
|
+
return async () => chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider);
|
|
22
|
+
},
|
|
23
|
+
Ec2InstanceMetadata: async (options) => {
|
|
24
|
+
logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata");
|
|
25
|
+
const { fromInstanceMetadata } = await import("./dist-es-MXGFLXV2.js");
|
|
26
|
+
return async () => fromInstanceMetadata(options)().then(setNamedProvider);
|
|
27
|
+
},
|
|
28
|
+
Environment: async (options) => {
|
|
29
|
+
logger?.debug("@aws-sdk/credential-provider-ini - credential_source is Environment");
|
|
30
|
+
const { fromEnv } = await import("./dist-es-4ZHJVMJ4.js");
|
|
31
|
+
return async () => fromEnv(options)().then(setNamedProvider);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
if (credentialSource in sourceProvidersMap) {
|
|
35
|
+
return sourceProvidersMap[credentialSource];
|
|
36
|
+
} else {
|
|
37
|
+
throw new CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`, { logger });
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var setNamedProvider = (creds) => setCredentialFeature(creds, "CREDENTIALS_PROFILE_NAMED_PROVIDER", "p");
|
|
41
|
+
|
|
42
|
+
// node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveAssumeRoleCredentials.js
|
|
43
|
+
var isAssumeRoleProfile = (arg, { profile = "default", logger } = {}) => {
|
|
44
|
+
return Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger }));
|
|
45
|
+
};
|
|
46
|
+
var isAssumeRoleWithSourceProfile = (arg, { profile, logger }) => {
|
|
47
|
+
const withSourceProfile = typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined";
|
|
48
|
+
if (withSourceProfile) {
|
|
49
|
+
logger?.debug?.(` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`);
|
|
50
|
+
}
|
|
51
|
+
return withSourceProfile;
|
|
52
|
+
};
|
|
53
|
+
var isCredentialSourceProfile = (arg, { profile, logger }) => {
|
|
54
|
+
const withProviderProfile = typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined";
|
|
55
|
+
if (withProviderProfile) {
|
|
56
|
+
logger?.debug?.(` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`);
|
|
57
|
+
}
|
|
58
|
+
return withProviderProfile;
|
|
59
|
+
};
|
|
60
|
+
var resolveAssumeRoleCredentials = async (profileName, profiles, options, visitedProfiles = {}) => {
|
|
61
|
+
options.logger?.debug("@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)");
|
|
62
|
+
const profileData = profiles[profileName];
|
|
63
|
+
const { source_profile, region } = profileData;
|
|
64
|
+
if (!options.roleAssumer) {
|
|
65
|
+
const { getDefaultRoleAssumer } = await import("./sts-CIQKG7FB.js");
|
|
66
|
+
options.roleAssumer = getDefaultRoleAssumer({
|
|
67
|
+
...options.clientConfig,
|
|
68
|
+
credentialProviderLogger: options.logger,
|
|
69
|
+
parentClientConfig: {
|
|
70
|
+
...options?.parentClientConfig,
|
|
71
|
+
region: region ?? options?.parentClientConfig?.region
|
|
72
|
+
}
|
|
73
|
+
}, options.clientPlugins);
|
|
74
|
+
}
|
|
75
|
+
if (source_profile && source_profile in visitedProfiles) {
|
|
76
|
+
throw new CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile ${getProfileName(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "), { logger: options.logger });
|
|
77
|
+
}
|
|
78
|
+
options.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}`);
|
|
79
|
+
const sourceCredsProvider = source_profile ? resolveProfileData(source_profile, profiles, options, {
|
|
80
|
+
...visitedProfiles,
|
|
81
|
+
[source_profile]: true
|
|
82
|
+
}, isCredentialSourceWithoutRoleArn(profiles[source_profile] ?? {})) : (await resolveCredentialSource(profileData.credential_source, profileName, options.logger)(options))();
|
|
83
|
+
if (isCredentialSourceWithoutRoleArn(profileData)) {
|
|
84
|
+
return sourceCredsProvider.then((creds) => setCredentialFeature(creds, "CREDENTIALS_PROFILE_SOURCE_PROFILE", "o"));
|
|
85
|
+
} else {
|
|
86
|
+
const params = {
|
|
87
|
+
RoleArn: profileData.role_arn,
|
|
88
|
+
RoleSessionName: profileData.role_session_name || `aws-sdk-js-${Date.now()}`,
|
|
89
|
+
ExternalId: profileData.external_id,
|
|
90
|
+
DurationSeconds: parseInt(profileData.duration_seconds || "3600", 10)
|
|
91
|
+
};
|
|
92
|
+
const { mfa_serial } = profileData;
|
|
93
|
+
if (mfa_serial) {
|
|
94
|
+
if (!options.mfaCodeProvider) {
|
|
95
|
+
throw new CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, { logger: options.logger, tryNextLink: false });
|
|
96
|
+
}
|
|
97
|
+
params.SerialNumber = mfa_serial;
|
|
98
|
+
params.TokenCode = await options.mfaCodeProvider(mfa_serial);
|
|
99
|
+
}
|
|
100
|
+
const sourceCreds = await sourceCredsProvider;
|
|
101
|
+
return options.roleAssumer(sourceCreds, params).then((creds) => setCredentialFeature(creds, "CREDENTIALS_PROFILE_SOURCE_PROFILE", "o"));
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
var isCredentialSourceWithoutRoleArn = (section) => {
|
|
105
|
+
return !section.role_arn && !!section.credential_source;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
// node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js
|
|
109
|
+
var isProcessProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string";
|
|
110
|
+
var resolveProcessCredentials = async (options, profile) => import("./dist-es-X5IH3XCT.js").then(({ fromProcess }) => fromProcess({
|
|
111
|
+
...options,
|
|
112
|
+
profile
|
|
113
|
+
})().then((creds) => setCredentialFeature(creds, "CREDENTIALS_PROFILE_PROCESS", "v")));
|
|
114
|
+
|
|
115
|
+
// node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveSsoCredentials.js
|
|
116
|
+
var resolveSsoCredentials = async (profile, profileData, options = {}) => {
|
|
117
|
+
const { fromSSO } = await import("./dist-es-FD7XXZCE.js");
|
|
118
|
+
return fromSSO({
|
|
119
|
+
profile,
|
|
120
|
+
logger: options.logger,
|
|
121
|
+
parentClientConfig: options.parentClientConfig,
|
|
122
|
+
clientConfig: options.clientConfig
|
|
123
|
+
})().then((creds) => {
|
|
124
|
+
if (profileData.sso_session) {
|
|
125
|
+
return setCredentialFeature(creds, "CREDENTIALS_PROFILE_SSO", "r");
|
|
126
|
+
} else {
|
|
127
|
+
return setCredentialFeature(creds, "CREDENTIALS_PROFILE_SSO_LEGACY", "t");
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
var isSsoProfile = (arg) => arg && (typeof arg.sso_start_url === "string" || typeof arg.sso_account_id === "string" || typeof arg.sso_session === "string" || typeof arg.sso_region === "string" || typeof arg.sso_role_name === "string");
|
|
132
|
+
|
|
133
|
+
// node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveStaticCredentials.js
|
|
134
|
+
var isStaticCredsProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1 && ["undefined", "string"].indexOf(typeof arg.aws_account_id) > -1;
|
|
135
|
+
var resolveStaticCredentials = async (profile, options) => {
|
|
136
|
+
options?.logger?.debug("@aws-sdk/credential-provider-ini - resolveStaticCredentials");
|
|
137
|
+
const credentials = {
|
|
138
|
+
accessKeyId: profile.aws_access_key_id,
|
|
139
|
+
secretAccessKey: profile.aws_secret_access_key,
|
|
140
|
+
sessionToken: profile.aws_session_token,
|
|
141
|
+
...profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope },
|
|
142
|
+
...profile.aws_account_id && { accountId: profile.aws_account_id }
|
|
143
|
+
};
|
|
144
|
+
return setCredentialFeature(credentials, "CREDENTIALS_PROFILE", "n");
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
// node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js
|
|
148
|
+
var isWebIdentityProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1;
|
|
149
|
+
var resolveWebIdentityCredentials = async (profile, options) => import("./dist-es-QPNGCVTW.js").then(({ fromTokenFile }) => fromTokenFile({
|
|
150
|
+
webIdentityTokenFile: profile.web_identity_token_file,
|
|
151
|
+
roleArn: profile.role_arn,
|
|
152
|
+
roleSessionName: profile.role_session_name,
|
|
153
|
+
roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,
|
|
154
|
+
logger: options.logger,
|
|
155
|
+
parentClientConfig: options.parentClientConfig
|
|
156
|
+
})().then((creds) => setCredentialFeature(creds, "CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN", "q")));
|
|
157
|
+
|
|
158
|
+
// node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProfileData.js
|
|
159
|
+
var resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}, isAssumeRoleRecursiveCall = false) => {
|
|
160
|
+
const data = profiles[profileName];
|
|
161
|
+
if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {
|
|
162
|
+
return resolveStaticCredentials(data, options);
|
|
163
|
+
}
|
|
164
|
+
if (isAssumeRoleRecursiveCall || isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) {
|
|
165
|
+
return resolveAssumeRoleCredentials(profileName, profiles, options, visitedProfiles);
|
|
166
|
+
}
|
|
167
|
+
if (isStaticCredsProfile(data)) {
|
|
168
|
+
return resolveStaticCredentials(data, options);
|
|
169
|
+
}
|
|
170
|
+
if (isWebIdentityProfile(data)) {
|
|
171
|
+
return resolveWebIdentityCredentials(data, options);
|
|
172
|
+
}
|
|
173
|
+
if (isProcessProfile(data)) {
|
|
174
|
+
return resolveProcessCredentials(options, profileName);
|
|
175
|
+
}
|
|
176
|
+
if (isSsoProfile(data)) {
|
|
177
|
+
return await resolveSsoCredentials(profileName, data, options);
|
|
178
|
+
}
|
|
179
|
+
throw new CredentialsProviderError(`Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, { logger: options.logger });
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
// node_modules/@aws-sdk/credential-provider-ini/dist-es/fromIni.js
|
|
183
|
+
var fromIni = (_init = {}) => async ({ callerClientConfig } = {}) => {
|
|
184
|
+
const init = {
|
|
185
|
+
..._init,
|
|
186
|
+
parentClientConfig: {
|
|
187
|
+
...callerClientConfig,
|
|
188
|
+
..._init.parentClientConfig
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
init.logger?.debug("@aws-sdk/credential-provider-ini - fromIni");
|
|
192
|
+
const profiles = await parseKnownFiles(init);
|
|
193
|
+
return resolveProfileData(getProfileName({
|
|
194
|
+
profile: _init.profile ?? callerClientConfig?.profile
|
|
195
|
+
}), profiles, init);
|
|
196
|
+
};
|
|
197
|
+
export {
|
|
198
|
+
fromIni
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=dist-es-RHLCSE2G.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveCredentialSource.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveAssumeRoleCredentials.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveSsoCredentials.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveStaticCredentials.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProfileData.js","../../node_modules/@aws-sdk/credential-provider-ini/dist-es/fromIni.js"],"sourcesContent":["import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { chain, CredentialsProviderError } from \"@smithy/property-provider\";\nexport const resolveCredentialSource = (credentialSource, profileName, logger) => {\n const sourceProvidersMap = {\n EcsContainer: async (options) => {\n const { fromHttp } = await import(\"@aws-sdk/credential-provider-http\");\n const { fromContainerMetadata } = await import(\"@smithy/credential-provider-imds\");\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is EcsContainer\");\n return async () => chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider);\n },\n Ec2InstanceMetadata: async (options) => {\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata\");\n const { fromInstanceMetadata } = await import(\"@smithy/credential-provider-imds\");\n return async () => fromInstanceMetadata(options)().then(setNamedProvider);\n },\n Environment: async (options) => {\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is Environment\");\n const { fromEnv } = await import(\"@aws-sdk/credential-provider-env\");\n return async () => fromEnv(options)().then(setNamedProvider);\n },\n };\n if (credentialSource in sourceProvidersMap) {\n return sourceProvidersMap[credentialSource];\n }\n else {\n throw new CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, ` +\n `expected EcsContainer or Ec2InstanceMetadata or Environment.`, { logger });\n }\n};\nconst setNamedProvider = (creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_NAMED_PROVIDER\", \"p\");\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { getProfileName } from \"@smithy/shared-ini-file-loader\";\nimport { resolveCredentialSource } from \"./resolveCredentialSource\";\nimport { resolveProfileData } from \"./resolveProfileData\";\nexport const isAssumeRoleProfile = (arg, { profile = \"default\", logger } = {}) => {\n return (Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.external_id) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.mfa_serial) > -1 &&\n (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger })));\n};\nconst isAssumeRoleWithSourceProfile = (arg, { profile, logger }) => {\n const withSourceProfile = typeof arg.source_profile === \"string\" && typeof arg.credential_source === \"undefined\";\n if (withSourceProfile) {\n logger?.debug?.(` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`);\n }\n return withSourceProfile;\n};\nconst isCredentialSourceProfile = (arg, { profile, logger }) => {\n const withProviderProfile = typeof arg.credential_source === \"string\" && typeof arg.source_profile === \"undefined\";\n if (withProviderProfile) {\n logger?.debug?.(` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`);\n }\n return withProviderProfile;\n};\nexport const resolveAssumeRoleCredentials = async (profileName, profiles, options, visitedProfiles = {}) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)\");\n const profileData = profiles[profileName];\n const { source_profile, region } = profileData;\n if (!options.roleAssumer) {\n const { getDefaultRoleAssumer } = await import(\"@aws-sdk/nested-clients/sts\");\n options.roleAssumer = getDefaultRoleAssumer({\n ...options.clientConfig,\n credentialProviderLogger: options.logger,\n parentClientConfig: {\n ...options?.parentClientConfig,\n region: region ?? options?.parentClientConfig?.region,\n },\n }, options.clientPlugins);\n }\n if (source_profile && source_profile in visitedProfiles) {\n throw new CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile` +\n ` ${getProfileName(options)}. Profiles visited: ` +\n Object.keys(visitedProfiles).join(\", \"), { logger: options.logger });\n }\n options.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}`);\n const sourceCredsProvider = source_profile\n ? resolveProfileData(source_profile, profiles, options, {\n ...visitedProfiles,\n [source_profile]: true,\n }, isCredentialSourceWithoutRoleArn(profiles[source_profile] ?? {}))\n : (await resolveCredentialSource(profileData.credential_source, profileName, options.logger)(options))();\n if (isCredentialSourceWithoutRoleArn(profileData)) {\n return sourceCredsProvider.then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SOURCE_PROFILE\", \"o\"));\n }\n else {\n const params = {\n RoleArn: profileData.role_arn,\n RoleSessionName: profileData.role_session_name || `aws-sdk-js-${Date.now()}`,\n ExternalId: profileData.external_id,\n DurationSeconds: parseInt(profileData.duration_seconds || \"3600\", 10),\n };\n const { mfa_serial } = profileData;\n if (mfa_serial) {\n if (!options.mfaCodeProvider) {\n throw new CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, { logger: options.logger, tryNextLink: false });\n }\n params.SerialNumber = mfa_serial;\n params.TokenCode = await options.mfaCodeProvider(mfa_serial);\n }\n const sourceCreds = await sourceCredsProvider;\n return options.roleAssumer(sourceCreds, params).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SOURCE_PROFILE\", \"o\"));\n }\n};\nconst isCredentialSourceWithoutRoleArn = (section) => {\n return !section.role_arn && !!section.credential_source;\n};\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isProcessProfile = (arg) => Boolean(arg) && typeof arg === \"object\" && typeof arg.credential_process === \"string\";\nexport const resolveProcessCredentials = async (options, profile) => import(\"@aws-sdk/credential-provider-process\").then(({ fromProcess }) => fromProcess({\n ...options,\n profile,\n})().then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_PROCESS\", \"v\")));\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const resolveSsoCredentials = async (profile, profileData, options = {}) => {\n const { fromSSO } = await import(\"@aws-sdk/credential-provider-sso\");\n return fromSSO({\n profile,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n clientConfig: options.clientConfig,\n })().then((creds) => {\n if (profileData.sso_session) {\n return setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SSO\", \"r\");\n }\n else {\n return setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SSO_LEGACY\", \"t\");\n }\n });\n};\nexport const isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isStaticCredsProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.aws_access_key_id === \"string\" &&\n typeof arg.aws_secret_access_key === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_session_token) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_account_id) > -1;\nexport const resolveStaticCredentials = async (profile, options) => {\n options?.logger?.debug(\"@aws-sdk/credential-provider-ini - resolveStaticCredentials\");\n const credentials = {\n accessKeyId: profile.aws_access_key_id,\n secretAccessKey: profile.aws_secret_access_key,\n sessionToken: profile.aws_session_token,\n ...(profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope }),\n ...(profile.aws_account_id && { accountId: profile.aws_account_id }),\n };\n return setCredentialFeature(credentials, \"CREDENTIALS_PROFILE\", \"n\");\n};\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const isWebIdentityProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.web_identity_token_file === \"string\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1;\nexport const resolveWebIdentityCredentials = async (profile, options) => import(\"@aws-sdk/credential-provider-web-identity\").then(({ fromTokenFile }) => fromTokenFile({\n webIdentityTokenFile: profile.web_identity_token_file,\n roleArn: profile.role_arn,\n roleSessionName: profile.role_session_name,\n roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n})().then((creds) => setCredentialFeature(creds, \"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN\", \"q\")));\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { isAssumeRoleProfile, resolveAssumeRoleCredentials } from \"./resolveAssumeRoleCredentials\";\nimport { isProcessProfile, resolveProcessCredentials } from \"./resolveProcessCredentials\";\nimport { isSsoProfile, resolveSsoCredentials } from \"./resolveSsoCredentials\";\nimport { isStaticCredsProfile, resolveStaticCredentials } from \"./resolveStaticCredentials\";\nimport { isWebIdentityProfile, resolveWebIdentityCredentials } from \"./resolveWebIdentityCredentials\";\nexport const resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}, isAssumeRoleRecursiveCall = false) => {\n const data = profiles[profileName];\n if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isAssumeRoleRecursiveCall || isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) {\n return resolveAssumeRoleCredentials(profileName, profiles, options, visitedProfiles);\n }\n if (isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isWebIdentityProfile(data)) {\n return resolveWebIdentityCredentials(data, options);\n }\n if (isProcessProfile(data)) {\n return resolveProcessCredentials(options, profileName);\n }\n if (isSsoProfile(data)) {\n return await resolveSsoCredentials(profileName, data, options);\n }\n throw new CredentialsProviderError(`Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, { logger: options.logger });\n};\n","import { getProfileName, parseKnownFiles } from \"@smithy/shared-ini-file-loader\";\nimport { resolveProfileData } from \"./resolveProfileData\";\nexport const fromIni = (_init = {}) => async ({ callerClientConfig } = {}) => {\n const init = {\n ..._init,\n parentClientConfig: {\n ...callerClientConfig,\n ..._init.parentClientConfig,\n },\n };\n init.logger?.debug(\"@aws-sdk/credential-provider-ini - fromIni\");\n const profiles = await parseKnownFiles(init);\n return resolveProfileData(getProfileName({\n profile: _init.profile ?? callerClientConfig?.profile,\n }), profiles, init);\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getProfileName,
|
|
3
|
+
parseKnownFiles
|
|
4
|
+
} from "./chunk-HAEAETXR.js";
|
|
5
|
+
import {
|
|
6
|
+
setCredentialFeature
|
|
7
|
+
} from "./chunk-UZGMBQZB.js";
|
|
8
|
+
import "./chunk-3YGWW265.js";
|
|
9
|
+
import {
|
|
10
|
+
CredentialsProviderError
|
|
11
|
+
} from "./chunk-R63LRFTI.js";
|
|
12
|
+
|
|
13
|
+
// node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js
|
|
14
|
+
import { exec } from "child_process";
|
|
15
|
+
import { promisify } from "util";
|
|
16
|
+
|
|
17
|
+
// node_modules/@aws-sdk/credential-provider-process/dist-es/getValidatedProcessCredentials.js
|
|
18
|
+
var getValidatedProcessCredentials = (profileName, data, profiles) => {
|
|
19
|
+
if (data.Version !== 1) {
|
|
20
|
+
throw Error(`Profile ${profileName} credential_process did not return Version 1.`);
|
|
21
|
+
}
|
|
22
|
+
if (data.AccessKeyId === void 0 || data.SecretAccessKey === void 0) {
|
|
23
|
+
throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);
|
|
24
|
+
}
|
|
25
|
+
if (data.Expiration) {
|
|
26
|
+
const currentTime = /* @__PURE__ */ new Date();
|
|
27
|
+
const expireTime = new Date(data.Expiration);
|
|
28
|
+
if (expireTime < currentTime) {
|
|
29
|
+
throw Error(`Profile ${profileName} credential_process returned expired credentials.`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
let accountId = data.AccountId;
|
|
33
|
+
if (!accountId && profiles?.[profileName]?.aws_account_id) {
|
|
34
|
+
accountId = profiles[profileName].aws_account_id;
|
|
35
|
+
}
|
|
36
|
+
const credentials = {
|
|
37
|
+
accessKeyId: data.AccessKeyId,
|
|
38
|
+
secretAccessKey: data.SecretAccessKey,
|
|
39
|
+
...data.SessionToken && { sessionToken: data.SessionToken },
|
|
40
|
+
...data.Expiration && { expiration: new Date(data.Expiration) },
|
|
41
|
+
...data.CredentialScope && { credentialScope: data.CredentialScope },
|
|
42
|
+
...accountId && { accountId }
|
|
43
|
+
};
|
|
44
|
+
setCredentialFeature(credentials, "CREDENTIALS_PROCESS", "w");
|
|
45
|
+
return credentials;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js
|
|
49
|
+
var resolveProcessCredentials = async (profileName, profiles, logger) => {
|
|
50
|
+
const profile = profiles[profileName];
|
|
51
|
+
if (profiles[profileName]) {
|
|
52
|
+
const credentialProcess = profile["credential_process"];
|
|
53
|
+
if (credentialProcess !== void 0) {
|
|
54
|
+
const execPromise = promisify(exec);
|
|
55
|
+
try {
|
|
56
|
+
const { stdout } = await execPromise(credentialProcess);
|
|
57
|
+
let data;
|
|
58
|
+
try {
|
|
59
|
+
data = JSON.parse(stdout.trim());
|
|
60
|
+
} catch {
|
|
61
|
+
throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);
|
|
62
|
+
}
|
|
63
|
+
return getValidatedProcessCredentials(profileName, data, profiles);
|
|
64
|
+
} catch (error) {
|
|
65
|
+
throw new CredentialsProviderError(error.message, { logger });
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
throw new CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger });
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
throw new CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, {
|
|
72
|
+
logger
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
// node_modules/@aws-sdk/credential-provider-process/dist-es/fromProcess.js
|
|
78
|
+
var fromProcess = (init = {}) => async ({ callerClientConfig } = {}) => {
|
|
79
|
+
init.logger?.debug("@aws-sdk/credential-provider-process - fromProcess");
|
|
80
|
+
const profiles = await parseKnownFiles(init);
|
|
81
|
+
return resolveProcessCredentials(getProfileName({
|
|
82
|
+
profile: init.profile ?? callerClientConfig?.profile
|
|
83
|
+
}), profiles, init.logger);
|
|
84
|
+
};
|
|
85
|
+
export {
|
|
86
|
+
fromProcess
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=dist-es-X5IH3XCT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../node_modules/@aws-sdk/credential-provider-process/dist-es/resolveProcessCredentials.js","../../node_modules/@aws-sdk/credential-provider-process/dist-es/getValidatedProcessCredentials.js","../../node_modules/@aws-sdk/credential-provider-process/dist-es/fromProcess.js"],"sourcesContent":["import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { exec } from \"child_process\";\nimport { promisify } from \"util\";\nimport { getValidatedProcessCredentials } from \"./getValidatedProcessCredentials\";\nexport const resolveProcessCredentials = async (profileName, profiles, logger) => {\n const profile = profiles[profileName];\n if (profiles[profileName]) {\n const credentialProcess = profile[\"credential_process\"];\n if (credentialProcess !== undefined) {\n const execPromise = promisify(exec);\n try {\n const { stdout } = await execPromise(credentialProcess);\n let data;\n try {\n data = JSON.parse(stdout.trim());\n }\n catch {\n throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);\n }\n return getValidatedProcessCredentials(profileName, data, profiles);\n }\n catch (error) {\n throw new CredentialsProviderError(error.message, { logger });\n }\n }\n else {\n throw new CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger });\n }\n }\n else {\n throw new CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, {\n logger,\n });\n }\n};\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nexport const getValidatedProcessCredentials = (profileName, data, profiles) => {\n if (data.Version !== 1) {\n throw Error(`Profile ${profileName} credential_process did not return Version 1.`);\n }\n if (data.AccessKeyId === undefined || data.SecretAccessKey === undefined) {\n throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);\n }\n if (data.Expiration) {\n const currentTime = new Date();\n const expireTime = new Date(data.Expiration);\n if (expireTime < currentTime) {\n throw Error(`Profile ${profileName} credential_process returned expired credentials.`);\n }\n }\n let accountId = data.AccountId;\n if (!accountId && profiles?.[profileName]?.aws_account_id) {\n accountId = profiles[profileName].aws_account_id;\n }\n const credentials = {\n accessKeyId: data.AccessKeyId,\n secretAccessKey: data.SecretAccessKey,\n ...(data.SessionToken && { sessionToken: data.SessionToken }),\n ...(data.Expiration && { expiration: new Date(data.Expiration) }),\n ...(data.CredentialScope && { credentialScope: data.CredentialScope }),\n ...(accountId && { accountId }),\n };\n setCredentialFeature(credentials, \"CREDENTIALS_PROCESS\", \"w\");\n return credentials;\n};\n","import { getProfileName, parseKnownFiles } from \"@smithy/shared-ini-file-loader\";\nimport { resolveProcessCredentials } from \"./resolveProcessCredentials\";\nexport const fromProcess = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-process - fromProcess\");\n const profiles = await parseKnownFiles(init);\n return resolveProcessCredentials(getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n }), profiles, init.logger);\n};\n"],"mappings":";;;;;;;;;;;;;AACA,SAAS,YAAY;AACrB,SAAS,iBAAiB;;;ACDnB,IAAM,iCAAiC,CAAC,aAAa,MAAM,aAAa;AAC3E,MAAI,KAAK,YAAY,GAAG;AACpB,UAAM,MAAM,WAAW,WAAW,+CAA+C;AAAA,EACrF;AACA,MAAI,KAAK,gBAAgB,UAAa,KAAK,oBAAoB,QAAW;AACtE,UAAM,MAAM,WAAW,WAAW,mDAAmD;AAAA,EACzF;AACA,MAAI,KAAK,YAAY;AACjB,UAAM,cAAc,oBAAI,KAAK;AAC7B,UAAM,aAAa,IAAI,KAAK,KAAK,UAAU;AAC3C,QAAI,aAAa,aAAa;AAC1B,YAAM,MAAM,WAAW,WAAW,mDAAmD;AAAA,IACzF;AAAA,EACJ;AACA,MAAI,YAAY,KAAK;AACrB,MAAI,CAAC,aAAa,WAAW,WAAW,GAAG,gBAAgB;AACvD,gBAAY,SAAS,WAAW,EAAE;AAAA,EACtC;AACA,QAAM,cAAc;AAAA,IAChB,aAAa,KAAK;AAAA,IAClB,iBAAiB,KAAK;AAAA,IACtB,GAAI,KAAK,gBAAgB,EAAE,cAAc,KAAK,aAAa;AAAA,IAC3D,GAAI,KAAK,cAAc,EAAE,YAAY,IAAI,KAAK,KAAK,UAAU,EAAE;AAAA,IAC/D,GAAI,KAAK,mBAAmB,EAAE,iBAAiB,KAAK,gBAAgB;AAAA,IACpE,GAAI,aAAa,EAAE,UAAU;AAAA,EACjC;AACA,uBAAqB,aAAa,uBAAuB,GAAG;AAC5D,SAAO;AACX;;;ADzBO,IAAM,4BAA4B,OAAO,aAAa,UAAU,WAAW;AAC9E,QAAM,UAAU,SAAS,WAAW;AACpC,MAAI,SAAS,WAAW,GAAG;AACvB,UAAM,oBAAoB,QAAQ,oBAAoB;AACtD,QAAI,sBAAsB,QAAW;AACjC,YAAM,cAAc,UAAU,IAAI;AAClC,UAAI;AACA,cAAM,EAAE,OAAO,IAAI,MAAM,YAAY,iBAAiB;AACtD,YAAI;AACJ,YAAI;AACA,iBAAO,KAAK,MAAM,OAAO,KAAK,CAAC;AAAA,QACnC,QACM;AACF,gBAAM,MAAM,WAAW,WAAW,4CAA4C;AAAA,QAClF;AACA,eAAO,+BAA+B,aAAa,MAAM,QAAQ;AAAA,MACrE,SACO,OAAO;AACV,cAAM,IAAI,yBAAyB,MAAM,SAAS,EAAE,OAAO,CAAC;AAAA,MAChE;AAAA,IACJ,OACK;AACD,YAAM,IAAI,yBAAyB,WAAW,WAAW,wCAAwC,EAAE,OAAO,CAAC;AAAA,IAC/G;AAAA,EACJ,OACK;AACD,UAAM,IAAI,yBAAyB,WAAW,WAAW,mDAAmD;AAAA,MACxG;AAAA,IACJ,CAAC;AAAA,EACL;AACJ;;;AEhCO,IAAM,cAAc,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,mBAAmB,IAAI,CAAC,MAAM;AAC7E,OAAK,QAAQ,MAAM,oDAAoD;AACvE,QAAM,WAAW,MAAM,gBAAgB,IAAI;AAC3C,SAAO,0BAA0B,eAAe;AAAA,IAC5C,SAAS,KAAK,WAAW,oBAAoB;AAAA,EACjD,CAAC,GAAG,UAAU,KAAK,MAAM;AAC7B;","names":[]}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import {
|
|
2
|
+
HttpRequest,
|
|
3
|
+
NodeHttpHandler,
|
|
4
|
+
parseRfc3339DateTime,
|
|
5
|
+
sdkStreamMixin
|
|
6
|
+
} from "./chunk-BIVFO5LG.js";
|
|
7
|
+
import {
|
|
8
|
+
setCredentialFeature
|
|
9
|
+
} from "./chunk-UZGMBQZB.js";
|
|
10
|
+
import "./chunk-3YGWW265.js";
|
|
11
|
+
import {
|
|
12
|
+
CredentialsProviderError
|
|
13
|
+
} from "./chunk-R63LRFTI.js";
|
|
14
|
+
|
|
15
|
+
// node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js
|
|
16
|
+
import fs from "fs/promises";
|
|
17
|
+
|
|
18
|
+
// node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/checkUrl.js
|
|
19
|
+
var ECS_CONTAINER_HOST = "169.254.170.2";
|
|
20
|
+
var EKS_CONTAINER_HOST_IPv4 = "169.254.170.23";
|
|
21
|
+
var EKS_CONTAINER_HOST_IPv6 = "[fd00:ec2::23]";
|
|
22
|
+
var checkUrl = (url, logger) => {
|
|
23
|
+
if (url.protocol === "https:") {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (url.hostname === ECS_CONTAINER_HOST || url.hostname === EKS_CONTAINER_HOST_IPv4 || url.hostname === EKS_CONTAINER_HOST_IPv6) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (url.hostname.includes("[")) {
|
|
30
|
+
if (url.hostname === "[::1]" || url.hostname === "[0000:0000:0000:0000:0000:0000:0000:0001]") {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
} else {
|
|
34
|
+
if (url.hostname === "localhost") {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const ipComponents = url.hostname.split(".");
|
|
38
|
+
const inRange = (component) => {
|
|
39
|
+
const num = parseInt(component, 10);
|
|
40
|
+
return 0 <= num && num <= 255;
|
|
41
|
+
};
|
|
42
|
+
if (ipComponents[0] === "127" && inRange(ipComponents[1]) && inRange(ipComponents[2]) && inRange(ipComponents[3]) && ipComponents.length === 4) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
throw new CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
|
|
47
|
+
- loopback CIDR 127.0.0.0/8 or [::1/128]
|
|
48
|
+
- ECS container host 169.254.170.2
|
|
49
|
+
- EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/requestHelpers.js
|
|
53
|
+
function createGetRequest(url) {
|
|
54
|
+
return new HttpRequest({
|
|
55
|
+
protocol: url.protocol,
|
|
56
|
+
hostname: url.hostname,
|
|
57
|
+
port: Number(url.port),
|
|
58
|
+
path: url.pathname,
|
|
59
|
+
query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {
|
|
60
|
+
acc[k] = v;
|
|
61
|
+
return acc;
|
|
62
|
+
}, {}),
|
|
63
|
+
fragment: url.hash
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
async function getCredentials(response, logger) {
|
|
67
|
+
const stream = sdkStreamMixin(response.body);
|
|
68
|
+
const str = await stream.transformToString();
|
|
69
|
+
if (response.statusCode === 200) {
|
|
70
|
+
const parsed = JSON.parse(str);
|
|
71
|
+
if (typeof parsed.AccessKeyId !== "string" || typeof parsed.SecretAccessKey !== "string" || typeof parsed.Token !== "string" || typeof parsed.Expiration !== "string") {
|
|
72
|
+
throw new CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: { AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }", { logger });
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
accessKeyId: parsed.AccessKeyId,
|
|
76
|
+
secretAccessKey: parsed.SecretAccessKey,
|
|
77
|
+
sessionToken: parsed.Token,
|
|
78
|
+
expiration: parseRfc3339DateTime(parsed.Expiration)
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
if (response.statusCode >= 400 && response.statusCode < 500) {
|
|
82
|
+
let parsedBody = {};
|
|
83
|
+
try {
|
|
84
|
+
parsedBody = JSON.parse(str);
|
|
85
|
+
} catch (e) {
|
|
86
|
+
}
|
|
87
|
+
throw Object.assign(new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {
|
|
88
|
+
Code: parsedBody.Code,
|
|
89
|
+
Message: parsedBody.Message
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
throw new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/retry-wrapper.js
|
|
96
|
+
var retryWrapper = (toRetry, maxRetries, delayMs) => {
|
|
97
|
+
return async () => {
|
|
98
|
+
for (let i = 0; i < maxRetries; ++i) {
|
|
99
|
+
try {
|
|
100
|
+
return await toRetry();
|
|
101
|
+
} catch (e) {
|
|
102
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return await toRetry();
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
// node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js
|
|
110
|
+
var AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI";
|
|
111
|
+
var DEFAULT_LINK_LOCAL_HOST = "http://169.254.170.2";
|
|
112
|
+
var AWS_CONTAINER_CREDENTIALS_FULL_URI = "AWS_CONTAINER_CREDENTIALS_FULL_URI";
|
|
113
|
+
var AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE";
|
|
114
|
+
var AWS_CONTAINER_AUTHORIZATION_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
|
|
115
|
+
var fromHttp = (options = {}) => {
|
|
116
|
+
options.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");
|
|
117
|
+
let host;
|
|
118
|
+
const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];
|
|
119
|
+
const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];
|
|
120
|
+
const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];
|
|
121
|
+
const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];
|
|
122
|
+
const warn = options.logger?.constructor?.name === "NoOpLogger" || !options.logger ? console.warn : options.logger.warn;
|
|
123
|
+
if (relative && full) {
|
|
124
|
+
warn("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.");
|
|
125
|
+
warn("awsContainerCredentialsFullUri will take precedence.");
|
|
126
|
+
}
|
|
127
|
+
if (token && tokenFile) {
|
|
128
|
+
warn("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.");
|
|
129
|
+
warn("awsContainerAuthorizationToken will take precedence.");
|
|
130
|
+
}
|
|
131
|
+
if (full) {
|
|
132
|
+
host = full;
|
|
133
|
+
} else if (relative) {
|
|
134
|
+
host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;
|
|
135
|
+
} else {
|
|
136
|
+
throw new CredentialsProviderError(`No HTTP credential provider host provided.
|
|
137
|
+
Set AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });
|
|
138
|
+
}
|
|
139
|
+
const url = new URL(host);
|
|
140
|
+
checkUrl(url, options.logger);
|
|
141
|
+
const requestHandler = new NodeHttpHandler({
|
|
142
|
+
requestTimeout: options.timeout ?? 1e3,
|
|
143
|
+
connectionTimeout: options.timeout ?? 1e3
|
|
144
|
+
});
|
|
145
|
+
return retryWrapper(async () => {
|
|
146
|
+
const request = createGetRequest(url);
|
|
147
|
+
if (token) {
|
|
148
|
+
request.headers.Authorization = token;
|
|
149
|
+
} else if (tokenFile) {
|
|
150
|
+
request.headers.Authorization = (await fs.readFile(tokenFile)).toString();
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const result = await requestHandler.handle(request);
|
|
154
|
+
return getCredentials(result.response).then((creds) => setCredentialFeature(creds, "CREDENTIALS_HTTP", "z"));
|
|
155
|
+
} catch (e) {
|
|
156
|
+
throw new CredentialsProviderError(String(e), { logger: options.logger });
|
|
157
|
+
}
|
|
158
|
+
}, options.maxRetries ?? 3, options.timeout ?? 1e3);
|
|
159
|
+
};
|
|
160
|
+
export {
|
|
161
|
+
fromHttp
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=dist-es-XEM2CDDP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js","../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/checkUrl.js","../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/requestHelpers.js","../../node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/retry-wrapper.js"],"sourcesContent":["import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { NodeHttpHandler } from \"@smithy/node-http-handler\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport fs from \"fs/promises\";\nimport { checkUrl } from \"./checkUrl\";\nimport { createGetRequest, getCredentials } from \"./requestHelpers\";\nimport { retryWrapper } from \"./retry-wrapper\";\nconst AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nconst DEFAULT_LINK_LOCAL_HOST = \"http://169.254.170.2\";\nconst AWS_CONTAINER_CREDENTIALS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = \"AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nexport const fromHttp = (options = {}) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-http - fromHttp\");\n let host;\n const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];\n const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];\n const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];\n const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];\n const warn = options.logger?.constructor?.name === \"NoOpLogger\" || !options.logger ? console.warn : options.logger.warn;\n if (relative && full) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.\");\n warn(\"awsContainerCredentialsFullUri will take precedence.\");\n }\n if (token && tokenFile) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.\");\n warn(\"awsContainerAuthorizationToken will take precedence.\");\n }\n if (full) {\n host = full;\n }\n else if (relative) {\n host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;\n }\n else {\n throw new CredentialsProviderError(`No HTTP credential provider host provided.\nSet AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });\n }\n const url = new URL(host);\n checkUrl(url, options.logger);\n const requestHandler = new NodeHttpHandler({\n requestTimeout: options.timeout ?? 1000,\n connectionTimeout: options.timeout ?? 1000,\n });\n return retryWrapper(async () => {\n const request = createGetRequest(url);\n if (token) {\n request.headers.Authorization = token;\n }\n else if (tokenFile) {\n request.headers.Authorization = (await fs.readFile(tokenFile)).toString();\n }\n try {\n const result = await requestHandler.handle(request);\n return getCredentials(result.response).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_HTTP\", \"z\"));\n }\n catch (e) {\n throw new CredentialsProviderError(String(e), { logger: options.logger });\n }\n }, options.maxRetries ?? 3, options.timeout ?? 1000);\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nconst LOOPBACK_CIDR_IPv4 = \"127.0.0.0/8\";\nconst LOOPBACK_CIDR_IPv6 = \"::1/128\";\nconst ECS_CONTAINER_HOST = \"169.254.170.2\";\nconst EKS_CONTAINER_HOST_IPv4 = \"169.254.170.23\";\nconst EKS_CONTAINER_HOST_IPv6 = \"[fd00:ec2::23]\";\nexport const checkUrl = (url, logger) => {\n if (url.protocol === \"https:\") {\n return;\n }\n if (url.hostname === ECS_CONTAINER_HOST ||\n url.hostname === EKS_CONTAINER_HOST_IPv4 ||\n url.hostname === EKS_CONTAINER_HOST_IPv6) {\n return;\n }\n if (url.hostname.includes(\"[\")) {\n if (url.hostname === \"[::1]\" || url.hostname === \"[0000:0000:0000:0000:0000:0000:0000:0001]\") {\n return;\n }\n }\n else {\n if (url.hostname === \"localhost\") {\n return;\n }\n const ipComponents = url.hostname.split(\".\");\n const inRange = (component) => {\n const num = parseInt(component, 10);\n return 0 <= num && num <= 255;\n };\n if (ipComponents[0] === \"127\" &&\n inRange(ipComponents[1]) &&\n inRange(ipComponents[2]) &&\n inRange(ipComponents[3]) &&\n ipComponents.length === 4) {\n return;\n }\n }\n throw new CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:\n - loopback CIDR 127.0.0.0/8 or [::1/128]\n - ECS container host 169.254.170.2\n - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });\n};\n","import { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { parseRfc3339DateTime } from \"@smithy/smithy-client\";\nimport { sdkStreamMixin } from \"@smithy/util-stream\";\nexport function createGetRequest(url) {\n return new HttpRequest({\n protocol: url.protocol,\n hostname: url.hostname,\n port: Number(url.port),\n path: url.pathname,\n query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {\n acc[k] = v;\n return acc;\n }, {}),\n fragment: url.hash,\n });\n}\nexport async function getCredentials(response, logger) {\n const stream = sdkStreamMixin(response.body);\n const str = await stream.transformToString();\n if (response.statusCode === 200) {\n const parsed = JSON.parse(str);\n if (typeof parsed.AccessKeyId !== \"string\" ||\n typeof parsed.SecretAccessKey !== \"string\" ||\n typeof parsed.Token !== \"string\" ||\n typeof parsed.Expiration !== \"string\") {\n throw new CredentialsProviderError(\"HTTP credential provider response not of the required format, an object matching: \" +\n \"{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }\", { logger });\n }\n return {\n accessKeyId: parsed.AccessKeyId,\n secretAccessKey: parsed.SecretAccessKey,\n sessionToken: parsed.Token,\n expiration: parseRfc3339DateTime(parsed.Expiration),\n };\n }\n if (response.statusCode >= 400 && response.statusCode < 500) {\n let parsedBody = {};\n try {\n parsedBody = JSON.parse(str);\n }\n catch (e) { }\n throw Object.assign(new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {\n Code: parsedBody.Code,\n Message: parsedBody.Message,\n });\n }\n throw new CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });\n}\n","export const retryWrapper = (toRetry, maxRetries, delayMs) => {\n return async () => {\n for (let i = 0; i < maxRetries; ++i) {\n try {\n return await toRetry();\n }\n catch (e) {\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n }\n return await toRetry();\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;AAGA,OAAO,QAAQ;;;ACAf,IAAM,qBAAqB;AAC3B,IAAM,0BAA0B;AAChC,IAAM,0BAA0B;AACzB,IAAM,WAAW,CAAC,KAAK,WAAW;AACrC,MAAI,IAAI,aAAa,UAAU;AAC3B;AAAA,EACJ;AACA,MAAI,IAAI,aAAa,sBACjB,IAAI,aAAa,2BACjB,IAAI,aAAa,yBAAyB;AAC1C;AAAA,EACJ;AACA,MAAI,IAAI,SAAS,SAAS,GAAG,GAAG;AAC5B,QAAI,IAAI,aAAa,WAAW,IAAI,aAAa,6CAA6C;AAC1F;AAAA,IACJ;AAAA,EACJ,OACK;AACD,QAAI,IAAI,aAAa,aAAa;AAC9B;AAAA,IACJ;AACA,UAAM,eAAe,IAAI,SAAS,MAAM,GAAG;AAC3C,UAAM,UAAU,CAAC,cAAc;AAC3B,YAAM,MAAM,SAAS,WAAW,EAAE;AAClC,aAAO,KAAK,OAAO,OAAO;AAAA,IAC9B;AACA,QAAI,aAAa,CAAC,MAAM,SACpB,QAAQ,aAAa,CAAC,CAAC,KACvB,QAAQ,aAAa,CAAC,CAAC,KACvB,QAAQ,aAAa,CAAC,CAAC,KACvB,aAAa,WAAW,GAAG;AAC3B;AAAA,IACJ;AAAA,EACJ;AACA,QAAM,IAAI,yBAAyB;AAAA;AAAA;AAAA,0DAGmB,EAAE,OAAO,CAAC;AACpE;;;ACrCO,SAAS,iBAAiB,KAAK;AAClC,SAAO,IAAI,YAAY;AAAA,IACnB,UAAU,IAAI;AAAA,IACd,UAAU,IAAI;AAAA,IACd,MAAM,OAAO,IAAI,IAAI;AAAA,IACrB,MAAM,IAAI;AAAA,IACV,OAAO,MAAM,KAAK,IAAI,aAAa,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM;AAClE,UAAI,CAAC,IAAI;AACT,aAAO;AAAA,IACX,GAAG,CAAC,CAAC;AAAA,IACL,UAAU,IAAI;AAAA,EAClB,CAAC;AACL;AACA,eAAsB,eAAe,UAAU,QAAQ;AACnD,QAAM,SAAS,eAAe,SAAS,IAAI;AAC3C,QAAM,MAAM,MAAM,OAAO,kBAAkB;AAC3C,MAAI,SAAS,eAAe,KAAK;AAC7B,UAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,QAAI,OAAO,OAAO,gBAAgB,YAC9B,OAAO,OAAO,oBAAoB,YAClC,OAAO,OAAO,UAAU,YACxB,OAAO,OAAO,eAAe,UAAU;AACvC,YAAM,IAAI,yBAAyB,kLACiE,EAAE,OAAO,CAAC;AAAA,IAClH;AACA,WAAO;AAAA,MACH,aAAa,OAAO;AAAA,MACpB,iBAAiB,OAAO;AAAA,MACxB,cAAc,OAAO;AAAA,MACrB,YAAY,qBAAqB,OAAO,UAAU;AAAA,IACtD;AAAA,EACJ;AACA,MAAI,SAAS,cAAc,OAAO,SAAS,aAAa,KAAK;AACzD,QAAI,aAAa,CAAC;AAClB,QAAI;AACA,mBAAa,KAAK,MAAM,GAAG;AAAA,IAC/B,SACO,GAAG;AAAA,IAAE;AACZ,UAAM,OAAO,OAAO,IAAI,yBAAyB,iCAAiC,SAAS,UAAU,IAAI,EAAE,OAAO,CAAC,GAAG;AAAA,MAClH,MAAM,WAAW;AAAA,MACjB,SAAS,WAAW;AAAA,IACxB,CAAC;AAAA,EACL;AACA,QAAM,IAAI,yBAAyB,iCAAiC,SAAS,UAAU,IAAI,EAAE,OAAO,CAAC;AACzG;;;AChDO,IAAM,eAAe,CAAC,SAAS,YAAY,YAAY;AAC1D,SAAO,YAAY;AACf,aAAS,IAAI,GAAG,IAAI,YAAY,EAAE,GAAG;AACjC,UAAI;AACA,eAAO,MAAM,QAAQ;AAAA,MACzB,SACO,GAAG;AACN,cAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,OAAO,CAAC;AAAA,MAC/D;AAAA,IACJ;AACA,WAAO,MAAM,QAAQ;AAAA,EACzB;AACJ;;;AHLA,IAAM,yCAAyC;AAC/C,IAAM,0BAA0B;AAChC,IAAM,qCAAqC;AAC3C,IAAM,yCAAyC;AAC/C,IAAM,oCAAoC;AACnC,IAAM,WAAW,CAAC,UAAU,CAAC,MAAM;AACtC,UAAQ,QAAQ,MAAM,8CAA8C;AACpE,MAAI;AACJ,QAAM,WAAW,QAAQ,sCAAsC,QAAQ,IAAI,sCAAsC;AACjH,QAAM,OAAO,QAAQ,kCAAkC,QAAQ,IAAI,kCAAkC;AACrG,QAAM,QAAQ,QAAQ,kCAAkC,QAAQ,IAAI,iCAAiC;AACrG,QAAM,YAAY,QAAQ,sCAAsC,QAAQ,IAAI,sCAAsC;AAClH,QAAM,OAAO,QAAQ,QAAQ,aAAa,SAAS,gBAAgB,CAAC,QAAQ,SAAS,QAAQ,OAAO,QAAQ,OAAO;AACnH,MAAI,YAAY,MAAM;AAClB,SAAK,6HACyF;AAC9F,SAAK,sDAAsD;AAAA,EAC/D;AACA,MAAI,SAAS,WAAW;AACpB,SAAK,6HACyF;AAC9F,SAAK,sDAAsD;AAAA,EAC/D;AACA,MAAI,MAAM;AACN,WAAO;AAAA,EACX,WACS,UAAU;AACf,WAAO,GAAG,uBAAuB,GAAG,QAAQ;AAAA,EAChD,OACK;AACD,UAAM,IAAI,yBAAyB;AAAA,oFACyC,EAAE,QAAQ,QAAQ,OAAO,CAAC;AAAA,EAC1G;AACA,QAAM,MAAM,IAAI,IAAI,IAAI;AACxB,WAAS,KAAK,QAAQ,MAAM;AAC5B,QAAM,iBAAiB,IAAI,gBAAgB;AAAA,IACvC,gBAAgB,QAAQ,WAAW;AAAA,IACnC,mBAAmB,QAAQ,WAAW;AAAA,EAC1C,CAAC;AACD,SAAO,aAAa,YAAY;AAC5B,UAAM,UAAU,iBAAiB,GAAG;AACpC,QAAI,OAAO;AACP,cAAQ,QAAQ,gBAAgB;AAAA,IACpC,WACS,WAAW;AAChB,cAAQ,QAAQ,iBAAiB,MAAM,GAAG,SAAS,SAAS,GAAG,SAAS;AAAA,IAC5E;AACA,QAAI;AACA,YAAM,SAAS,MAAM,eAAe,OAAO,OAAO;AAClD,aAAO,eAAe,OAAO,QAAQ,EAAE,KAAK,CAAC,UAAU,qBAAqB,OAAO,oBAAoB,GAAG,CAAC;AAAA,IAC/G,SACO,GAAG;AACN,YAAM,IAAI,yBAAyB,OAAO,CAAC,GAAG,EAAE,QAAQ,QAAQ,OAAO,CAAC;AAAA,IAC5E;AAAA,EACJ,GAAG,QAAQ,cAAc,GAAG,QAAQ,WAAW,GAAI;AACvD;","names":[]}
|