Class CloudFormationDeployStackInstancesAction

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.codepipeline.Action
software.amazon.awscdk.services.codepipeline.actions.Action
software.amazon.awscdk.services.codepipeline.actions.CloudFormationDeployStackInstancesAction
All Implemented Interfaces:
IAction, software.amazon.jsii.JsiiSerializable

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-11-15T10:24:56.667Z") @Stability(Stable) public class CloudFormationDeployStackInstancesAction extends Action
CodePipeline action to create/update Stack Instances of a StackSet.

After the initial creation of a stack set, you can add new stack instances by using CloudFormationStackInstances. Template parameter values can be overridden at the stack instance level during create or update stack set instance operations.

Each stack set has one template and set of template parameters. When you update the template or template parameters, you update them for the entire set. Then all instance statuses are set to OUTDATED until the changes are deployed to that instance.

Example:

 Pipeline pipeline;
 Artifact sourceOutput;
 pipeline.addStage(StageOptions.builder()
         .stageName("DeployStackSets")
         .actions(List.of(
             // First, update the StackSet itself with the newest template
             CloudFormationDeployStackSetAction.Builder.create()
                     .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(List.of("111111111111"), List.of("us-east-1", "eu-west-1")))
                     .build(),
             // Afterwards, update/create additional instances in other accounts
             CloudFormationDeployStackInstancesAction.Builder.create()
                     .actionName("AddMoreInstances")
                     .runOrder(2)
                     .stackSetName("MyStackSet")
                     .stackInstances(StackInstances.inAccounts(List.of("222222222222", "333333333333"), List.of("us-east-1", "eu-west-1")))
                     .build()))
         .build());
 
  • Constructor Details

    • CloudFormationDeployStackInstancesAction

      protected CloudFormationDeployStackInstancesAction(software.amazon.jsii.JsiiObjectRef objRef)
    • CloudFormationDeployStackInstancesAction

      protected CloudFormationDeployStackInstancesAction(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CloudFormationDeployStackInstancesAction

      @Stability(Stable) public CloudFormationDeployStackInstancesAction(@NotNull CloudFormationDeployStackInstancesActionProps props)
      Parameters:
      props - This parameter is required.
  • Method Details

    • bound

      @Stability(Stable) @NotNull protected ActionConfig bound(@NotNull software.constructs.Construct scope, @NotNull IStage _stage, @NotNull ActionBindOptions options)
      This is a renamed version of the IAction.bind method.

      Specified by:
      bound in class Action
      Parameters:
      scope - This parameter is required.
      _stage - This parameter is required.
      options - This parameter is required.