import * as AWS from 'aws-sdk'; /** * AWS SDK operations required by Asset Publishing */ export interface IAws { discoverDefaultRegion(): Promise; discoverCurrentAccount(): Promise; s3Client(options: ClientOptions): Promise; ecrClient(options: ClientOptions): Promise; } export interface ClientOptions { region?: string; assumeRoleArn?: string; assumeRoleExternalId?: string; } /** * An AWS account * * An AWS account always exists in only one partition. Usually we don't care about * the partition, but when we need to form ARNs we do. */ export interface Account { /** * The account number */ readonly accountId: string; /** * The partition ('aws' or 'aws-cn' or otherwise) */ readonly partition: string; }