java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:41.559Z") @Stability(Stable) public class CfnStackSet extends CfnResource implements IInspectable
A CloudFormation AWS::CloudFormation::StackSet.

The AWS::CloudFormation::StackSet enables you to provision stacks into AWS accounts and across Regions by using a single CloudFormation template. In the stack set, you specify the template to use, in addition to any parameters and capabilities that the template requires.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.cloudformation.*;
 Object managedExecution;
 CfnStackSet cfnStackSet = CfnStackSet.Builder.create(this, "MyCfnStackSet")
         .permissionModel("permissionModel")
         .stackSetName("stackSetName")
         // the properties below are optional
         .administrationRoleArn("administrationRoleArn")
         .autoDeployment(AutoDeploymentProperty.builder()
                 .enabled(false)
                 .retainStacksOnAccountRemoval(false)
                 .build())
         .callAs("callAs")
         .capabilities(List.of("capabilities"))
         .description("description")
         .executionRoleName("executionRoleName")
         .managedExecution(managedExecution)
         .operationPreferences(OperationPreferencesProperty.builder()
                 .failureToleranceCount(123)
                 .failureTolerancePercentage(123)
                 .maxConcurrentCount(123)
                 .maxConcurrentPercentage(123)
                 .regionConcurrencyType("regionConcurrencyType")
                 .regionOrder(List.of("regionOrder"))
                 .build())
         .parameters(List.of(ParameterProperty.builder()
                 .parameterKey("parameterKey")
                 .parameterValue("parameterValue")
                 .build()))
         .stackInstancesGroup(List.of(StackInstancesProperty.builder()
                 .deploymentTargets(DeploymentTargetsProperty.builder()
                         .accountFilterType("accountFilterType")
                         .accounts(List.of("accounts"))
                         .organizationalUnitIds(List.of("organizationalUnitIds"))
                         .build())
                 .regions(List.of("regions"))
                 // the properties below are optional
                 .parameterOverrides(List.of(ParameterProperty.builder()
                         .parameterKey("parameterKey")
                         .parameterValue("parameterValue")
                         .build()))
                 .build()))
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .templateBody("templateBody")
         .templateUrl("templateUrl")
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnStackSet

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

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

      @Stability(Stable) public CfnStackSet(@NotNull Construct scope, @NotNull String id, @NotNull CfnStackSetProps props)
      Create a new AWS::CloudFormation::StackSet.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrStackSetId

      @Stability(Stable) @NotNull public String getAttrStackSetId()
      The ID of the stack that you're creating.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      The key-value pairs to associate with this stack set and the stacks created from it.

      AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. A maximum number of 50 tags can be specified.

    • getManagedExecution

      @Stability(Stable) @NotNull public Object getManagedExecution()
      Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.

      When active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order.

      If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting.

      You can't modify your stack set's execution configuration while there are running or queued operations for that stack set.

      When inactive (default), StackSets performs one operation at a time in request order.

    • setManagedExecution

      @Stability(Stable) public void setManagedExecution(@NotNull Object value)
      Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.

      When active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order.

      If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting.

      You can't modify your stack set's execution configuration while there are running or queued operations for that stack set.

      When inactive (default), StackSets performs one operation at a time in request order.

    • getPermissionModel

      @Stability(Stable) @NotNull public String getPermissionModel()
      Describes how the IAM roles required for stack set operations are created.

    • setPermissionModel

      @Stability(Stable) public void setPermissionModel(@NotNull String value)
      Describes how the IAM roles required for stack set operations are created.

    • getStackSetName

      @Stability(Stable) @NotNull public String getStackSetName()
      The name to associate with the stack set.

      The name must be unique in the Region where you create your stack set.

      Maximum : 128

      Pattern : ^[a-zA-Z][a-zA-Z0-9-]{0,127}$

      The StackSetName property is required.

    • setStackSetName

      @Stability(Stable) public void setStackSetName(@NotNull String value)
      The name to associate with the stack set.

      The name must be unique in the Region where you create your stack set.

      Maximum : 128

      Pattern : ^[a-zA-Z][a-zA-Z0-9-]{0,127}$

      The StackSetName property is required.

    • getAdministrationRoleArn

      @Stability(Stable) @Nullable public String getAdministrationRoleArn()
      The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

      Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account.

      Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the AWS CloudFormation User Guide .

      Minimum : 20

      Maximum : 2048

    • setAdministrationRoleArn

      @Stability(Stable) public void setAdministrationRoleArn(@Nullable String value)
      The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

      Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account.

      Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the AWS CloudFormation User Guide .

      Minimum : 20

      Maximum : 2048

    • getAutoDeployment

      @Stability(Stable) @Nullable public Object getAutoDeployment()
      [ Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
    • setAutoDeployment

      @Stability(Stable) public void setAutoDeployment(@Nullable IResolvable value)
      [ Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
    • setAutoDeployment

      @Stability(Stable) public void setAutoDeployment(@Nullable CfnStackSet.AutoDeploymentProperty value)
      [ Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
    • getCallAs

      @Stability(Stable) @Nullable public String getCallAs()
      [Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.

      By default, SELF is specified. Use SELF for stack sets with self-managed permissions.

      • To create a stack set with service-managed permissions while signed in to the management account, specify SELF .
      • To create a stack set with service-managed permissions while signed in to a delegated administrator account, specify DELEGATED_ADMIN .

      Your AWS account must be registered as a delegated admin in the management account. For more information, see Register a delegated administrator in the AWS CloudFormation User Guide .

      Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators.

      Valid Values : SELF | DELEGATED_ADMIN

    • setCallAs

      @Stability(Stable) public void setCallAs(@Nullable String value)
      [Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.

      By default, SELF is specified. Use SELF for stack sets with self-managed permissions.

      • To create a stack set with service-managed permissions while signed in to the management account, specify SELF .
      • To create a stack set with service-managed permissions while signed in to a delegated administrator account, specify DELEGATED_ADMIN .

      Your AWS account must be registered as a delegated admin in the management account. For more information, see Register a delegated administrator in the AWS CloudFormation User Guide .

      Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators.

      Valid Values : SELF | DELEGATED_ADMIN

    • getCapabilities

      @Stability(Stable) @Nullable public List<String> getCapabilities()
      The capabilities that are allowed in the stack set.

      Some stack set templates might include resources that can affect permissions in your AWS account —for example, by creating new AWS Identity and Access Management ( IAM ) users. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates .

    • setCapabilities

      @Stability(Stable) public void setCapabilities(@Nullable List<String> value)
      The capabilities that are allowed in the stack set.

      Some stack set templates might include resources that can affect permissions in your AWS account —for example, by creating new AWS Identity and Access Management ( IAM ) users. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates .

    • getDescription

      @Stability(Stable) @Nullable public String getDescription()
      A description of the stack set.

      Minimum : 1

      Maximum : 1024

    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      A description of the stack set.

      Minimum : 1

      Maximum : 1024

    • getExecutionRoleName

      @Stability(Stable) @Nullable public String getExecutionRoleName()
      The name of the IAM execution role to use to create the stack set.

      If you don't specify an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role for the stack set operation.

      Minimum : 1

      Maximum : 64

      Pattern : [a-zA-Z_0-9+=,.@-]+

    • setExecutionRoleName

      @Stability(Stable) public void setExecutionRoleName(@Nullable String value)
      The name of the IAM execution role to use to create the stack set.

      If you don't specify an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role for the stack set operation.

      Minimum : 1

      Maximum : 64

      Pattern : [a-zA-Z_0-9+=,.@-]+

    • getOperationPreferences

      @Stability(Stable) @Nullable public Object getOperationPreferences()
      The user-specified preferences for how AWS CloudFormation performs a stack set operation.
    • setOperationPreferences

      @Stability(Stable) public void setOperationPreferences(@Nullable IResolvable value)
      The user-specified preferences for how AWS CloudFormation performs a stack set operation.
    • setOperationPreferences

      @Stability(Stable) public void setOperationPreferences(@Nullable CfnStackSet.OperationPreferencesProperty value)
      The user-specified preferences for how AWS CloudFormation performs a stack set operation.
    • getParameters

      @Stability(Stable) @Nullable public Object getParameters()
      The input parameters for the stack set template.
    • setParameters

      @Stability(Stable) public void setParameters(@Nullable IResolvable value)
      The input parameters for the stack set template.
    • setParameters

      @Stability(Stable) public void setParameters(@Nullable List<Object> value)
      The input parameters for the stack set template.
    • getStackInstancesGroup

      @Stability(Stable) @Nullable public Object getStackInstancesGroup()
      A group of stack instances with parameters in some specific accounts and Regions.
    • setStackInstancesGroup

      @Stability(Stable) public void setStackInstancesGroup(@Nullable IResolvable value)
      A group of stack instances with parameters in some specific accounts and Regions.
    • setStackInstancesGroup

      @Stability(Stable) public void setStackInstancesGroup(@Nullable List<Object> value)
      A group of stack instances with parameters in some specific accounts and Regions.
    • getTemplateBody

      @Stability(Stable) @Nullable public String getTemplateBody()
      The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.

      You must include either TemplateURL or TemplateBody in a StackSet, but you can't use both. Dynamic references in the TemplateBody may not work correctly in all cases. It's recommended to pass templates containing dynamic references through TemplateUrl instead.

      Minimum : 1

      Maximum : 51200

    • setTemplateBody

      @Stability(Stable) public void setTemplateBody(@Nullable String value)
      The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.

      You must include either TemplateURL or TemplateBody in a StackSet, but you can't use both. Dynamic references in the TemplateBody may not work correctly in all cases. It's recommended to pass templates containing dynamic references through TemplateUrl instead.

      Minimum : 1

      Maximum : 51200

    • getTemplateUrl

      @Stability(Stable) @Nullable public String getTemplateUrl()
      Location of file containing the template body.

      The URL must point to a template (max size: 460,800 bytes) that's located in an Amazon S3 bucket.

      You must include either TemplateURL or TemplateBody in a StackSet, but you can't use both.

      Minimum : 1

      Maximum : 1024

    • setTemplateUrl

      @Stability(Stable) public void setTemplateUrl(@Nullable String value)
      Location of file containing the template body.

      The URL must point to a template (max size: 460,800 bytes) that's located in an Amazon S3 bucket.

      You must include either TemplateURL or TemplateBody in a StackSet, but you can't use both.

      Minimum : 1

      Maximum : 1024