rittenhop-dev/versions/5.94.2/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProfileData.js

25 lines
1.2 KiB
JavaScript
Raw Normal View History

2024-09-23 19:40:12 -04:00
import { CredentialsProviderError } from "@aws-sdk/property-provider";
import { isAssumeRoleProfile, resolveAssumeRoleCredentials } from "./resolveAssumeRoleCredentials";
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 (isSsoProfile(data)) {
return resolveSsoCredentials(data);
}
throw new CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`);
};