AWS Fundamentals Logo
AWS Fundamentals
L1 ConstructAWS::CloudFormation::StackSet

CfnStackSet

The `AWS::CloudFormation::StackSet` resource contains information about a StackSet. With StackSets, you can provision stacks across AWS accounts and Regions from a single CloudFormation template. Each stack is based on the same CloudFormation template, but you can customize individual stacks using parameters. > Run deployments to nested StackSets from the parent stack, not directly through the StackSet API.

Import

import { CfnStackSet } from 'aws-cdk-lib/aws-cloudformation';

Or use the module namespace:

import * as cloudformation from 'aws-cdk-lib/aws-cloudformation';
// cloudformation.CfnStackSet

Properties

Configuration passed to the constructor as CfnStackSetProps.

permissionModelRequired
string

Describes how the IAM roles required for StackSet operations are created. - With `SELF_MANAGED` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see [Grant self-managed permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) in the *CloudFormation User Guide* . - With `SERVICE_MANAGED` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see [Activate trusted access for StackSets with AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html) in the *CloudFormation User Guide* .

stackSetNameRequired
string

The name to associate with the StackSet. The name must be unique in the Region where you create your StackSet.

administrationRoleArnOptional
string | IRoleRef

The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. Use customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. For more information, see [Grant self-managed permissions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) in the *CloudFormation User Guide* . Valid only if the permissions model is `SELF_MANAGED` .

autoDeploymentOptional
IResolvable | AutoDeploymentProperty

Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see [Enable or disable automatic deployments for StackSets in AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html) in the *CloudFormation User Guide* . Required if the permissions model is `SERVICE_MANAGED` . (Not used with self-managed permissions.)

callAsOptional
string

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 StackSets with self-managed permissions. - To create a StackSet with service-managed permissions while signed in to the management account, specify `SELF` . - To create a StackSet 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) in the *CloudFormation User Guide* . StackSets with service-managed permissions are created in the management account, including StackSets that are created by delegated administrators. Valid only if the permissions model is `SERVICE_MANAGED` .

capabilitiesOptional
string[]

The capabilities that are allowed in the StackSet. Some StackSet templates might include resources that can affect permissions in your AWS account —for example, by creating new IAM users. For more information, see [Acknowledging IAM resources in CloudFormation templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities) in the *CloudFormation User Guide* .

descriptionOptional
string

A description of the StackSet.

executionRoleNameOptional
string | IRoleRef

The name of the IAM execution role to use to create the StackSet. If you don't specify an execution role, CloudFormation uses the `AWSCloudFormationStackSetExecutionRole` role for the StackSet operation. Valid only if the permissions model is `SELF_MANAGED` . *Pattern* : `[a-zA-Z_0-9+=,.@-]+`

managedExecutionOptional
any

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 StackSet's execution configuration while there are running or queued operations for that StackSet. When inactive (default), StackSets performs one operation at a time in request order.

operationPreferencesOptional
IResolvable | OperationPreferencesProperty

The user-specified preferences for how CloudFormation performs a StackSet operation.

parametersOptional
IResolvable | IResolvable | ParameterProperty[]

The input parameters for the StackSet template.

stackInstancesGroupOptional
IResolvable | IResolvable | StackInstancesProperty[]

A group of stack instances with parameters in some specific accounts and Regions.

tagsOptional
CfnTag[]

Key-value pairs to associate with this stack. CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags. If you don't specify this parameter, CloudFormation doesn't modify the stack's tags. If you specify an empty value, CloudFormation removes all associated tags.

templateBodyOptional
string

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 that contain dynamic references through `TemplateUrl` instead.

templateUrlOptional
string

The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with `https://` . Conditional: You must specify only one of the following parameters: `TemplateBody` , `TemplateURL` .

CloudFormation Resource

This L1 construct maps directly to the following CloudFormation resource type.

Learn AWS the Practical Way

Our bi-weekly newsletter teaches hands-on AWS fundamentals. No certification fluff - just practical knowledge.

Subscribe to Newsletter