@aws-sdk/credential-provider-imds
Advanced tools
Comparing version 3.10.0 to 3.12.0
@@ -6,2 +6,13 @@ # Change Log | ||
# [3.12.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.11.0...v3.12.0) (2021-04-09) | ||
### Bug Fixes | ||
* run downlevel-dts in prepublishOnly ([#2218](https://github.com/aws/aws-sdk-js-v3/issues/2218)) ([0745502](https://github.com/aws/aws-sdk-js-v3/commit/0745502dcf819460ee1d81362470859674c757a7)) | ||
# [3.10.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.9.0...v3.10.0) (2021-03-26) | ||
@@ -8,0 +19,0 @@ |
@@ -17,26 +17,27 @@ "use strict"; | ||
*/ | ||
function fromContainerMetadata(init = {}) { | ||
const fromContainerMetadata = (init = {}) => { | ||
const { timeout, maxRetries } = RemoteProviderInit_1.providerConfigFromInit(init); | ||
return () => { | ||
return getCmdsUri().then((url) => retry_1.retry(async () => { | ||
const credsResponse = JSON.parse(await requestFromEcsImds(timeout, url)); | ||
if (!ImdsCredentials_1.isImdsCredentials(credsResponse)) { | ||
throw new property_provider_1.ProviderError("Invalid response received from instance metadata service."); | ||
} | ||
return ImdsCredentials_1.fromImdsCredentials(credsResponse); | ||
}, maxRetries)); | ||
}; | ||
} | ||
return () => retry_1.retry(async () => { | ||
const requestOptions = await getCmdsUri(); | ||
const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions)); | ||
if (!ImdsCredentials_1.isImdsCredentials(credsResponse)) { | ||
throw new property_provider_1.ProviderError("Invalid response received from instance metadata service."); | ||
} | ||
return ImdsCredentials_1.fromImdsCredentials(credsResponse); | ||
}, maxRetries); | ||
}; | ||
exports.fromContainerMetadata = fromContainerMetadata; | ||
function requestFromEcsImds(timeout, options) { | ||
const requestFromEcsImds = async (timeout, options) => { | ||
if (process.env[exports.ENV_CMDS_AUTH_TOKEN]) { | ||
const { headers = {} } = options; | ||
headers.Authorization = process.env[exports.ENV_CMDS_AUTH_TOKEN]; | ||
options.headers = headers; | ||
options.headers = { | ||
...options.headers, | ||
Authorization: process.env[exports.ENV_CMDS_AUTH_TOKEN], | ||
}; | ||
} | ||
return httpRequest_1.httpRequest({ | ||
const buffer = await httpRequest_1.httpRequest({ | ||
...options, | ||
timeout, | ||
}).then((buffer) => buffer.toString()); | ||
} | ||
}); | ||
return buffer.toString(); | ||
}; | ||
const CMDS_IP = "169.254.170.2"; | ||
@@ -51,8 +52,8 @@ const GREENGRASS_HOSTS = { | ||
}; | ||
function getCmdsUri() { | ||
const getCmdsUri = async () => { | ||
if (process.env[exports.ENV_CMDS_RELATIVE_URI]) { | ||
return Promise.resolve({ | ||
return { | ||
hostname: CMDS_IP, | ||
path: process.env[exports.ENV_CMDS_RELATIVE_URI], | ||
}); | ||
}; | ||
} | ||
@@ -62,16 +63,16 @@ if (process.env[exports.ENV_CMDS_FULL_URI]) { | ||
if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) { | ||
return Promise.reject(new property_provider_1.ProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, false)); | ||
throw new property_provider_1.ProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, false); | ||
} | ||
if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) { | ||
return Promise.reject(new property_provider_1.ProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, false)); | ||
throw new property_provider_1.ProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, false); | ||
} | ||
return Promise.resolve({ | ||
return { | ||
...parsed, | ||
port: parsed.port ? parseInt(parsed.port, 10) : undefined, | ||
}); | ||
}; | ||
} | ||
return Promise.reject(new property_provider_1.ProviderError("The container metadata credential provider cannot be used unless" + | ||
throw new property_provider_1.ProviderError("The container metadata credential provider cannot be used unless" + | ||
` the ${exports.ENV_CMDS_RELATIVE_URI} or ${exports.ENV_CMDS_FULL_URI} environment` + | ||
" variable is set", false)); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUNvbnRhaW5lck1ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zyb21Db250YWluZXJNZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrRUFBMkQ7QUFHM0QsNkJBQTRCO0FBRTVCLDhEQUEyRDtBQUMzRCxzRUFBMEY7QUFDMUYsNEVBQWlHO0FBQ2pHLGtEQUErQztBQUVsQyxRQUFBLGlCQUFpQixHQUFHLG9DQUFvQyxDQUFDO0FBQ3pELFFBQUEscUJBQXFCLEdBQUcsd0NBQXdDLENBQUM7QUFDakUsUUFBQSxtQkFBbUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUV2RTs7O0dBR0c7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxPQUEyQixFQUFFO0lBQ2pFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsMkNBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsT0FBTyxHQUFHLEVBQUU7UUFDVixPQUFPLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQy9CLGFBQUssQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNmLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsbUNBQWlCLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ3JDLE1BQU0sSUFBSSxpQ0FBYSxDQUFDLDJEQUEyRCxDQUFDLENBQUM7YUFDdEY7WUFFRCxPQUFPLHFDQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FDZixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQWRELHNEQWNDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxPQUFlLEVBQUUsT0FBdUI7SUFDbEUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUFtQixDQUFDLEVBQUU7UUFDcEMsTUFBTSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDakMsT0FBTyxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUFtQixDQUFDLENBQUM7UUFDekQsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7S0FDM0I7SUFFRCxPQUFPLHlCQUFXLENBQUM7UUFDakIsR0FBRyxPQUFPO1FBQ1YsT0FBTztLQUNSLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUM7QUFDaEMsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFDRixNQUFNLG9CQUFvQixHQUFHO0lBQzNCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUYsU0FBUyxVQUFVO0lBQ2pCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBcUIsQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNyQixRQUFRLEVBQUUsT0FBTztZQUNqQixJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBcUIsQ0FBQztTQUN6QyxDQUFDLENBQUM7S0FDSjtJQUVELElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBaUIsQ0FBQyxFQUFFO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLFdBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUFpQixDQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzlELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FDbkIsSUFBSSxpQ0FBYSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEscURBQXFELEVBQUUsS0FBSyxDQUFDLENBQ2xHLENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLG9CQUFvQixDQUFDLEVBQUU7WUFDbEUsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUNuQixJQUFJLGlDQUFhLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxxREFBcUQsRUFBRSxLQUFLLENBQUMsQ0FDbEcsQ0FBQztTQUNIO1FBRUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3JCLEdBQUcsTUFBTTtZQUNULElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMxRCxDQUFDLENBQUM7S0FDSjtJQUVELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FDbkIsSUFBSSxpQ0FBYSxDQUNmLGtFQUFrRTtRQUNoRSxRQUFRLDZCQUFxQixPQUFPLHlCQUFpQixjQUFjO1FBQ25FLGtCQUFrQixFQUNwQixLQUFLLENBQ04sQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyRXJyb3IgfSBmcm9tIFwiQGF3cy1zZGsvcHJvcGVydHktcHJvdmlkZXJcIjtcbmltcG9ydCB7IENyZWRlbnRpYWxQcm92aWRlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgUmVxdWVzdE9wdGlvbnMgfSBmcm9tIFwiaHR0cFwiO1xuaW1wb3J0IHsgcGFyc2UgfSBmcm9tIFwidXJsXCI7XG5cbmltcG9ydCB7IGh0dHBSZXF1ZXN0IH0gZnJvbSBcIi4vcmVtb3RlUHJvdmlkZXIvaHR0cFJlcXVlc3RcIjtcbmltcG9ydCB7IGZyb21JbWRzQ3JlZGVudGlhbHMsIGlzSW1kc0NyZWRlbnRpYWxzIH0gZnJvbSBcIi4vcmVtb3RlUHJvdmlkZXIvSW1kc0NyZWRlbnRpYWxzXCI7XG5pbXBvcnQgeyBwcm92aWRlckNvbmZpZ0Zyb21Jbml0LCBSZW1vdGVQcm92aWRlckluaXQgfSBmcm9tIFwiLi9yZW1vdGVQcm92aWRlci9SZW1vdGVQcm92aWRlckluaXRcIjtcbmltcG9ydCB7IHJldHJ5IH0gZnJvbSBcIi4vcmVtb3RlUHJvdmlkZXIvcmV0cnlcIjtcblxuZXhwb3J0IGNvbnN0IEVOVl9DTURTX0ZVTExfVVJJID0gXCJBV1NfQ09OVEFJTkVSX0NSRURFTlRJQUxTX0ZVTExfVVJJXCI7XG5leHBvcnQgY29uc3QgRU5WX0NNRFNfUkVMQVRJVkVfVVJJID0gXCJBV1NfQ09OVEFJTkVSX0NSRURFTlRJQUxTX1JFTEFUSVZFX1VSSVwiO1xuZXhwb3J0IGNvbnN0IEVOVl9DTURTX0FVVEhfVE9LRU4gPSBcIkFXU19DT05UQUlORVJfQVVUSE9SSVpBVElPTl9UT0tFTlwiO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjcmVkZW50aWFsIHByb3ZpZGVyIHRoYXQgd2lsbCBzb3VyY2UgY3JlZGVudGlhbHMgZnJvbSB0aGUgRUNTXG4gKiBDb250YWluZXIgTWV0YWRhdGEgU2VydmljZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbUNvbnRhaW5lck1ldGFkYXRhKGluaXQ6IFJlbW90ZVByb3ZpZGVySW5pdCA9IHt9KTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgY29uc3QgeyB0aW1lb3V0LCBtYXhSZXRyaWVzIH0gPSBwcm92aWRlckNvbmZpZ0Zyb21Jbml0KGluaXQpO1xuICByZXR1cm4gKCkgPT4ge1xuICAgIHJldHVybiBnZXRDbWRzVXJpKCkudGhlbigodXJsKSA9PlxuICAgICAgcmV0cnkoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBjcmVkc1Jlc3BvbnNlID0gSlNPTi5wYXJzZShhd2FpdCByZXF1ZXN0RnJvbUVjc0ltZHModGltZW91dCwgdXJsKSk7XG4gICAgICAgIGlmICghaXNJbWRzQ3JlZGVudGlhbHMoY3JlZHNSZXNwb25zZSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUHJvdmlkZXJFcnJvcihcIkludmFsaWQgcmVzcG9uc2UgcmVjZWl2ZWQgZnJvbSBpbnN0YW5jZSBtZXRhZGF0YSBzZXJ2aWNlLlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmcm9tSW1kc0NyZWRlbnRpYWxzKGNyZWRzUmVzcG9uc2UpO1xuICAgICAgfSwgbWF4UmV0cmllcylcbiAgICApO1xuICB9O1xufVxuXG5mdW5jdGlvbiByZXF1ZXN0RnJvbUVjc0ltZHModGltZW91dDogbnVtYmVyLCBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGlmIChwcm9jZXNzLmVudltFTlZfQ01EU19BVVRIX1RPS0VOXSkge1xuICAgIGNvbnN0IHsgaGVhZGVycyA9IHt9IH0gPSBvcHRpb25zO1xuICAgIGhlYWRlcnMuQXV0aG9yaXphdGlvbiA9IHByb2Nlc3MuZW52W0VOVl9DTURTX0FVVEhfVE9LRU5dO1xuICAgIG9wdGlvbnMuaGVhZGVycyA9IGhlYWRlcnM7XG4gIH1cblxuICByZXR1cm4gaHR0cFJlcXVlc3Qoe1xuICAgIC4uLm9wdGlvbnMsXG4gICAgdGltZW91dCxcbiAgfSkudGhlbigoYnVmZmVyKSA9PiBidWZmZXIudG9TdHJpbmcoKSk7XG59XG5cbmNvbnN0IENNRFNfSVAgPSBcIjE2OS4yNTQuMTcwLjJcIjtcbmNvbnN0IEdSRUVOR1JBU1NfSE9TVFMgPSB7XG4gIGxvY2FsaG9zdDogdHJ1ZSxcbiAgXCIxMjcuMC4wLjFcIjogdHJ1ZSxcbn07XG5jb25zdCBHUkVFTkdSQVNTX1BST1RPQ09MUyA9IHtcbiAgXCJodHRwOlwiOiB0cnVlLFxuICBcImh0dHBzOlwiOiB0cnVlLFxufTtcblxuZnVuY3Rpb24gZ2V0Q21kc1VyaSgpOiBQcm9taXNlPFJlcXVlc3RPcHRpb25zPiB7XG4gIGlmIChwcm9jZXNzLmVudltFTlZfQ01EU19SRUxBVElWRV9VUkldKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICBob3N0bmFtZTogQ01EU19JUCxcbiAgICAgIHBhdGg6IHByb2Nlc3MuZW52W0VOVl9DTURTX1JFTEFUSVZFX1VSSV0sXG4gICAgfSk7XG4gIH1cblxuICBpZiAocHJvY2Vzcy5lbnZbRU5WX0NNRFNfRlVMTF9VUkldKSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2UocHJvY2Vzcy5lbnZbRU5WX0NNRFNfRlVMTF9VUkldISk7XG4gICAgaWYgKCFwYXJzZWQuaG9zdG5hbWUgfHwgIShwYXJzZWQuaG9zdG5hbWUgaW4gR1JFRU5HUkFTU19IT1NUUykpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcbiAgICAgICAgbmV3IFByb3ZpZGVyRXJyb3IoYCR7cGFyc2VkLmhvc3RuYW1lfSBpcyBub3QgYSB2YWxpZCBjb250YWluZXIgbWV0YWRhdGEgc2VydmljZSBob3N0bmFtZWAsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIXBhcnNlZC5wcm90b2NvbCB8fCAhKHBhcnNlZC5wcm90b2NvbCBpbiBHUkVFTkdSQVNTX1BST1RPQ09MUykpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcbiAgICAgICAgbmV3IFByb3ZpZGVyRXJyb3IoYCR7cGFyc2VkLnByb3RvY29sfSBpcyBub3QgYSB2YWxpZCBjb250YWluZXIgbWV0YWRhdGEgc2VydmljZSBwcm90b2NvbGAsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgIC4uLnBhcnNlZCxcbiAgICAgIHBvcnQ6IHBhcnNlZC5wb3J0ID8gcGFyc2VJbnQocGFyc2VkLnBvcnQsIDEwKSA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlamVjdChcbiAgICBuZXcgUHJvdmlkZXJFcnJvcihcbiAgICAgIFwiVGhlIGNvbnRhaW5lciBtZXRhZGF0YSBjcmVkZW50aWFsIHByb3ZpZGVyIGNhbm5vdCBiZSB1c2VkIHVubGVzc1wiICtcbiAgICAgICAgYCB0aGUgJHtFTlZfQ01EU19SRUxBVElWRV9VUkl9IG9yICR7RU5WX0NNRFNfRlVMTF9VUkl9IGVudmlyb25tZW50YCArXG4gICAgICAgIFwiIHZhcmlhYmxlIGlzIHNldFwiLFxuICAgICAgZmFsc2VcbiAgICApXG4gICk7XG59XG4iXX0= | ||
" variable is set", false); | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUNvbnRhaW5lck1ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zyb21Db250YWluZXJNZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrRUFBMkQ7QUFHM0QsNkJBQTRCO0FBRTVCLDhEQUEyRDtBQUMzRCxzRUFBMEY7QUFDMUYsNEVBQWlHO0FBQ2pHLGtEQUErQztBQUVsQyxRQUFBLGlCQUFpQixHQUFHLG9DQUFvQyxDQUFDO0FBQ3pELFFBQUEscUJBQXFCLEdBQUcsd0NBQXdDLENBQUM7QUFDakUsUUFBQSxtQkFBbUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUV2RTs7O0dBR0c7QUFDSSxNQUFNLHFCQUFxQixHQUFHLENBQUMsT0FBMkIsRUFBRSxFQUFzQixFQUFFO0lBQ3pGLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsMkNBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsT0FBTyxHQUFHLEVBQUUsQ0FDVixhQUFLLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDZixNQUFNLGNBQWMsR0FBRyxNQUFNLFVBQVUsRUFBRSxDQUFDO1FBQzFDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsbUNBQWlCLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDckMsTUFBTSxJQUFJLGlDQUFhLENBQUMsMkRBQTJELENBQUMsQ0FBQztTQUN0RjtRQUNELE9BQU8scUNBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQVhXLFFBQUEscUJBQXFCLHlCQVdoQztBQUVGLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxFQUFFLE9BQWUsRUFBRSxPQUF1QixFQUFtQixFQUFFO0lBQzdGLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBbUIsQ0FBQyxFQUFFO1FBQ3BDLE9BQU8sQ0FBQyxPQUFPLEdBQUc7WUFDaEIsR0FBRyxPQUFPLENBQUMsT0FBTztZQUNsQixhQUFhLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBbUIsQ0FBQztTQUNoRCxDQUFDO0tBQ0g7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLHlCQUFXLENBQUM7UUFDL0IsR0FBRyxPQUFPO1FBQ1YsT0FBTztLQUNSLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzNCLENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQztBQUNoQyxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQUNGLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRyxLQUFLLElBQTZCLEVBQUU7SUFDckQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUFxQixDQUFDLEVBQUU7UUFDdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUFxQixDQUFDO1NBQ3pDLENBQUM7S0FDSDtJQUVELElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBaUIsQ0FBQyxFQUFFO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLFdBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUFpQixDQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzlELE1BQU0sSUFBSSxpQ0FBYSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEscURBQXFELEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDekc7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyxFQUFFO1lBQ2xFLE1BQU0sSUFBSSxpQ0FBYSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEscURBQXFELEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDekc7UUFFRCxPQUFPO1lBQ0wsR0FBRyxNQUFNO1lBQ1QsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQzFELENBQUM7S0FDSDtJQUVELE1BQU0sSUFBSSxpQ0FBYSxDQUNyQixrRUFBa0U7UUFDaEUsUUFBUSw2QkFBcUIsT0FBTyx5QkFBaUIsY0FBYztRQUNuRSxrQkFBa0IsRUFDcEIsS0FBSyxDQUNOLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlckVycm9yIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBDcmVkZW50aWFsUHJvdmlkZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IFJlcXVlc3RPcHRpb25zIH0gZnJvbSBcImh0dHBcIjtcbmltcG9ydCB7IHBhcnNlIH0gZnJvbSBcInVybFwiO1xuXG5pbXBvcnQgeyBodHRwUmVxdWVzdCB9IGZyb20gXCIuL3JlbW90ZVByb3ZpZGVyL2h0dHBSZXF1ZXN0XCI7XG5pbXBvcnQgeyBmcm9tSW1kc0NyZWRlbnRpYWxzLCBpc0ltZHNDcmVkZW50aWFscyB9IGZyb20gXCIuL3JlbW90ZVByb3ZpZGVyL0ltZHNDcmVkZW50aWFsc1wiO1xuaW1wb3J0IHsgcHJvdmlkZXJDb25maWdGcm9tSW5pdCwgUmVtb3RlUHJvdmlkZXJJbml0IH0gZnJvbSBcIi4vcmVtb3RlUHJvdmlkZXIvUmVtb3RlUHJvdmlkZXJJbml0XCI7XG5pbXBvcnQgeyByZXRyeSB9IGZyb20gXCIuL3JlbW90ZVByb3ZpZGVyL3JldHJ5XCI7XG5cbmV4cG9ydCBjb25zdCBFTlZfQ01EU19GVUxMX1VSSSA9IFwiQVdTX0NPTlRBSU5FUl9DUkVERU5USUFMU19GVUxMX1VSSVwiO1xuZXhwb3J0IGNvbnN0IEVOVl9DTURTX1JFTEFUSVZFX1VSSSA9IFwiQVdTX0NPTlRBSU5FUl9DUkVERU5USUFMU19SRUxBVElWRV9VUklcIjtcbmV4cG9ydCBjb25zdCBFTlZfQ01EU19BVVRIX1RPS0VOID0gXCJBV1NfQ09OVEFJTkVSX0FVVEhPUklaQVRJT05fVE9LRU5cIjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgY3JlZGVudGlhbCBwcm92aWRlciB0aGF0IHdpbGwgc291cmNlIGNyZWRlbnRpYWxzIGZyb20gdGhlIEVDU1xuICogQ29udGFpbmVyIE1ldGFkYXRhIFNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGZyb21Db250YWluZXJNZXRhZGF0YSA9IChpbml0OiBSZW1vdGVQcm92aWRlckluaXQgPSB7fSk6IENyZWRlbnRpYWxQcm92aWRlciA9PiB7XG4gIGNvbnN0IHsgdGltZW91dCwgbWF4UmV0cmllcyB9ID0gcHJvdmlkZXJDb25maWdGcm9tSW5pdChpbml0KTtcbiAgcmV0dXJuICgpID0+XG4gICAgcmV0cnkoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSBhd2FpdCBnZXRDbWRzVXJpKCk7XG4gICAgICBjb25zdCBjcmVkc1Jlc3BvbnNlID0gSlNPTi5wYXJzZShhd2FpdCByZXF1ZXN0RnJvbUVjc0ltZHModGltZW91dCwgcmVxdWVzdE9wdGlvbnMpKTtcbiAgICAgIGlmICghaXNJbWRzQ3JlZGVudGlhbHMoY3JlZHNSZXNwb25zZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFByb3ZpZGVyRXJyb3IoXCJJbnZhbGlkIHJlc3BvbnNlIHJlY2VpdmVkIGZyb20gaW5zdGFuY2UgbWV0YWRhdGEgc2VydmljZS5cIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gZnJvbUltZHNDcmVkZW50aWFscyhjcmVkc1Jlc3BvbnNlKTtcbiAgICB9LCBtYXhSZXRyaWVzKTtcbn07XG5cbmNvbnN0IHJlcXVlc3RGcm9tRWNzSW1kcyA9IGFzeW5jICh0aW1lb3V0OiBudW1iZXIsIG9wdGlvbnM6IFJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgaWYgKHByb2Nlc3MuZW52W0VOVl9DTURTX0FVVEhfVE9LRU5dKSB7XG4gICAgb3B0aW9ucy5oZWFkZXJzID0ge1xuICAgICAgLi4ub3B0aW9ucy5oZWFkZXJzLFxuICAgICAgQXV0aG9yaXphdGlvbjogcHJvY2Vzcy5lbnZbRU5WX0NNRFNfQVVUSF9UT0tFTl0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IGh0dHBSZXF1ZXN0KHtcbiAgICAuLi5vcHRpb25zLFxuICAgIHRpbWVvdXQsXG4gIH0pO1xuICByZXR1cm4gYnVmZmVyLnRvU3RyaW5nKCk7XG59O1xuXG5jb25zdCBDTURTX0lQID0gXCIxNjkuMjU0LjE3MC4yXCI7XG5jb25zdCBHUkVFTkdSQVNTX0hPU1RTID0ge1xuICBsb2NhbGhvc3Q6IHRydWUsXG4gIFwiMTI3LjAuMC4xXCI6IHRydWUsXG59O1xuY29uc3QgR1JFRU5HUkFTU19QUk9UT0NPTFMgPSB7XG4gIFwiaHR0cDpcIjogdHJ1ZSxcbiAgXCJodHRwczpcIjogdHJ1ZSxcbn07XG5cbmNvbnN0IGdldENtZHNVcmkgPSBhc3luYyAoKTogUHJvbWlzZTxSZXF1ZXN0T3B0aW9ucz4gPT4ge1xuICBpZiAocHJvY2Vzcy5lbnZbRU5WX0NNRFNfUkVMQVRJVkVfVVJJXSkge1xuICAgIHJldHVybiB7XG4gICAgICBob3N0bmFtZTogQ01EU19JUCxcbiAgICAgIHBhdGg6IHByb2Nlc3MuZW52W0VOVl9DTURTX1JFTEFUSVZFX1VSSV0sXG4gICAgfTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudltFTlZfQ01EU19GVUxMX1VSSV0pIHtcbiAgICBjb25zdCBwYXJzZWQgPSBwYXJzZShwcm9jZXNzLmVudltFTlZfQ01EU19GVUxMX1VSSV0hKTtcbiAgICBpZiAoIXBhcnNlZC5ob3N0bmFtZSB8fCAhKHBhcnNlZC5ob3N0bmFtZSBpbiBHUkVFTkdSQVNTX0hPU1RTKSkge1xuICAgICAgdGhyb3cgbmV3IFByb3ZpZGVyRXJyb3IoYCR7cGFyc2VkLmhvc3RuYW1lfSBpcyBub3QgYSB2YWxpZCBjb250YWluZXIgbWV0YWRhdGEgc2VydmljZSBob3N0bmFtZWAsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBpZiAoIXBhcnNlZC5wcm90b2NvbCB8fCAhKHBhcnNlZC5wcm90b2NvbCBpbiBHUkVFTkdSQVNTX1BST1RPQ09MUykpIHtcbiAgICAgIHRocm93IG5ldyBQcm92aWRlckVycm9yKGAke3BhcnNlZC5wcm90b2NvbH0gaXMgbm90IGEgdmFsaWQgY29udGFpbmVyIG1ldGFkYXRhIHNlcnZpY2UgcHJvdG9jb2xgLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnBhcnNlZCxcbiAgICAgIHBvcnQ6IHBhcnNlZC5wb3J0ID8gcGFyc2VJbnQocGFyc2VkLnBvcnQsIDEwKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgdGhyb3cgbmV3IFByb3ZpZGVyRXJyb3IoXG4gICAgXCJUaGUgY29udGFpbmVyIG1ldGFkYXRhIGNyZWRlbnRpYWwgcHJvdmlkZXIgY2Fubm90IGJlIHVzZWQgdW5sZXNzXCIgK1xuICAgICAgYCB0aGUgJHtFTlZfQ01EU19SRUxBVElWRV9VUkl9IG9yICR7RU5WX0NNRFNfRlVMTF9VUkl9IGVudmlyb25tZW50YCArXG4gICAgICBcIiB2YXJpYWJsZSBpcyBzZXRcIixcbiAgICBmYWxzZVxuICApO1xufTtcbiJdfQ== |
@@ -15,35 +15,41 @@ import { __assign, __awaiter, __generator } from "tslib"; | ||
*/ | ||
export function fromContainerMetadata(init) { | ||
var _this = this; | ||
export var fromContainerMetadata = function (init) { | ||
if (init === void 0) { init = {}; } | ||
var _a = providerConfigFromInit(init), timeout = _a.timeout, maxRetries = _a.maxRetries; | ||
return function () { | ||
return getCmdsUri().then(function (url) { | ||
return retry(function () { return __awaiter(_this, void 0, void 0, function () { | ||
var credsResponse, _a, _b; | ||
return __generator(this, function (_c) { | ||
switch (_c.label) { | ||
case 0: | ||
_b = (_a = JSON).parse; | ||
return [4 /*yield*/, requestFromEcsImds(timeout, url)]; | ||
case 1: | ||
credsResponse = _b.apply(_a, [_c.sent()]); | ||
if (!isImdsCredentials(credsResponse)) { | ||
throw new ProviderError("Invalid response received from instance metadata service."); | ||
} | ||
return [2 /*return*/, fromImdsCredentials(credsResponse)]; | ||
} | ||
}); | ||
}); }, maxRetries); | ||
}); | ||
return retry(function () { return __awaiter(void 0, void 0, void 0, function () { | ||
var requestOptions, credsResponse, _a, _b; | ||
return __generator(this, function (_c) { | ||
switch (_c.label) { | ||
case 0: return [4 /*yield*/, getCmdsUri()]; | ||
case 1: | ||
requestOptions = _c.sent(); | ||
_b = (_a = JSON).parse; | ||
return [4 /*yield*/, requestFromEcsImds(timeout, requestOptions)]; | ||
case 2: | ||
credsResponse = _b.apply(_a, [_c.sent()]); | ||
if (!isImdsCredentials(credsResponse)) { | ||
throw new ProviderError("Invalid response received from instance metadata service."); | ||
} | ||
return [2 /*return*/, fromImdsCredentials(credsResponse)]; | ||
} | ||
}); | ||
}); }, maxRetries); | ||
}; | ||
} | ||
function requestFromEcsImds(timeout, options) { | ||
if (process.env[ENV_CMDS_AUTH_TOKEN]) { | ||
var _a = options.headers, headers = _a === void 0 ? {} : _a; | ||
headers.Authorization = process.env[ENV_CMDS_AUTH_TOKEN]; | ||
options.headers = headers; | ||
} | ||
return httpRequest(__assign(__assign({}, options), { timeout: timeout })).then(function (buffer) { return buffer.toString(); }); | ||
} | ||
}; | ||
var requestFromEcsImds = function (timeout, options) { return __awaiter(void 0, void 0, void 0, function () { | ||
var buffer; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (process.env[ENV_CMDS_AUTH_TOKEN]) { | ||
options.headers = __assign(__assign({}, options.headers), { Authorization: process.env[ENV_CMDS_AUTH_TOKEN] }); | ||
} | ||
return [4 /*yield*/, httpRequest(__assign(__assign({}, options), { timeout: timeout }))]; | ||
case 1: | ||
buffer = _a.sent(); | ||
return [2 /*return*/, buffer.toString()]; | ||
} | ||
}); | ||
}); }; | ||
var CMDS_IP = "169.254.170.2"; | ||
@@ -58,23 +64,26 @@ var GREENGRASS_HOSTS = { | ||
}; | ||
function getCmdsUri() { | ||
if (process.env[ENV_CMDS_RELATIVE_URI]) { | ||
return Promise.resolve({ | ||
hostname: CMDS_IP, | ||
path: process.env[ENV_CMDS_RELATIVE_URI], | ||
}); | ||
} | ||
if (process.env[ENV_CMDS_FULL_URI]) { | ||
var parsed = parse(process.env[ENV_CMDS_FULL_URI]); | ||
if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) { | ||
return Promise.reject(new ProviderError(parsed.hostname + " is not a valid container metadata service hostname", false)); | ||
var getCmdsUri = function () { return __awaiter(void 0, void 0, void 0, function () { | ||
var parsed; | ||
return __generator(this, function (_a) { | ||
if (process.env[ENV_CMDS_RELATIVE_URI]) { | ||
return [2 /*return*/, { | ||
hostname: CMDS_IP, | ||
path: process.env[ENV_CMDS_RELATIVE_URI], | ||
}]; | ||
} | ||
if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) { | ||
return Promise.reject(new ProviderError(parsed.protocol + " is not a valid container metadata service protocol", false)); | ||
if (process.env[ENV_CMDS_FULL_URI]) { | ||
parsed = parse(process.env[ENV_CMDS_FULL_URI]); | ||
if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) { | ||
throw new ProviderError(parsed.hostname + " is not a valid container metadata service hostname", false); | ||
} | ||
if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) { | ||
throw new ProviderError(parsed.protocol + " is not a valid container metadata service protocol", false); | ||
} | ||
return [2 /*return*/, __assign(__assign({}, parsed), { port: parsed.port ? parseInt(parsed.port, 10) : undefined })]; | ||
} | ||
return Promise.resolve(__assign(__assign({}, parsed), { port: parsed.port ? parseInt(parsed.port, 10) : undefined })); | ||
} | ||
return Promise.reject(new ProviderError("The container metadata credential provider cannot be used unless" + | ||
(" the " + ENV_CMDS_RELATIVE_URI + " or " + ENV_CMDS_FULL_URI + " environment") + | ||
" variable is set", false)); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUNvbnRhaW5lck1ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zyb21Db250YWluZXJNZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBc0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFL0MsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsb0NBQW9DLENBQUM7QUFDdEUsTUFBTSxDQUFDLElBQU0scUJBQXFCLEdBQUcsd0NBQXdDLENBQUM7QUFDOUUsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsbUNBQW1DLENBQUM7QUFFdkU7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLElBQTZCO0lBQW5FLGlCQWNDO0lBZHFDLHFCQUFBLEVBQUEsU0FBNkI7SUFDM0QsSUFBQSxLQUEwQixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBcEQsT0FBTyxhQUFBLEVBQUUsVUFBVSxnQkFBaUMsQ0FBQztJQUM3RCxPQUFPO1FBQ0wsT0FBTyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBQyxHQUFHO1lBQzNCLE9BQUEsS0FBSyxDQUFDOzs7Ozs0QkFDa0IsS0FBQSxDQUFBLEtBQUEsSUFBSSxDQUFBLENBQUMsS0FBSyxDQUFBOzRCQUFDLHFCQUFNLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBQTs7NEJBQWpFLGFBQWEsR0FBRyxjQUFX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d3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBDcmVkZW50aWFsUHJvdmlkZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IFJlcXVlc3RPcHRpb25zIH0gZnJvbSBcImh0dHBcIjtcbmltcG9ydCB7IHBhcnNlIH0gZnJvbSBcInVybFwiO1xuXG5pbXBvcnQgeyBodHRwUmVxdWVzdCB9IGZyb20gXCIuL3JlbW90ZVByb3ZpZGVyL2h0dHBSZXF1ZXN0XCI7XG5pbXBvcnQgeyBmcm9tSW1kc0NyZWRlbnRpYWxzLCBpc0ltZHNDcmVkZW50aWFscyB9IGZyb20gXCIuL3JlbW90ZVByb3ZpZGVyL0ltZHNDcmVkZW50aWFsc1wiO1xuaW1wb3J0IHsgcHJvdmlkZXJDb25maWdGcm9tSW5pdCwgUmVtb3RlUHJvdmlkZXJJbml0IH0gZnJvbSBcIi4vcmVtb3RlUHJvdmlkZXIvUmVtb3RlUHJvdmlkZXJJbml0XCI7XG5pbXBvcnQgeyByZXRyeSB9IGZyb20gXCIuL3JlbW90ZVByb3ZpZGVyL3JldHJ5XCI7XG5cbmV4cG9ydCBjb25zdCBFTlZfQ01EU19GVUxMX1VSSSA9IFwiQVdTX0NPTlRBSU5FUl9DUkVERU5USUFMU19GVUxMX1VSSVwiO1xuZXhwb3J0IGNvbnN0IEVOVl9DTURTX1JFTEFUSVZFX1VSSSA9IFwiQVdTX0NPTlRBSU5FUl9DUkVERU5USUFMU19SRUxBVElWRV9VUklcIjtcbmV4cG9ydCBjb25zdCBFTlZfQ01EU19BVVRIX1RPS0VOID0gXCJBV1NfQ09OVEFJTkVSX0FVVEhPUklaQVRJT05fVE9LRU5cIjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgY3JlZGVudGlhbCBwcm92aWRlciB0aGF0IHdpbGwgc291cmNlIGNyZWRlbnRpYWxzIGZyb20gdGhlIEVDU1xuICogQ29udGFpbmVyIE1ldGFkYXRhIFNlcnZpY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21Db250YWluZXJNZXRhZGF0YShpbml0OiBSZW1vdGVQcm92aWRlckluaXQgPSB7fSk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gIGNvbnN0IHsgdGltZW91dCwgbWF4UmV0cmllcyB9ID0gcHJvdmlkZXJDb25maWdGcm9tSW5pdChpbml0KTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICByZXR1cm4gZ2V0Q21kc1VyaSgpLnRoZW4oKHVybCkgPT5cbiAgICAgIHJldHJ5KGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgY3JlZHNSZXNwb25zZSA9IEpTT04ucGFyc2UoYXdhaXQgcmVxdWVzdEZyb21FY3NJbWRzKHRpbWVvdXQsIHVybCkpO1xuICAgICAgICBpZiAoIWlzSW1kc0NyZWRlbnRpYWxzKGNyZWRzUmVzcG9uc2UpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFByb3ZpZGVyRXJyb3IoXCJJbnZhbGlkIHJlc3BvbnNlIHJlY2VpdmVkIGZyb20gaW5zdGFuY2UgbWV0YWRhdGEgc2VydmljZS5cIik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZnJvbUltZHNDcmVkZW50aWFscyhjcmVkc1Jlc3BvbnNlKTtcbiAgICAgIH0sIG1heFJldHJpZXMpXG4gICAgKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVxdWVzdEZyb21FY3NJbWRzKHRpbWVvdXQ6IG51bWJlciwgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBpZiAocHJvY2Vzcy5lbnZbRU5WX0NNRFNfQVVUSF9UT0tFTl0pIHtcbiAgICBjb25zdCB7IGhlYWRlcnMgPSB7fSB9ID0gb3B0aW9ucztcbiAgICBoZWFkZXJzLkF1dGhvcml6YXRpb24gPSBwcm9jZXNzLmVudltFTlZfQ01EU19BVVRIX1RPS0VOXTtcbiAgICBvcHRpb25zLmhlYWRlcnMgPSBoZWFkZXJzO1xuICB9XG5cbiAgcmV0dXJuIGh0dHBSZXF1ZXN0KHtcbiAgICAuLi5vcHRpb25zLFxuICAgIHRpbWVvdXQsXG4gIH0pLnRoZW4oKGJ1ZmZlcikgPT4gYnVmZmVyLnRvU3RyaW5nKCkpO1xufVxuXG5jb25zdCBDTURTX0lQID0gXCIxNjkuMjU0LjE3MC4yXCI7XG5jb25zdCBHUkVFTkdSQVNTX0hPU1RTID0ge1xuICBsb2NhbGhvc3Q6IHRydWUsXG4gIFwiMTI3LjAuMC4xXCI6IHRydWUsXG59O1xuY29uc3QgR1JFRU5HUkFTU19QUk9UT0NPTFMgPSB7XG4gIFwiaHR0cDpcIjogdHJ1ZSxcbiAgXCJodHRwczpcIjogdHJ1ZSxcbn07XG5cbmZ1bmN0aW9uIGdldENtZHNVcmkoKTogUHJvbWlzZTxSZXF1ZXN0T3B0aW9ucz4ge1xuICBpZiAocHJvY2Vzcy5lbnZbRU5WX0NNRFNfUkVMQVRJVkVfVVJJXSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgaG9zdG5hbWU6IENNRFNfSVAsXG4gICAgICBwYXRoOiBwcm9jZXNzLmVudltFTlZfQ01EU19SRUxBVElWRV9VUkldLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52W0VOVl9DTURTX0ZVTExfVVJJXSkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlKHByb2Nlc3MuZW52W0VOVl9DTURTX0ZVTExfVVJJXSEpO1xuICAgIGlmICghcGFyc2VkLmhvc3RuYW1lIHx8ICEocGFyc2VkLmhvc3RuYW1lIGluIEdSRUVOR1JBU1NfSE9TVFMpKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgIG5ldyBQcm92aWRlckVycm9yKGAke3BhcnNlZC5ob3N0bmFtZX0gaXMgbm90IGEgdmFsaWQgY29udGFpbmVyIG1ldGFkYXRhIHNlcnZpY2UgaG9zdG5hbWVgLCBmYWxzZSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFwYXJzZWQucHJvdG9jb2wgfHwgIShwYXJzZWQucHJvdG9jb2wgaW4gR1JFRU5HUkFTU19QUk9UT0NPTFMpKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgIG5ldyBQcm92aWRlckVycm9yKGAke3BhcnNlZC5wcm90b2NvbH0gaXMgbm90IGEgdmFsaWQgY29udGFpbmVyIG1ldGFkYXRhIHNlcnZpY2UgcHJvdG9jb2xgLCBmYWxzZSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAuLi5wYXJzZWQsXG4gICAgICBwb3J0OiBwYXJzZWQucG9ydCA/IHBhcnNlSW50KHBhcnNlZC5wb3J0LCAxMCkgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgbmV3IFByb3ZpZGVyRXJyb3IoXG4gICAgICBcIlRoZSBjb250YWluZXIgbWV0YWRhdGEgY3JlZGVudGlhbCBwcm92aWRlciBjYW5ub3QgYmUgdXNlZCB1bmxlc3NcIiArXG4gICAgICAgIGAgdGhlICR7RU5WX0NNRFNfUkVMQVRJVkVfVVJJfSBvciAke0VOVl9DTURTX0ZVTExfVVJJfSBlbnZpcm9ubWVudGAgK1xuICAgICAgICBcIiB2YXJpYWJsZSBpcyBzZXRcIixcbiAgICAgIGZhbHNlXG4gICAgKVxuICApO1xufVxuIl19 | ||
throw new ProviderError("The container metadata credential provider cannot be used unless" + | ||
(" the " + ENV_CMDS_RELATIVE_URI + " or " + ENV_CMDS_FULL_URI + " environment") + | ||
" variable is set", false); | ||
}); | ||
}); }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUNvbnRhaW5lck1ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Zyb21Db250YWluZXJNZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBc0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFL0MsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsb0NBQW9DLENBQUM7QUFDdEUsTUFBTSxDQUFDLElBQU0scUJBQXFCLEdBQUcsd0NBQXdDLENBQUM7QUFDOUUsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsbUNBQW1DLENBQUM7QUFFdkU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0scUJBQXFCLEdBQUcsVUFBQyxJQUE2QjtJQUE3QixxQkFBQSxFQUFBLFNBQTZCO0lBQzNELElBQUEsS0FBMEIsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQXBELE9BQU8sYUFBQSxFQUFFLFVBQVUsZ0JBQWlDLENBQUM7SUFDN0QsT0FBTztRQUNMLE9BQUEsS0FBSyxDQUFDOzs7OzRCQUNtQixxQkFBTSxVQUFVLEVBQUUsRUFBQTs7d0JBQW5DLGNBQWMsR0FBRyxTQUFrQjt3QkFDbkIsS0FBQSxDQUFBLEtBQUEsSUFBSSxDQUFBLENBQUMsS0FBSyxDQUFBO3dCQUFDLHFCQUFNLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsRUFBQTs7d0JBQTVFLGFBQWEsR0FBRyxjQUFXLFNBQWlELEVBQUM7d0JBQ25GLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsRUFBRTs0QkFDckMsTUFBTSxJQUFJLGFBQWEsQ0FBQywyREFBMkQsQ0FBQyxDQUFDO3lCQUN0Rjt3QkFDRCxzQkFBTyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsRUFBQzs7O2FBQzNDLEVBQUUsVUFBVSxDQUFDO0lBUGQsQ0FPYyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLElBQU0sa0JBQWtCLEdBQUcsVUFBTyxPQUFlLEVBQUUsT0FBdUI7Ozs7O2dCQUN4RSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsRUFBRTtvQkFDcEMsT0FBTyxDQUFDLE9BQU8seUJBQ1YsT0FBTyxDQUFDLE9BQU8sS0FDbEIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsR0FDaEQsQ0FBQztpQkFDSDtnQkFFYyxxQkFBTSxXQUFXLHVCQUMzQixPQUFPLEtBQ1YsT0FBTyxTQUFBLElBQ1AsRUFBQTs7Z0JBSEksTUFBTSxHQUFHLFNBR2I7Z0JBQ0Ysc0JBQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFDOzs7S0FDMUIsQ0FBQztBQUVGLElBQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQztBQUNoQyxJQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQUNGLElBQU0sb0JBQW9CLEdBQUc7SUFDM0IsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFRixJQUFNLFVBQVUsR0FBRzs7O1FBQ2pCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO1lBQ3RDLHNCQUFPO29CQUNMLFFBQVEsRUFBRSxPQUFPO29CQUNqQixJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDekMsRUFBQztTQUNIO1FBRUQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDNUIsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFFLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUM5RCxNQUFNLElBQUksYUFBYSxDQUFJLE1BQU0sQ0FBQyxRQUFRLHdEQUFxRCxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3pHO1lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksb0JBQW9CLENBQUMsRUFBRTtnQkFDbEUsTUFBTSxJQUFJLGFBQWEsQ0FBSSxNQUFNLENBQUMsUUFBUSx3REFBcUQsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUN6RztZQUVELDRDQUNLLE1BQU0sS0FDVCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FDekQ7U0FDSDtRQUVELE1BQU0sSUFBSSxhQUFhLENBQ3JCLGtFQUFrRTthQUNoRSxVQUFRLHFCQUFxQixZQUFPLGlCQUFpQixpQkFBYyxDQUFBO1lBQ25FLGtCQUFrQixFQUNwQixLQUFLLENBQ04sQ0FBQzs7S0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXJFcnJvciB9IGZyb20gXCJAYXdzLXNkay9wcm9wZXJ0eS1wcm92aWRlclwiO1xuaW1wb3J0IHsgQ3JlZGVudGlhbFByb3ZpZGVyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBSZXF1ZXN0T3B0aW9ucyB9IGZyb20gXCJodHRwXCI7XG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gXCJ1cmxcIjtcblxuaW1wb3J0IHsgaHR0cFJlcXVlc3QgfSBmcm9tIFwiLi9yZW1vdGVQcm92aWRlci9odHRwUmVxdWVzdFwiO1xuaW1wb3J0IHsgZnJvbUltZHNDcmVkZW50aWFscywgaXNJbWRzQ3JlZGVudGlhbHMgfSBmcm9tIFwiLi9yZW1vdGVQcm92aWRlci9JbWRzQ3JlZGVudGlhbHNcIjtcbmltcG9ydCB7IHByb3ZpZGVyQ29uZmlnRnJvbUluaXQsIFJlbW90ZVByb3ZpZGVySW5pdCB9IGZyb20gXCIuL3JlbW90ZVByb3ZpZGVyL1JlbW90ZVByb3ZpZGVySW5pdFwiO1xuaW1wb3J0IHsgcmV0cnkgfSBmcm9tIFwiLi9yZW1vdGVQcm92aWRlci9yZXRyeVwiO1xuXG5leHBvcnQgY29uc3QgRU5WX0NNRFNfRlVMTF9VUkkgPSBcIkFXU19DT05UQUlORVJfQ1JFREVOVElBTFNfRlVMTF9VUklcIjtcbmV4cG9ydCBjb25zdCBFTlZfQ01EU19SRUxBVElWRV9VUkkgPSBcIkFXU19DT05UQUlORVJfQ1JFREVOVElBTFNfUkVMQVRJVkVfVVJJXCI7XG5leHBvcnQgY29uc3QgRU5WX0NNRFNfQVVUSF9UT0tFTiA9IFwiQVdTX0NPTlRBSU5FUl9BVVRIT1JJWkFUSU9OX1RPS0VOXCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNyZWRlbnRpYWwgcHJvdmlkZXIgdGhhdCB3aWxsIHNvdXJjZSBjcmVkZW50aWFscyBmcm9tIHRoZSBFQ1NcbiAqIENvbnRhaW5lciBNZXRhZGF0YSBTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBmcm9tQ29udGFpbmVyTWV0YWRhdGEgPSAoaW5pdDogUmVtb3RlUHJvdmlkZXJJbml0ID0ge30pOiBDcmVkZW50aWFsUHJvdmlkZXIgPT4ge1xuICBjb25zdCB7IHRpbWVvdXQsIG1heFJldHJpZXMgfSA9IHByb3ZpZGVyQ29uZmlnRnJvbUluaXQoaW5pdCk7XG4gIHJldHVybiAoKSA9PlxuICAgIHJldHJ5KGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0gYXdhaXQgZ2V0Q21kc1VyaSgpO1xuICAgICAgY29uc3QgY3JlZHNSZXNwb25zZSA9IEpTT04ucGFyc2UoYXdhaXQgcmVxdWVzdEZyb21FY3NJbWRzKHRpbWVvdXQsIHJlcXVlc3RPcHRpb25zKSk7XG4gICAgICBpZiAoIWlzSW1kc0NyZWRlbnRpYWxzKGNyZWRzUmVzcG9uc2UpKSB7XG4gICAgICAgIHRocm93IG5ldyBQcm92aWRlckVycm9yKFwiSW52YWxpZCByZXNwb25zZSByZWNlaXZlZCBmcm9tIGluc3RhbmNlIG1ldGFkYXRhIHNlcnZpY2UuXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZyb21JbWRzQ3JlZGVudGlhbHMoY3JlZHNSZXNwb25zZSk7XG4gICAgfSwgbWF4UmV0cmllcyk7XG59O1xuXG5jb25zdCByZXF1ZXN0RnJvbUVjc0ltZHMgPSBhc3luYyAodGltZW91dDogbnVtYmVyLCBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGlmIChwcm9jZXNzLmVudltFTlZfQ01EU19BVVRIX1RPS0VOXSkge1xuICAgIG9wdGlvbnMuaGVhZGVycyA9IHtcbiAgICAgIC4uLm9wdGlvbnMuaGVhZGVycyxcbiAgICAgIEF1dGhvcml6YXRpb246IHByb2Nlc3MuZW52W0VOVl9DTURTX0FVVEhfVE9LRU5dLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBidWZmZXIgPSBhd2FpdCBodHRwUmVxdWVzdCh7XG4gICAgLi4ub3B0aW9ucyxcbiAgICB0aW1lb3V0LFxuICB9KTtcbiAgcmV0dXJuIGJ1ZmZlci50b1N0cmluZygpO1xufTtcblxuY29uc3QgQ01EU19JUCA9IFwiMTY5LjI1NC4xNzAuMlwiO1xuY29uc3QgR1JFRU5HUkFTU19IT1NUUyA9IHtcbiAgbG9jYWxob3N0OiB0cnVlLFxuICBcIjEyNy4wLjAuMVwiOiB0cnVlLFxufTtcbmNvbnN0IEdSRUVOR1JBU1NfUFJPVE9DT0xTID0ge1xuICBcImh0dHA6XCI6IHRydWUsXG4gIFwiaHR0cHM6XCI6IHRydWUsXG59O1xuXG5jb25zdCBnZXRDbWRzVXJpID0gYXN5bmMgKCk6IFByb21pc2U8UmVxdWVzdE9wdGlvbnM+ID0+IHtcbiAgaWYgKHByb2Nlc3MuZW52W0VOVl9DTURTX1JFTEFUSVZFX1VSSV0pIHtcbiAgICByZXR1cm4ge1xuICAgICAgaG9zdG5hbWU6IENNRFNfSVAsXG4gICAgICBwYXRoOiBwcm9jZXNzLmVudltFTlZfQ01EU19SRUxBVElWRV9VUkldLFxuICAgIH07XG4gIH1cblxuICBpZiAocHJvY2Vzcy5lbnZbRU5WX0NNRFNfRlVMTF9VUkldKSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2UocHJvY2Vzcy5lbnZbRU5WX0NNRFNfRlVMTF9VUkldISk7XG4gICAgaWYgKCFwYXJzZWQuaG9zdG5hbWUgfHwgIShwYXJzZWQuaG9zdG5hbWUgaW4gR1JFRU5HUkFTU19IT1NUUykpIHtcbiAgICAgIHRocm93IG5ldyBQcm92aWRlckVycm9yKGAke3BhcnNlZC5ob3N0bmFtZX0gaXMgbm90IGEgdmFsaWQgY29udGFpbmVyIG1ldGFkYXRhIHNlcnZpY2UgaG9zdG5hbWVgLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaWYgKCFwYXJzZWQucHJvdG9jb2wgfHwgIShwYXJzZWQucHJvdG9jb2wgaW4gR1JFRU5HUkFTU19QUk9UT0NPTFMpKSB7XG4gICAgICB0aHJvdyBuZXcgUHJvdmlkZXJFcnJvcihgJHtwYXJzZWQucHJvdG9jb2x9IGlzIG5vdCBhIHZhbGlkIGNvbnRhaW5lciBtZXRhZGF0YSBzZXJ2aWNlIHByb3RvY29sYCwgZmFsc2UpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJzZWQsXG4gICAgICBwb3J0OiBwYXJzZWQucG9ydCA/IHBhcnNlSW50KHBhcnNlZC5wb3J0LCAxMCkgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHRocm93IG5ldyBQcm92aWRlckVycm9yKFxuICAgIFwiVGhlIGNvbnRhaW5lciBtZXRhZGF0YSBjcmVkZW50aWFsIHByb3ZpZGVyIGNhbm5vdCBiZSB1c2VkIHVubGVzc1wiICtcbiAgICAgIGAgdGhlICR7RU5WX0NNRFNfUkVMQVRJVkVfVVJJfSBvciAke0VOVl9DTURTX0ZVTExfVVJJfSBlbnZpcm9ubWVudGAgK1xuICAgICAgXCIgdmFyaWFibGUgaXMgc2V0XCIsXG4gICAgZmFsc2VcbiAgKTtcbn07XG4iXX0= |
@@ -10,2 +10,2 @@ import { CredentialProvider } from "@aws-sdk/types"; | ||
*/ | ||
export declare function fromContainerMetadata(init?: RemoteProviderInit): CredentialProvider; | ||
export declare const fromContainerMetadata: (init?: RemoteProviderInit) => CredentialProvider; |
{ | ||
"name": "@aws-sdk/credential-provider-imds", | ||
"version": "3.10.0", | ||
"version": "3.12.0", | ||
"description": "AWS credential provider that sources credentials from the EC2 instance metadata service and ECS container metadata service", | ||
@@ -8,7 +8,6 @@ "main": "./dist/cjs/index.js", | ||
"scripts": { | ||
"prepublishOnly": "yarn build:cjs && yarn build:es", | ||
"prepublishOnly": "yarn build && downlevel-dts dist/types dist/types/ts3.4", | ||
"build:cjs": "tsc -p tsconfig.cjs.json", | ||
"build:es": "tsc -p tsconfig.es.json", | ||
"build": "yarn build:es && yarn build:cjs", | ||
"postbuild": "downlevel-dts dist/types dist/types/ts3.4", | ||
"test": "jest" | ||
@@ -26,4 +25,4 @@ }, | ||
"dependencies": { | ||
"@aws-sdk/property-provider": "3.10.0", | ||
"@aws-sdk/types": "3.10.0", | ||
"@aws-sdk/property-provider": "3.12.0", | ||
"@aws-sdk/types": "3.12.0", | ||
"tslib": "^1.8.0" | ||
@@ -30,0 +29,0 @@ }, |
@@ -19,30 +19,29 @@ import { ProviderError } from "@aws-sdk/property-provider"; | ||
*/ | ||
export function fromContainerMetadata(init: RemoteProviderInit = {}): CredentialProvider { | ||
export const fromContainerMetadata = (init: RemoteProviderInit = {}): CredentialProvider => { | ||
const { timeout, maxRetries } = providerConfigFromInit(init); | ||
return () => { | ||
return getCmdsUri().then((url) => | ||
retry(async () => { | ||
const credsResponse = JSON.parse(await requestFromEcsImds(timeout, url)); | ||
if (!isImdsCredentials(credsResponse)) { | ||
throw new ProviderError("Invalid response received from instance metadata service."); | ||
} | ||
return () => | ||
retry(async () => { | ||
const requestOptions = await getCmdsUri(); | ||
const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions)); | ||
if (!isImdsCredentials(credsResponse)) { | ||
throw new ProviderError("Invalid response received from instance metadata service."); | ||
} | ||
return fromImdsCredentials(credsResponse); | ||
}, maxRetries); | ||
}; | ||
return fromImdsCredentials(credsResponse); | ||
}, maxRetries) | ||
); | ||
}; | ||
} | ||
function requestFromEcsImds(timeout: number, options: RequestOptions): Promise<string> { | ||
const requestFromEcsImds = async (timeout: number, options: RequestOptions): Promise<string> => { | ||
if (process.env[ENV_CMDS_AUTH_TOKEN]) { | ||
const { headers = {} } = options; | ||
headers.Authorization = process.env[ENV_CMDS_AUTH_TOKEN]; | ||
options.headers = headers; | ||
options.headers = { | ||
...options.headers, | ||
Authorization: process.env[ENV_CMDS_AUTH_TOKEN], | ||
}; | ||
} | ||
return httpRequest({ | ||
const buffer = await httpRequest({ | ||
...options, | ||
timeout, | ||
}).then((buffer) => buffer.toString()); | ||
} | ||
}); | ||
return buffer.toString(); | ||
}; | ||
@@ -59,8 +58,8 @@ const CMDS_IP = "169.254.170.2"; | ||
function getCmdsUri(): Promise<RequestOptions> { | ||
const getCmdsUri = async (): Promise<RequestOptions> => { | ||
if (process.env[ENV_CMDS_RELATIVE_URI]) { | ||
return Promise.resolve({ | ||
return { | ||
hostname: CMDS_IP, | ||
path: process.env[ENV_CMDS_RELATIVE_URI], | ||
}); | ||
}; | ||
} | ||
@@ -71,27 +70,21 @@ | ||
if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) { | ||
return Promise.reject( | ||
new ProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, false) | ||
); | ||
throw new ProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, false); | ||
} | ||
if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) { | ||
return Promise.reject( | ||
new ProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, false) | ||
); | ||
throw new ProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, false); | ||
} | ||
return Promise.resolve({ | ||
return { | ||
...parsed, | ||
port: parsed.port ? parseInt(parsed.port, 10) : undefined, | ||
}); | ||
}; | ||
} | ||
return Promise.reject( | ||
new ProviderError( | ||
"The container metadata credential provider cannot be used unless" + | ||
` the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment` + | ||
" variable is set", | ||
false | ||
) | ||
throw new ProviderError( | ||
"The container metadata credential provider cannot be used unless" + | ||
` the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment` + | ||
" variable is set", | ||
false | ||
); | ||
} | ||
}; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
124934
38
890
+ Added@aws-sdk/property-provider@3.12.0(transitive)
+ Added@aws-sdk/types@3.12.0(transitive)
- Removed@aws-sdk/property-provider@3.10.0(transitive)
- Removed@aws-sdk/types@3.10.0(transitive)
Updated@aws-sdk/types@3.12.0