UNPKG

cdk-ssm-secure-iam-access-key

Version:

Creates an IAM Access Key for a provided IAM User and stores the result in an SSM SecureString Parameter

45 lines (44 loc) 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultUserAgent = exports.UA_APP_ID_INI_NAME = exports.UA_APP_ID_ENV_NAME = exports.crtAvailability = void 0; const node_config_provider_1 = require("@smithy/node-config-provider"); const os_1 = require("os"); const process_1 = require("process"); const is_crt_available_1 = require("./is-crt-available"); var crt_availability_1 = require("./crt-availability"); Object.defineProperty(exports, "crtAvailability", { enumerable: true, get: function () { return crt_availability_1.crtAvailability; } }); exports.UA_APP_ID_ENV_NAME = "AWS_SDK_UA_APP_ID"; exports.UA_APP_ID_INI_NAME = "sdk-ua-app-id"; const defaultUserAgent = ({ serviceId, clientVersion }) => { const sections = [ ["aws-sdk-js", clientVersion], ["ua", "2.0"], [`os/${(0, os_1.platform)()}`, (0, os_1.release)()], ["lang/js"], ["md/nodejs", `${process_1.versions.node}`], ]; const crtAvailable = (0, is_crt_available_1.isCrtAvailable)(); if (crtAvailable) { sections.push(crtAvailable); } if (serviceId) { sections.push([`api/${serviceId}`, clientVersion]); } if (process_1.env.AWS_EXECUTION_ENV) { sections.push([`exec-env/${process_1.env.AWS_EXECUTION_ENV}`]); } const appIdPromise = (0, node_config_provider_1.loadConfig)({ environmentVariableSelector: (env) => env[exports.UA_APP_ID_ENV_NAME], configFileSelector: (profile) => profile[exports.UA_APP_ID_INI_NAME], default: undefined, })(); let resolvedUserAgent = undefined; return async () => { if (!resolvedUserAgent) { const appId = await appIdPromise; resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections]; } return resolvedUserAgent; }; }; exports.defaultUserAgent = defaultUserAgent;