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

28 lines (27 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fromEnv = exports.ENV_CREDENTIAL_SCOPE = exports.ENV_EXPIRATION = exports.ENV_SESSION = exports.ENV_SECRET = exports.ENV_KEY = void 0; const property_provider_1 = require("@smithy/property-provider"); exports.ENV_KEY = "AWS_ACCESS_KEY_ID"; exports.ENV_SECRET = "AWS_SECRET_ACCESS_KEY"; exports.ENV_SESSION = "AWS_SESSION_TOKEN"; exports.ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION"; exports.ENV_CREDENTIAL_SCOPE = "AWS_CREDENTIAL_SCOPE"; const fromEnv = () => async () => { const accessKeyId = process.env[exports.ENV_KEY]; const secretAccessKey = process.env[exports.ENV_SECRET]; const sessionToken = process.env[exports.ENV_SESSION]; const expiry = process.env[exports.ENV_EXPIRATION]; const credentialScope = process.env[exports.ENV_CREDENTIAL_SCOPE]; if (accessKeyId && secretAccessKey) { return { accessKeyId, secretAccessKey, ...(sessionToken && { sessionToken }), ...(expiry && { expiration: new Date(expiry) }), ...(credentialScope && { credentialScope }), }; } throw new property_provider_1.CredentialsProviderError("Unable to find environment variable credentials."); }; exports.fromEnv = fromEnv;