awscdk-construct-scte-scheduler
Version:
AWS CDK Construct for scheduling SCTE-35 events using the MediaLive schedule API
21 lines (20 loc) • 1.05 kB
JavaScript
import { setCredentialFeature } from "@aws-sdk/core/client";
import { CredentialsProviderError, getProfileName, parseKnownFiles } from "@smithy/core/config";
import { LoginCredentialsFetcher } from "./LoginCredentialsFetcher";
export const fromLoginCredentials = (init) => async ({ callerClientConfig } = {}) => {
init?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");
const profiles = await parseKnownFiles(init || {});
const profileName = getProfileName({
profile: init?.profile ?? callerClientConfig?.profile,
});
const profile = profiles[profileName];
if (!profile?.login_session) {
throw new CredentialsProviderError(`Profile ${profileName} does not contain login_session.`, {
tryNextLink: true,
logger: init?.logger,
});
}
const fetcher = new LoginCredentialsFetcher(profile, init, callerClientConfig);
const credentials = await fetcher.loadCredentials();
return setCredentialFeature(credentials, "CREDENTIALS_LOGIN", "AD");
};