Interface ICfnStackSetProps
Properties for defining a CfnStackSet.
Namespace: Amazon.CDK
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface ICfnStackSetProps
Syntax (vb)
Public Interface ICfnStackSetProps
Remarks
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK;
var managedExecution;
var cfnStackSetProps = new CfnStackSetProps {
PermissionModel = "permissionModel",
StackSetName = "stackSetName",
// the properties below are optional
AdministrationRoleArn = "administrationRoleArn",
AutoDeployment = new AutoDeploymentProperty {
DependsOn = new [] { "dependsOn" },
Enabled = false,
RetainStacksOnAccountRemoval = false
},
CallAs = "callAs",
Capabilities = new [] { "capabilities" },
Description = "description",
ExecutionRoleName = "executionRoleName",
ManagedExecution = managedExecution,
OperationPreferences = new OperationPreferencesProperty {
ConcurrencyMode = "concurrencyMode",
FailureToleranceCount = 123,
FailureTolerancePercentage = 123,
MaxConcurrentCount = 123,
MaxConcurrentPercentage = 123,
RegionConcurrencyType = "regionConcurrencyType",
RegionOrder = new [] { "regionOrder" }
},
Parameters = new [] { new ParameterProperty {
ParameterKey = "parameterKey",
ParameterValue = "parameterValue"
} },
StackInstancesGroup = new [] { new StackInstancesProperty {
DeploymentTargets = new DeploymentTargetsProperty {
AccountFilterType = "accountFilterType",
Accounts = new [] { "accounts" },
AccountsUrl = "accountsUrl",
OrganizationalUnitIds = new [] { "organizationalUnitIds" }
},
Regions = new [] { "regions" },
// the properties below are optional
ParameterOverrides = new [] { new ParameterProperty {
ParameterKey = "parameterKey",
ParameterValue = "parameterValue"
} }
} },
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
TemplateBody = "templateBody",
TemplateUrl = "templateUrl"
};
Synopsis
Properties
| AdministrationRoleArn | The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet. |
| AutoDeployment | Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). |
| CallAs | Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. |
| Capabilities | The capabilities that are allowed in the StackSet. |
| Description | A description of the StackSet. |
| ExecutionRoleName | The name of the IAM execution role to use to create the StackSet. |
| ManagedExecution | Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations. |
| OperationPreferences | The user-specified preferences for how CloudFormation performs a StackSet operation. |
| Parameters | The input parameters for the StackSet template. |
| PermissionModel | Describes how the IAM roles required for StackSet operations are created. |
| StackInstancesGroup | A group of stack instances with parameters in some specific accounts and Regions. |
| StackSetName | The name to associate with the StackSet. |
| Tags | Key-value pairs to associate with this stack. |
| TemplateBody | The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. |
| TemplateUrl | The URL of a file that contains the template body. |
Properties
AdministrationRoleArn
The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet.
object? AdministrationRoleArn { get; }
Property Value
Remarks
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 in the CloudFormation User Guide .
Valid only if the permissions model is SELF_MANAGED .
Type union: either string or IRoleRef
AutoDeployment
Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
object? AutoDeployment { get; }
Property Value
Remarks
For more information, see Enable or disable automatic deployments for StackSets in AWS Organizations in the CloudFormation User Guide .
Required if the permissions model is SERVICE_MANAGED . (Not used with self-managed permissions.)
Type union: either IResolvable or CfnStackSet.IAutoDeploymentProperty
CallAs
Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
string? CallAs { get; }
Property Value
Remarks
By default, SELF is specified. Use SELF for StackSets with self-managed permissions.
Your AWS account must be registered as a delegated admin in the management account. For more information, see Register a delegated administrator 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 .
Capabilities
The capabilities that are allowed in the StackSet.
string[]? Capabilities { get; }
Property Value
string[]
Remarks
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 in the CloudFormation User Guide .
Description
A description of the StackSet.
string? Description { get; }
Property Value
Remarks
ExecutionRoleName
The name of the IAM execution role to use to create the StackSet.
object? ExecutionRoleName { get; }
Property Value
Remarks
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+=,.@-]+
Type union: either string or IRoleRef
ManagedExecution
Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.
object? ManagedExecution { get; }
Property Value
Remarks
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.
OperationPreferences
The user-specified preferences for how CloudFormation performs a StackSet operation.
object? OperationPreferences { get; }
Property Value
Remarks
Parameters
The input parameters for the StackSet template.
object? Parameters { get; }
Property Value
Remarks
PermissionModel
Describes how the IAM roles required for StackSet operations are created.
string PermissionModel { get; }
Property Value
Remarks
StackInstancesGroup
A group of stack instances with parameters in some specific accounts and Regions.
object? StackInstancesGroup { get; }
Property Value
Remarks
StackSetName
The name to associate with the StackSet.
string StackSetName { get; }
Property Value
Remarks
The name must be unique in the Region where you create your StackSet.
Tags
Key-value pairs to associate with this stack.
ICfnTag[]? Tags { get; }
Property Value
ICfnTag[]
Remarks
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.
TemplateBody
The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.
string? TemplateBody { get; }
Property Value
Remarks
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.
TemplateUrl
The URL of a file that contains the template body.
string? TemplateUrl { get; }
Property Value
Remarks
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 .