@cloud-copilot/iam-collect
Version:
Collect IAM information from AWS Accounts
45 lines • 1.98 kB
TypeScript
import { AwsCredentialIdentity } from '@aws-sdk/types';
import { AuthConfig } from '../config/config.js';
/**
* Credentials with additional metadata, including the AWS account ID and partition.
*/
export interface AwsCredentialIdentityWithMetaData extends AwsCredentialIdentity {
/**
* The AWS partition (e.g., 'aws', 'aws-cn', 'aws-us-gov').
*/
partition: string;
/**
* The AWS account ID associated with these credentials.
*/
accountId: string;
}
/**
* What time is it now?
*
* This exists to make unit tests of caching behavior easier.
*
* @returns the current timestamp in milliseconds since the Unix epoch
*/
export declare function now(): number;
/**
* Get brand new credentials for the given account ID and auth configuration.
*
* DO NOT USE THIS DIRECTLY. Use `getCredentials` in `auth.ts` instead
*
* @param accountId the AWS account ID for which to get credentials
* @param authConfig the authentication configuration to use for the account
* @returns new credentials based on the provided account ID and auth configuration
*/
export declare function getNewCredentials(accountId: string, authConfig: AuthConfig | undefined): Promise<AwsCredentialIdentityWithMetaData>;
/**
* This gets a new set of initial credentials for an auth configuration. These are the initial
* credentials that are the default credentials are used to then assume a role if one is specified.
* There are very few cases where this should be used directly, and in most cases you should use
* getNewCredentials instead.
*
* @param authConfig the authentication configuration to use
* @param logInfo any additional information to log while getting the credentials
* @returns new credentials based on the provided auth configuration
*/
export declare function getNewInitialCredentials(authConfig: AuthConfig | undefined, logInfo?: Record<string, unknown>): Promise<AwsCredentialIdentityWithMetaData>;
//# sourceMappingURL=coreAuth.d.ts.map