aws-cdk
Version:
AWS CDK CLI, the command line tool for CDK apps
131 lines (130 loc) • 4.61 kB
TypeScript
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;
}