aws-cdk
Version:
AWS CDK CLI, the command line tool for CDK apps
37 lines (36 loc) • 1.36 kB
TypeScript
import type { AwsCredentialIdentityProvider } from '@smithy/types';
import type { Mode } from '../plugin/mode';
import { PluginHost } from '../plugin/plugin';
/**
* Cache for credential providers.
*
* Given an account and an operating mode (read or write) will return an
* appropriate credential provider for credentials for the given account. The
* credential provider will be cached so that multiple AWS clients for the same
* environment will not make multiple network calls to obtain credentials.
*
* Will use default credentials if they are for the right account; otherwise,
* all loaded credential provider plugins will be tried to obtain credentials
* for the given account.
*/
export declare class CredentialPlugins {
private readonly cache;
private readonly host;
constructor(host?: PluginHost);
fetchCredentialsFor(awsAccountId: string, mode: Mode): Promise<PluginCredentialsFetchResult | undefined>;
get availablePluginNames(): string[];
private lookupCredentials;
}
/**
* Result from trying to fetch credentials from the Plugin host
*/
export interface PluginCredentialsFetchResult {
/**
* SDK-v3 compatible credential provider
*/
readonly credentials: AwsCredentialIdentityProvider;
/**
* Name of plugin that successfully provided credentials
*/
readonly pluginName: string;
}