Class: AWSCDK::CfnStackSetProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::CfnStackSetProps
- Defined in:
- cfn_stack_set_props.rb
Overview
Properties for defining a CfnStackSet.
Instance Attribute Summary collapse
-
#administration_role_arn ⇒ String, ...
readonly
The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet.
-
#auto_deployment ⇒ AWSCDK::IResolvable, ...
readonly
Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
-
#call_as ⇒ String?
readonly
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 ⇒ Array<String>?
readonly
The capabilities that are allowed in the StackSet.
-
#description ⇒ String?
readonly
A description of the StackSet.
-
#execution_role_name ⇒ String, ...
readonly
The name of the IAM execution role to use to create the StackSet.
-
#managed_execution ⇒ Object?
readonly
Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.
-
#operation_preferences ⇒ AWSCDK::IResolvable, ...
readonly
The user-specified preferences for how CloudFormation performs a StackSet operation.
-
#parameters ⇒ AWSCDK::IResolvable, ...
readonly
The input parameters for the StackSet template.
-
#permission_model ⇒ String
readonly
Describes how the IAM roles required for StackSet operations are created.
-
#stack_instances_group ⇒ AWSCDK::IResolvable, ...
readonly
A group of stack instances with parameters in some specific accounts and Regions.
-
#stack_set_name ⇒ String
readonly
The name to associate with the StackSet.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
Key-value pairs to associate with this stack.
-
#template_body ⇒ String?
readonly
The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.
-
#template_url ⇒ String?
readonly
The URL of a file that contains the template body.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(permission_model:, stack_set_name:, administration_role_arn: nil, auto_deployment: nil, call_as: nil, capabilities: nil, description: nil, execution_role_name: nil, managed_execution: nil, operation_preferences: nil, parameters: nil, stack_instances_group: nil, tags: nil, template_body: nil, template_url: nil) ⇒ CfnStackSetProps
constructor
A new instance of CfnStackSetProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(permission_model:, stack_set_name:, administration_role_arn: nil, auto_deployment: nil, call_as: nil, capabilities: nil, description: nil, execution_role_name: nil, managed_execution: nil, operation_preferences: nil, parameters: nil, stack_instances_group: nil, tags: nil, template_body: nil, template_url: nil) ⇒ CfnStackSetProps
Returns a new instance of CfnStackSetProps.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'cfn_stack_set_props.rb', line 24 def initialize(permission_model:, stack_set_name:, administration_role_arn: nil, auto_deployment: nil, call_as: nil, capabilities: nil, description: nil, execution_role_name: nil, managed_execution: nil, operation_preferences: nil, parameters: nil, stack_instances_group: nil, tags: nil, template_body: nil, template_url: nil) @permission_model = Jsii::Type.check_type(@permission_model, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "permissionModel") @stack_set_name = stack_set_name Jsii::Type.check_type(@stack_set_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "stackSetName") @administration_role_arn = administration_role_arn Jsii::Type.check_type(@administration_role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "administrationRoleArn") unless @administration_role_arn.nil? @auto_deployment = auto_deployment.is_a?(Hash) ? ::AWSCDK::CfnStackSet::AutoDeploymentProperty.new(**auto_deployment.transform_keys(&:to_sym)) : auto_deployment Jsii::Type.check_type(@auto_deployment, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLkNmblN0YWNrU2V0LkF1dG9EZXBsb3ltZW50UHJvcGVydHkifV19fQ==")), "autoDeployment") unless @auto_deployment.nil? @call_as = call_as Jsii::Type.check_type(@call_as, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "callAs") unless @call_as.nil? @capabilities = capabilities Jsii::Type.check_type(@capabilities, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "capabilities") unless @capabilities.nil? @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @execution_role_name = execution_role_name Jsii::Type.check_type(@execution_role_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "executionRoleName") unless @execution_role_name.nil? @managed_execution = managed_execution Jsii::Type.check_type(@managed_execution, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "managedExecution") unless @managed_execution.nil? @operation_preferences = operation_preferences.is_a?(Hash) ? ::AWSCDK::CfnStackSet::OperationPreferencesProperty.new(**operation_preferences.transform_keys(&:to_sym)) : operation_preferences Jsii::Type.check_type(@operation_preferences, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLkNmblN0YWNrU2V0Lk9wZXJhdGlvblByZWZlcmVuY2VzUHJvcGVydHkifV19fQ==")), "operationPreferences") unless @operation_preferences.nil? @parameters = parameters Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5TdGFja1NldC5QYXJhbWV0ZXJQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "parameters") unless @parameters.nil? @stack_instances_group = stack_instances_group Jsii::Type.check_type(@stack_instances_group, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5TdGFja1NldC5TdGFja0luc3RhbmNlc1Byb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "stackInstancesGroup") unless @stack_instances_group.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @template_body = template_body Jsii::Type.check_type(@template_body, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "templateBody") unless @template_body.nil? @template_url = template_url Jsii::Type.check_type(@template_url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "templateUrl") unless @template_url.nil? end |
Instance Attribute Details
#administration_role_arn ⇒ String, ... (readonly)
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 in the CloudFormation User Guide .
Valid only if the permissions model is SELF_MANAGED .
82 83 84 |
# File 'cfn_stack_set_props.rb', line 82 def administration_role_arn @administration_role_arn end |
#auto_deployment ⇒ AWSCDK::IResolvable, ... (readonly)
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 in the CloudFormation User Guide .
Required if the permissions model is SERVICE_MANAGED . (Not used with self-managed permissions.)
91 92 93 |
# File 'cfn_stack_set_props.rb', line 91 def auto_deployment @auto_deployment end |
#call_as ⇒ String? (readonly)
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 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 .
107 108 109 |
# File 'cfn_stack_set_props.rb', line 107 def call_as @call_as end |
#capabilities ⇒ Array<String>? (readonly)
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 in the CloudFormation User Guide .
114 115 116 |
# File 'cfn_stack_set_props.rb', line 114 def capabilities @capabilities end |
#description ⇒ String? (readonly)
A description of the StackSet.
119 120 121 |
# File 'cfn_stack_set_props.rb', line 119 def description @description end |
#execution_role_name ⇒ String, ... (readonly)
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+=,.@-]+
130 131 132 |
# File 'cfn_stack_set_props.rb', line 130 def execution_role_name @execution_role_name end |
#managed_execution ⇒ Object? (readonly)
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.
143 144 145 |
# File 'cfn_stack_set_props.rb', line 143 def managed_execution @managed_execution end |
#operation_preferences ⇒ AWSCDK::IResolvable, ... (readonly)
The user-specified preferences for how CloudFormation performs a StackSet operation.
148 149 150 |
# File 'cfn_stack_set_props.rb', line 148 def operation_preferences @operation_preferences end |
#parameters ⇒ AWSCDK::IResolvable, ... (readonly)
The input parameters for the StackSet template.
153 154 155 |
# File 'cfn_stack_set_props.rb', line 153 def parameters @parameters end |
#permission_model ⇒ String (readonly)
Describes how the IAM roles required for StackSet operations are created.
- With
SELF_MANAGEDpermissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see Grant self-managed permissions in the CloudFormation User Guide . - With
SERVICE_MANAGEDpermissions, 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 in the CloudFormation User Guide .
64 65 66 |
# File 'cfn_stack_set_props.rb', line 64 def @permission_model end |
#stack_instances_group ⇒ AWSCDK::IResolvable, ... (readonly)
A group of stack instances with parameters in some specific accounts and Regions.
158 159 160 |
# File 'cfn_stack_set_props.rb', line 158 def stack_instances_group @stack_instances_group end |
#stack_set_name ⇒ String (readonly)
The name to associate with the StackSet.
The name must be unique in the Region where you create your StackSet.
71 72 73 |
# File 'cfn_stack_set_props.rb', line 71 def stack_set_name @stack_set_name end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
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.
167 168 169 |
# File 'cfn_stack_set_props.rb', line 167 def @tags end |
#template_body ⇒ String? (readonly)
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.
174 175 176 |
# File 'cfn_stack_set_props.rb', line 174 def template_body @template_body end |
#template_url ⇒ String? (readonly)
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 .
183 184 185 |
# File 'cfn_stack_set_props.rb', line 183 def template_url @template_url end |
Class Method Details
.jsii_properties ⇒ Object
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'cfn_stack_set_props.rb', line 185 def self.jsii_properties { :permission_model => "permissionModel", :stack_set_name => "stackSetName", :administration_role_arn => "administrationRoleArn", :auto_deployment => "autoDeployment", :call_as => "callAs", :capabilities => "capabilities", :description => "description", :execution_role_name => "executionRoleName", :managed_execution => "managedExecution", :operation_preferences => "operationPreferences", :parameters => "parameters", :stack_instances_group => "stackInstancesGroup", :tags => "tags", :template_body => "templateBody", :template_url => "templateUrl", } end |
Instance Method Details
#to_jsii ⇒ Object
205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
# File 'cfn_stack_set_props.rb', line 205 def to_jsii result = {} result.merge!({ "permissionModel" => @permission_model, "stackSetName" => @stack_set_name, "administrationRoleArn" => @administration_role_arn, "autoDeployment" => @auto_deployment, "callAs" => @call_as, "capabilities" => @capabilities, "description" => @description, "executionRoleName" => @execution_role_name, "managedExecution" => @managed_execution, "operationPreferences" => @operation_preferences, "parameters" => @parameters, "stackInstancesGroup" => @stack_instances_group, "tags" => @tags, "templateBody" => @template_body, "templateUrl" => @template_url, }) result.compact end |