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

29 lines (28 loc) 1.45 kB
import { CredentialsProviderError } from "@smithy/property-provider"; import { isAssumeRoleProfile, resolveAssumeRoleCredentials } from "./resolveAssumeRoleCredentials"; import { isProcessProfile, resolveProcessCredentials } from "./resolveProcessCredentials"; import { isSsoProfile, resolveSsoCredentials } from "./resolveSsoCredentials"; import { isStaticCredsProfile, resolveStaticCredentials } from "./resolveStaticCredentials"; import { isWebIdentityProfile, resolveWebIdentityCredentials } from "./resolveWebIdentityCredentials"; export const resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}) => { const data = profiles[profileName]; if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) { return resolveStaticCredentials(data); } if (isAssumeRoleProfile(data)) { return resolveAssumeRoleCredentials(profileName, profiles, options, visitedProfiles); } if (isStaticCredsProfile(data)) { return resolveStaticCredentials(data); } if (isWebIdentityProfile(data)) { return resolveWebIdentityCredentials(data, options); } if (isProcessProfile(data)) { return resolveProcessCredentials(options, profileName); } if (isSsoProfile(data)) { return resolveSsoCredentials(data); } throw new CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`); };