Class CloudFormationDeployStackInstancesActionProps
Properties for the CloudFormationDeployStackInstancesAction.
Inheritance
Implements
Namespace: Amazon.CDK.AWS.CodePipeline.Actions
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CloudFormationDeployStackInstancesActionProps : Object, ICloudFormationDeployStackInstancesActionProps, ICommonAwsActionProps, ICommonActionProps, ICommonCloudFormationStackSetOptions
Syntax (vb)
Public Class CloudFormationDeployStackInstancesActionProps
Inherits Object
Implements ICloudFormationDeployStackInstancesActionProps, ICommonAwsActionProps, ICommonActionProps, ICommonCloudFormationStackSetOptions
Remarks
ExampleMetadata: infused
Examples
Pipeline pipeline;
Artifact sourceOutput;
pipeline.AddStage(new StageOptions {
StageName = "DeployStackSets",
Actions = new [] {
// First, update the StackSet itself with the newest template
new CloudFormationDeployStackSetAction(new CloudFormationDeployStackSetActionProps {
ActionName = "UpdateStackSet",
RunOrder = 1,
StackSetName = "MyStackSet",
Template = StackSetTemplate.FromArtifactPath(sourceOutput.AtPath("template.yaml")),
// Change this to 'StackSetDeploymentModel.organizations()' if you want to deploy to OUs
DeploymentModel = StackSetDeploymentModel.SelfManaged(),
// This deploys to a set of accounts
StackInstances = StackInstances.InAccounts(new [] { "111111111111" }, new [] { "us-east-1", "eu-west-1" })
}),
// Afterwards, update/create additional instances in other accounts
new CloudFormationDeployStackInstancesAction(new CloudFormationDeployStackInstancesActionProps {
ActionName = "AddMoreInstances",
RunOrder = 2,
StackSetName = "MyStackSet",
StackInstances = StackInstances.InAccounts(new [] { "222222222222", "333333333333" }, new [] { "us-east-1", "eu-west-1" })
}) }
});
Synopsis
Constructors
CloudFormationDeployStackInstancesActionProps() |
Properties
ActionName | The physical, human-readable name of the Action. |
FailureTolerancePercentage | The percentage of accounts per Region for which this stack operation can fail before AWS CloudFormation stops the operation in that Region. |
MaxAccountConcurrencyPercentage | The maximum percentage of accounts in which to perform this operation at one time. |
ParameterOverrides | Parameter values that only apply to the current Stack Instances. |
Role | The Role in which context's this Action will be executing in. |
RunOrder | The runOrder property for this Action. |
StackInstances | Specify where to create or update Stack Instances. |
StackSetName | The name of the StackSet we are adding instances to. |
StackSetRegion | The AWS Region the StackSet is in. |
VariablesNamespace | The name of the namespace to use for variables emitted by this action. |
Constructors
CloudFormationDeployStackInstancesActionProps()
public CloudFormationDeployStackInstancesActionProps()
Properties
ActionName
The physical, human-readable name of the Action.
public string ActionName { get; set; }
Property Value
System.String
Remarks
Note that Action names must be unique within a single Stage.
FailureTolerancePercentage
The percentage of accounts per Region for which this stack operation can fail before AWS CloudFormation stops the operation in that Region.
public Nullable<double> FailureTolerancePercentage { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
If the operation is stopped in a Region, AWS CloudFormation doesn't attempt the operation in subsequent Regions. When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number.
Default: 0%
MaxAccountConcurrencyPercentage
The maximum percentage of accounts in which to perform this operation at one time.
public Nullable<double> MaxAccountConcurrencyPercentage { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number. If rounding down would result in zero, AWS CloudFormation sets the number as one instead. Although you use this setting to specify the maximum, for large deployments the actual number of accounts acted upon concurrently may be lower due to service throttling.
Default: 1%
ParameterOverrides
Parameter values that only apply to the current Stack Instances.
public StackSetParameters ParameterOverrides { get; set; }
Property Value
Remarks
These parameters are shared between all instances added by this action.
Default: - no parameters will be overridden
Role
The Role in which context's this Action will be executing in.
public IRole Role { get; set; }
Property Value
Remarks
The Pipeline's Role will assume this Role
(the required permissions for that will be granted automatically)
right before executing this Action.
This Action will be passed into your IAction.bind
method in the ActionBindOptions.role
property.
Default: a new Role will be generated
RunOrder
The runOrder property for this Action.
public Nullable<double> RunOrder { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
RunOrder determines the relative order in which multiple Actions in the same Stage execute.
Default: 1
See: https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html
StackInstances
Specify where to create or update Stack Instances.
public StackInstances StackInstances { get; set; }
Property Value
Remarks
You can specify either AWS Accounts Ids or AWS Organizations Organizational Units.
StackSetName
The name of the StackSet we are adding instances to.
public string StackSetName { get; set; }
Property Value
System.String
StackSetRegion
The AWS Region the StackSet is in.
public string StackSetRegion { get; set; }
Property Value
System.String
Remarks
Note that a cross-region Pipeline requires replication buckets to function correctly.
You can provide their names with the PipelineProps.crossRegionReplicationBuckets
property.
If you don't, the CodePipeline Construct will create new Stacks in your CDK app containing those buckets,
that you will need to cdk deploy
before deploying the main, Pipeline-containing Stack.
Default: - same region as the Pipeline
VariablesNamespace
The name of the namespace to use for variables emitted by this action.
public string VariablesNamespace { get; set; }
Property Value
System.String
Remarks
Default: - a name will be generated, based on the stage and action names, if any of the action's variables were referenced - otherwise, no namespace will be set