UNPKG

aws-cdk

Version:

AWS CDK CLI, the command line tool for CDK apps

131 lines (130 loc) 4.61 kB
import type { BootstrapSource } from './bootstrap-environment'; import type { StringWithoutPlaceholders } from '../environment'; import type { Tag } from '../tags'; export declare const BUCKET_NAME_OUTPUT = "BucketName"; export declare const REPOSITORY_NAME_OUTPUT = "ImageRepositoryName"; export declare const BUCKET_DOMAIN_NAME_OUTPUT = "BucketDomainName"; export declare const BOOTSTRAP_VERSION_OUTPUT = "BootstrapVersion"; export declare const BOOTSTRAP_VERSION_RESOURCE = "CdkBootstrapVersion"; export declare const BOOTSTRAP_VARIANT_PARAMETER = "BootstrapVariant"; /** * The assumed vendor of a template in case it is not set */ export declare const DEFAULT_BOOTSTRAP_VARIANT = "AWS CDK: Default Resources"; /** * Options for the bootstrapEnvironment operation(s) */ export interface BootstrapEnvironmentOptions { readonly toolkitStackName?: string; readonly roleArn?: StringWithoutPlaceholders; readonly parameters?: BootstrappingParameters; readonly force?: boolean; /** * The source of the bootstrap stack * * @default - modern v2-style bootstrapping */ readonly source?: BootstrapSource; /** * Whether to execute the changeset or only create it and leave it in review. * @default true */ readonly execute?: boolean; /** * Tags for cdktoolkit stack. * * @default - None. */ readonly tags?: Tag[]; /** * Whether the stacks created by the bootstrap process should be protected from termination. * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html * @default true */ readonly terminationProtection?: boolean; /** * Use previous values for unspecified parameters * * If not set, all parameters must be specified for every deployment. * * @default true */ usePreviousParameters?: boolean; } /** * Parameters for the bootstrapping template */ export interface BootstrappingParameters { /** * The name to be given to the CDK Bootstrap bucket. * * @default - a name is generated by CloudFormation. */ readonly bucketName?: string; /** * The ID of an existing KMS key to be used for encrypting items in the bucket. * * @default - use the default KMS key or create a custom one */ readonly kmsKeyId?: string; /** * Whether or not to create a new customer master key (CMK) * * Only applies to modern bootstrapping. Legacy bootstrapping will never create * a CMK, only use the default S3 key. * * @default false */ readonly createCustomerMasterKey?: boolean; /** * The list of AWS account IDs that are trusted to deploy into the environment being bootstrapped. * * @default - only the bootstrapped account can deploy into this environment */ readonly trustedAccounts?: string[]; /** * The list of AWS account IDs that are trusted to look up values in the environment being bootstrapped. * * @default - only the bootstrapped account can look up values in this environment */ readonly trustedAccountsForLookup?: string[]; /** * The list of AWS account IDs that should not be trusted by the bootstrapped environment. * If these accounts are already trusted, they will be removed on bootstrapping. * * @default - no account will be untrusted. */ readonly untrustedAccounts?: string[]; /** * The ARNs of the IAM managed policies that should be attached to the role performing CloudFormation deployments. * In most cases, this will be the AdministratorAccess policy. * At least one policy is required if `trustedAccounts` were passed. * * @default - the role will have no policies attached */ readonly cloudFormationExecutionPolicies?: string[]; /** * Identifier to distinguish multiple bootstrapped environments * * @default - Default qualifier */ readonly qualifier?: string; /** * Whether or not to enable S3 Staging Bucket Public Access Block Configuration * * @default true */ readonly publicAccessBlockConfiguration?: boolean; /** * Flag for using the default permissions boundary for bootstrapping * * @default - No value, optional argument */ readonly examplePermissionsBoundary?: boolean; /** * Name for the customer's custom permissions boundary for bootstrapping * * @default - No value, optional argument */ readonly customPermissionsBoundary?: string; }