import { Config } from '@backstage/config'; /** * The configuration parameters for a single AWS account for the AWS integration. * * @public */ export type AwsIntegrationAccountConfig = { /** * The account ID of the target account that this matches on, e.g. "123456789012" */ accountId: string; /** * The access key ID for a set of static AWS credentials */ accessKeyId?: string; /** * The secret access key for a set of static AWS credentials */ secretAccessKey?: string; /** * The configuration profile from a credentials file at ~/.aws/credentials and * a configuration file at ~/.aws/config. */ profile?: string; /** * The IAM role to assume to retrieve temporary AWS credentials */ roleName?: string; /** * The AWS partition of the IAM role, e.g. "aws", "aws-cn" */ partition?: string; /** * The STS regional endpoint to use when retrieving temporary AWS credentials, e.g. "ap-northeast-1" */ region?: string; /** * The unique identifier needed to assume the role to retrieve temporary AWS credentials */ externalId?: string; }; /** * The configuration parameters for the main AWS account for the AWS integration. * * @public */ export type AwsIntegrationMainAccountConfig = { /** * The access key ID for a set of static AWS credentials */ accessKeyId?: string; /** * The secret access key for a set of static AWS credentials */ secretAccessKey?: string; /** * The configuration profile from a credentials file at ~/.aws/credentials and * a configuration file at ~/.aws/config. */ profile?: string; /** * The STS regional endpoint to use for the main account, e.g. "ap-northeast-1" */ region?: string; }; /** * The default configuration parameters to use for accounts for the AWS integration. * * @public */ export type AwsIntegrationDefaultAccountConfig = { /** * The IAM role to assume to retrieve temporary AWS credentials */ roleName?: string; /** * The AWS partition of the IAM role, e.g. "aws", "aws-cn" */ partition?: string; /** * The STS regional endpoint to use when retrieving temporary AWS credentials, e.g. "ap-northeast-1" */ region?: string; /** * The unique identifier needed to assume the role to retrieve temporary AWS credentials */ externalId?: string; }; /** * The configuration parameters for AWS account integration. * * @public */ export type AwsIntegrationConfig = { /** * Configuration for retrieving AWS accounts credentials */ accounts: AwsIntegrationAccountConfig[]; /** * Defaults for retrieving AWS account credentials */ accountDefaults: AwsIntegrationDefaultAccountConfig; /** * Main account to use for retrieving AWS account credentials */ mainAccount: AwsIntegrationMainAccountConfig; }; /** * Reads an AWS integration configuration * * @param config - the integration config object * @public */ export declare function readAwsIntegrationConfig(config: Config): AwsIntegrationConfig;