31 lines
1.6 KiB
TypeScript
31 lines
1.6 KiB
TypeScript
import {Credentials} from '../credentials';
|
|
import {AWSError} from '../error';
|
|
import STS = require('../../clients/sts');
|
|
|
|
export class TemporaryCredentials extends Credentials {
|
|
/**
|
|
* Creates a new temporary credentials object.
|
|
* @param {Object} options - a map of options that are passed to the AWS.STS.assumeRole() or AWS.STS.getSessionToken() operations. If a RoleArn parameter is passed in, credentials will be based on the IAM role.
|
|
* @param {Object} masterCredentials - The master (non-temporary) credentials used to get and refresh credentials from AWS STS.
|
|
*/
|
|
constructor(options: TemporaryCredentials.TemporaryCredentialsOptions, masterCredentials?: Credentials);
|
|
/**
|
|
* Creates a new temporary credentials object.
|
|
* @param {Object} options - a map of options that are passed to the AWS.STS.assumeRole() or AWS.STS.getSessionToken() operations. If a RoleArn parameter is passed in, credentials will be based on the IAM role.
|
|
*/
|
|
constructor(options?: TemporaryCredentials.TemporaryCredentialsOptions);
|
|
/**
|
|
* Refreshes credentials using AWS.STS.assumeRole() or AWS.STS.getSessionToken(), depending on whether an IAM role ARN was passed to the credentials constructor().
|
|
*/
|
|
refresh(callback: (err: AWSError) => void): void;
|
|
|
|
/**
|
|
* The master (non-temporary) credentials used to get and refresh temporary credentials from AWS STS.
|
|
*/
|
|
masterCredentials: Credentials
|
|
}
|
|
|
|
// Needed to expose interfaces on the class
|
|
declare namespace TemporaryCredentials {
|
|
export type TemporaryCredentialsOptions = STS.Types.AssumeRoleRequest|STS.Types.GetSessionTokenRequest;
|
|
} |