Class: AWSCDK::CodePipelineActions::CloudFormationDeployStackInstancesActionProps

Inherits:
AWSCDK::Codepipeline::CommonAWSActionProps
  • Object
show all
Defined in:
code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb

Overview

Properties for the CloudFormationDeployStackInstancesAction.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(action_name:, run_order: nil, variables_namespace: nil, role: nil, failure_tolerance_percentage: nil, max_account_concurrency_percentage: nil, stack_set_region: nil, stack_instances:, stack_set_name:, parameter_overrides: nil) ⇒ CloudFormationDeployStackInstancesActionProps

Returns a new instance of CloudFormationDeployStackInstancesActionProps.

Parameters:

  • action_name (String)

    The physical, human-readable name of the Action.

  • run_order (Numeric, nil) (defaults to: nil)

    The runOrder property for this Action.

  • variables_namespace (String, nil) (defaults to: nil)

    The name of the namespace to use for variables emitted by this action.

  • role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    The Role in which context's this Action will be executing in.

  • failure_tolerance_percentage (Numeric, nil) (defaults to: nil)

    The percentage of accounts per Region for which this stack operation can fail before AWS CloudFormation stops the operation in that Region.

  • max_account_concurrency_percentage (Numeric, nil) (defaults to: nil)

    The maximum percentage of accounts in which to perform this operation at one time.

  • stack_set_region (String, nil) (defaults to: nil)

    The AWS Region the StackSet is in.

  • stack_instances (AWSCDK::CodePipelineActions::StackInstances)

    Specify where to create or update Stack Instances.

  • stack_set_name (String)

    The name of the StackSet we are adding instances to.

  • parameter_overrides (AWSCDK::CodePipelineActions::StackSetParameters, nil) (defaults to: nil)

    Parameter values that only apply to the current Stack Instances.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 18

def initialize(action_name:, run_order: nil, variables_namespace: nil, role: nil, failure_tolerance_percentage: nil, max_account_concurrency_percentage: nil, stack_set_region: nil, stack_instances:, stack_set_name:, parameter_overrides: nil)
  @action_name = action_name
  Jsii::Type.check_type(@action_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "actionName")
  @run_order = run_order
  Jsii::Type.check_type(@run_order, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "runOrder") unless @run_order.nil?
  @variables_namespace = variables_namespace
  Jsii::Type.check_type(@variables_namespace, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "variablesNamespace") unless @variables_namespace.nil?
  @role = role
  Jsii::Type.check_type(@role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "role") unless @role.nil?
  @failure_tolerance_percentage = failure_tolerance_percentage
  Jsii::Type.check_type(@failure_tolerance_percentage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "failureTolerancePercentage") unless @failure_tolerance_percentage.nil?
  @max_account_concurrency_percentage = 
  Jsii::Type.check_type(@max_account_concurrency_percentage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxAccountConcurrencyPercentage") unless @max_account_concurrency_percentage.nil?
  @stack_set_region = stack_set_region
  Jsii::Type.check_type(@stack_set_region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "stackSetRegion") unless @stack_set_region.nil?
  @stack_instances = stack_instances
  Jsii::Type.check_type(@stack_instances, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lX2FjdGlvbnMuU3RhY2tJbnN0YW5jZXMifQ==")), "stackInstances")
  @stack_set_name = stack_set_name
  Jsii::Type.check_type(@stack_set_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "stackSetName")
  @parameter_overrides = parameter_overrides
  Jsii::Type.check_type(@parameter_overrides, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lX2FjdGlvbnMuU3RhY2tTZXRQYXJhbWV0ZXJzIn0=")), "parameterOverrides") unless @parameter_overrides.nil?
end

Instance Attribute Details

#action_nameString (readonly)

The physical, human-readable name of the Action.

Note that Action names must be unique within a single Stage.

Returns:

  • (String)


46
47
48
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 46

def action_name
  @action_name
end

#failure_tolerance_percentageNumeric? (readonly)

Note:

Default: 0%

The percentage of accounts per Region for which this stack operation can fail before AWS CloudFormation stops the operation in that Region.

If the operation is stopped in a Region, AWS CloudFormation doesn't attempt the operation in subsequent Regions. When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number.

Returns:

  • (Numeric, nil)


79
80
81
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 79

def failure_tolerance_percentage
  @failure_tolerance_percentage
end

#max_account_concurrency_percentageNumeric? (readonly)

Note:

Default: 1%

The maximum percentage of accounts in which to perform this operation at one time.

When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number. If rounding down would result in zero, AWS CloudFormation sets the number as one instead. Although you use this setting to specify the maximum, for large deployments the actual number of accounts acted upon concurrently may be lower due to service throttling.

Returns:

  • (Numeric, nil)


89
90
91
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 89

def 
  @max_account_concurrency_percentage
end

#parameter_overridesAWSCDK::CodePipelineActions::StackSetParameters? (readonly)

Note:

Default: - no parameters will be overridden

Parameter values that only apply to the current Stack Instances.

These parameters are shared between all instances added by this action.



116
117
118
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 116

def parameter_overrides
  @parameter_overrides
end

#roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: a new Role will be generated

The Role in which context's this Action will be executing in.

The Pipeline's Role will assume this Role (the required permissions for that will be granted automatically) right before executing this Action. This Action will be passed into your IAction.bind method in the ActionBindOptions.role property.

Returns:



70
71
72
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 70

def role
  @role
end

#run_orderNumeric? (readonly)

Note:

Default: 1

The runOrder property for this Action.

RunOrder determines the relative order in which multiple Actions in the same Stage execute.



54
55
56
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 54

def run_order
  @run_order
end

#stack_instancesAWSCDK::CodePipelineActions::StackInstances (readonly)

Specify where to create or update Stack Instances.

You can specify either AWS Accounts Ids or AWS Organizations Organizational Units.



105
106
107
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 105

def stack_instances
  @stack_instances
end

#stack_set_nameString (readonly)

The name of the StackSet we are adding instances to.

Returns:

  • (String)


109
110
111
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 109

def stack_set_name
  @stack_set_name
end

#stack_set_regionString? (readonly)

Note:

Default: - same region as the Pipeline

The AWS Region the StackSet is in.

Note that a cross-region Pipeline requires replication buckets to function correctly. You can provide their names with the PipelineProps.crossRegionReplicationBuckets property. If you don't, the CodePipeline Construct will create new Stacks in your CDK app containing those buckets, that you will need to cdk deploy before deploying the main, Pipeline-containing Stack.

Returns:

  • (String, nil)


99
100
101
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 99

def stack_set_region
  @stack_set_region
end

#variables_namespaceString? (readonly)

Note:

Default: - a name will be generated, based on the stage and action names, if any of the action's variables were referenced - otherwise, no namespace will be set

The name of the namespace to use for variables emitted by this action.

Returns:

  • (String, nil)


59
60
61
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 59

def variables_namespace
  @variables_namespace
end

Class Method Details

.jsii_propertiesObject



118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 118

def self.jsii_properties
  {
    :action_name => "actionName",
    :run_order => "runOrder",
    :variables_namespace => "variablesNamespace",
    :role => "role",
    :failure_tolerance_percentage => "failureTolerancePercentage",
    :max_account_concurrency_percentage => "maxAccountConcurrencyPercentage",
    :stack_set_region => "stackSetRegion",
    :stack_instances => "stackInstances",
    :stack_set_name => "stackSetName",
    :parameter_overrides => "parameterOverrides",
  }
end

Instance Method Details

#to_jsiiObject



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'code_pipeline_actions/cloud_formation_deploy_stack_instances_action_props.rb', line 133

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "actionName" => @action_name,
    "runOrder" => @run_order,
    "variablesNamespace" => @variables_namespace,
    "role" => @role,
    "failureTolerancePercentage" => @failure_tolerance_percentage,
    "maxAccountConcurrencyPercentage" => @max_account_concurrency_percentage,
    "stackSetRegion" => @stack_set_region,
    "stackInstances" => @stack_instances,
    "stackSetName" => @stack_set_name,
    "parameterOverrides" => @parameter_overrides,
  })
  result.compact
end