Class DefaultStackSynthesizerProps
Configuration properties for DefaultStackSynthesizer.
Implements
Inherited Members
Namespace: Amazon.CDK
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class DefaultStackSynthesizerProps : IDefaultStackSynthesizerProps
Syntax (vb)
Public Class DefaultStackSynthesizerProps Implements IDefaultStackSynthesizerProps
Remarks
ExampleMetadata: infused
Examples
App app;
var prodStage = new Stage(app, "ProdStage", new StageProps {
PermissionsBoundary = PermissionsBoundary.FromName("cdk-${Qualifier}-PermissionsBoundary-${AWS::AccountId}-${AWS::Region}")
});
new Stack(prodStage, "ProdStack", new StackProps {
Synthesizer = new DefaultStackSynthesizer(new DefaultStackSynthesizerProps {
Qualifier = "custom"
})
});
Synopsis
Constructors
| DefaultStackSynthesizerProps() | Configuration properties for DefaultStackSynthesizer. |
Properties
| BootstrapStackVersionSsmParameter | Bootstrap stack version SSM parameter. |
| BucketPrefix | bucketPrefix to use while storing S3 Assets. |
| CloudFormationExecutionRole | The role CloudFormation will assume when deploying the Stack. |
| DeployRoleAdditionalOptions | Additional options to pass to STS when assuming the deploy role. |
| DeployRoleArn | The role to assume to initiate a deployment in this environment. |
| DeployRoleExternalId | External ID to use when assuming role for cloudformation deployments. |
| DockerTagPrefix | A prefix to use while tagging and uploading Docker images to ECR. |
| FileAssetPublishingExternalId | External ID to use when assuming role for file asset publishing. |
| FileAssetPublishingRoleAdditionalOptions | Additional options to pass to STS when assuming the file asset publishing. |
| FileAssetPublishingRoleArn | The role to use to publish file assets to the S3 bucket in this environment. |
| FileAssetsBucketName | Name of the S3 bucket to hold file assets. |
| GenerateBootstrapVersionRule | Whether to add a Rule to the stack template verifying the bootstrap stack version. |
| ImageAssetPublishingExternalId | External ID to use when assuming role for image asset publishing. |
| ImageAssetPublishingRoleAdditionalOptions | Additional options to pass to STS when assuming the image asset publishing. |
| ImageAssetPublishingRoleArn | The role to use to publish image assets to the ECR repository in this environment. |
| ImageAssetsRepositoryName | Name of the ECR repository to hold Docker Image assets. |
| LookupRoleAdditionalOptions | Additional options to pass to STS when assuming the lookup role. |
| LookupRoleArn | The role to use to look up values from the target AWS account during synthesis. |
| LookupRoleExternalId | External ID to use when assuming lookup role. |
| Qualifier | Qualifier to disambiguate multiple environments in the same account. |
| UseLookupRoleForStackOperations | Use the bootstrapped lookup role for (read-only) stack operations. |
Constructors
DefaultStackSynthesizerProps()
Configuration properties for DefaultStackSynthesizer.
public DefaultStackSynthesizerProps()
Remarks
ExampleMetadata: infused
Examples
App app;
var prodStage = new Stage(app, "ProdStage", new StageProps {
PermissionsBoundary = PermissionsBoundary.FromName("cdk-${Qualifier}-PermissionsBoundary-${AWS::AccountId}-${AWS::Region}")
});
new Stack(prodStage, "ProdStack", new StackProps {
Synthesizer = new DefaultStackSynthesizer(new DefaultStackSynthesizerProps {
Qualifier = "custom"
})
});
Properties
BootstrapStackVersionSsmParameter
Bootstrap stack version SSM parameter.
public string? BootstrapStackVersionSsmParameter { get; set; }
Property Value
Remarks
The placeholder ${Qualifier} will be replaced with the value of qualifier.
Default: DefaultStackSynthesizer.DEFAULT_BOOTSTRAP_STACK_VERSION_SSM_PARAMETER
BucketPrefix
bucketPrefix to use while storing S3 Assets.
public string? BucketPrefix { get; set; }
Property Value
Remarks
Default: - DefaultStackSynthesizer.DEFAULT_FILE_ASSET_PREFIX
CloudFormationExecutionRole
The role CloudFormation will assume when deploying the Stack.
public string? CloudFormationExecutionRole { get; set; }
Property Value
Remarks
You must supply this if you have given a non-standard name to the execution role.
The placeholders \({Qualifier}</code>, <code>\){AWS::AccountId} and ${AWS::Region} will
be replaced with the values of qualifier and the stack's account and region,
respectively.
Default: DefaultStackSynthesizer.DEFAULT_CLOUDFORMATION_ROLE_ARN
DeployRoleAdditionalOptions
Additional options to pass to STS when assuming the deploy role.
public IDictionary<string, object>? DeployRoleAdditionalOptions { get; set; }
Property Value
Remarks
Default: - No additional options.
See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
DeployRoleArn
The role to assume to initiate a deployment in this environment.
public string? DeployRoleArn { get; set; }
Property Value
Remarks
You must supply this if you have given a non-standard name to the publishing role.
The placeholders \({Qualifier}</code>, <code>\){AWS::AccountId} and ${AWS::Region} will
be replaced with the values of qualifier and the stack's account and region,
respectively.
Default: DefaultStackSynthesizer.DEFAULT_DEPLOY_ROLE_ARN
DeployRoleExternalId
External ID to use when assuming role for cloudformation deployments.
public string? DeployRoleExternalId { get; set; }
Property Value
Remarks
Default: - No external ID
DockerTagPrefix
A prefix to use while tagging and uploading Docker images to ECR.
public string? DockerTagPrefix { get; set; }
Property Value
Remarks
This does not add any separators - the source hash will be appended to this string directly.
Default: - DefaultStackSynthesizer.DEFAULT_DOCKER_ASSET_PREFIX
FileAssetPublishingExternalId
External ID to use when assuming role for file asset publishing.
public string? FileAssetPublishingExternalId { get; set; }
Property Value
Remarks
Default: - No external ID
FileAssetPublishingRoleAdditionalOptions
Additional options to pass to STS when assuming the file asset publishing.
public IDictionary<string, object>? FileAssetPublishingRoleAdditionalOptions { get; set; }
Property Value
Remarks
Default: - No additional options.
See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
FileAssetPublishingRoleArn
The role to use to publish file assets to the S3 bucket in this environment.
public string? FileAssetPublishingRoleArn { get; set; }
Property Value
Remarks
You must supply this if you have given a non-standard name to the publishing role.
The placeholders \({Qualifier}</code>, <code>\){AWS::AccountId} and ${AWS::Region} will
be replaced with the values of qualifier and the stack's account and region,
respectively.
Default: DefaultStackSynthesizer.DEFAULT_FILE_ASSET_PUBLISHING_ROLE_ARN
FileAssetsBucketName
Name of the S3 bucket to hold file assets.
public string? FileAssetsBucketName { get; set; }
Property Value
Remarks
You must supply this if you have given a non-standard name to the staging bucket.
The placeholders \({Qualifier}</code>, <code>\){AWS::AccountId} and ${AWS::Region} will
be replaced with the values of qualifier and the stack's account and region,
respectively.
Default: DefaultStackSynthesizer.DEFAULT_FILE_ASSETS_BUCKET_NAME
GenerateBootstrapVersionRule
Whether to add a Rule to the stack template verifying the bootstrap stack version.
public bool? GenerateBootstrapVersionRule { get; set; }
Property Value
bool?
Remarks
This generally should be left set to true, unless you explicitly
want to be able to deploy to an unbootstrapped environment.
Default: true
ImageAssetPublishingExternalId
External ID to use when assuming role for image asset publishing.
public string? ImageAssetPublishingExternalId { get; set; }
Property Value
Remarks
Default: - No external ID
ImageAssetPublishingRoleAdditionalOptions
Additional options to pass to STS when assuming the image asset publishing.
public IDictionary<string, object>? ImageAssetPublishingRoleAdditionalOptions { get; set; }
Property Value
Remarks
Default: - No additional options.
See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
ImageAssetPublishingRoleArn
The role to use to publish image assets to the ECR repository in this environment.
public string? ImageAssetPublishingRoleArn { get; set; }
Property Value
Remarks
You must supply this if you have given a non-standard name to the publishing role.
The placeholders \({Qualifier}</code>, <code>\){AWS::AccountId} and ${AWS::Region} will
be replaced with the values of qualifier and the stack's account and region,
respectively.
Default: DefaultStackSynthesizer.DEFAULT_IMAGE_ASSET_PUBLISHING_ROLE_ARN
ImageAssetsRepositoryName
Name of the ECR repository to hold Docker Image assets.
public string? ImageAssetsRepositoryName { get; set; }
Property Value
Remarks
You must supply this if you have given a non-standard name to the ECR repository.
The placeholders \({Qualifier}</code>, <code>\){AWS::AccountId} and ${AWS::Region} will
be replaced with the values of qualifier and the stack's account and region,
respectively.
Default: DefaultStackSynthesizer.DEFAULT_IMAGE_ASSETS_REPOSITORY_NAME
LookupRoleAdditionalOptions
Additional options to pass to STS when assuming the lookup role.
public IDictionary<string, object>? LookupRoleAdditionalOptions { get; set; }
Property Value
Remarks
Default: - No additional options.
See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/STS.html#assumeRole-property
LookupRoleArn
The role to use to look up values from the target AWS account during synthesis.
public string? LookupRoleArn { get; set; }
Property Value
Remarks
Default: - None
LookupRoleExternalId
External ID to use when assuming lookup role.
public string? LookupRoleExternalId { get; set; }
Property Value
Remarks
Default: - No external ID
Qualifier
Qualifier to disambiguate multiple environments in the same account.
public string? Qualifier { get; set; }
Property Value
Remarks
You can use this and leave the other naming properties empty if you have deployed the bootstrap environment with standard names but only different qualifiers.
Default: - Value of context key '@aws-cdk/core:bootstrapQualifier' if set, otherwise DefaultStackSynthesizer.DEFAULT_QUALIFIER
UseLookupRoleForStackOperations
Use the bootstrapped lookup role for (read-only) stack operations.
public bool? UseLookupRoleForStackOperations { get; set; }
Property Value
bool?
Remarks
Use the lookup role when performing a cdk diff. If set to false, the
deploy role credentials will be used to perform a cdk diff.
Requires bootstrap stack version 8.
Default: true