Class: AWSCDK::CodePipelineActions::CloudFormationDeployStackSetAction

Inherits:
Action
  • Object
show all
Defined in:
code_pipeline_actions/cloud_formation_deploy_stack_set_action.rb

Overview

CodePipeline action to deploy a stackset.

CodePipeline offers the ability to perform AWS CloudFormation StackSets operations as part of your CI/CD process. You use a stack set to create stacks in AWS accounts across AWS Regions by using a single AWS CloudFormation template. All the resources included in each stack are defined by the stack set’s AWS CloudFormation template. When you create the stack set, you specify the template to use, as well as any parameters and capabilities that the template requires.

For more information about concepts for AWS CloudFormation StackSets, see StackSets concepts in the AWS CloudFormation User Guide.

If you use this action to make an update that includes adding stack instances, the new instances are deployed first and the update is completed last. The new instances first receive the old version, and then the update is applied to all instances.

As a best practice, you should construct your pipeline so that the stack set is created and initially deploys to a subset or a single instance. After you test your deployment and view the generated stack set, then add the CloudFormationStackInstances action so that the remaining instances are created and updated.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(props) ⇒ CloudFormationDeployStackSetAction

Returns a new instance of CloudFormationDeployStackSetAction.



33
34
35
36
37
# File 'code_pipeline_actions/cloud_formation_deploy_stack_set_action.rb', line 33

def initialize(props)
  props = props.is_a?(Hash) ? ::AWSCDK::CodePipelineActions::CloudFormationDeployStackSetActionProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lX2FjdGlvbnMuQ2xvdWRGb3JtYXRpb25EZXBsb3lTdGFja1NldEFjdGlvblByb3BzIn0=")), "props")
  Jsii::Object.instance_method(:initialize).bind(self).call(props)
end

Class Method Details

.jsii_overridable_methodsObject



39
40
41
42
43
44
45
46
47
48
# File 'code_pipeline_actions/cloud_formation_deploy_stack_set_action.rb', line 39

def self.jsii_overridable_methods
  {
    :action_properties => { kind: :property, name: "actionProperties", is_optional: false },
    :provided_action_properties => { kind: :property, name: "providedActionProperties", is_optional: false },
    :bind => { kind: :method, name: "bind", is_optional: false },
    :bound => { kind: :method, name: "bound", is_optional: false },
    :on_state_change => { kind: :method, name: "onStateChange", is_optional: false },
    :variable_expression => { kind: :method, name: "variableExpression", is_optional: false },
  }
end

Instance Method Details

#action_propertiesAWSCDK::Codepipeline::ActionProperties

The simple properties of the Action, like its Owner, name, etc.

Note that this accessor will be called before the bind callback.



55
56
57
# File 'code_pipeline_actions/cloud_formation_deploy_stack_set_action.rb', line 55

def action_properties()
  jsii_get_property("actionProperties")
end

#bind(scope, stage, options) ⇒ AWSCDK::Codepipeline::ActionConfig

The callback invoked when this Action is added to a Pipeline.

Parameters:

Returns:



72
73
74
75
76
77
78
# File 'code_pipeline_actions/cloud_formation_deploy_stack_set_action.rb', line 72

def bind(scope, stage, options)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(stage, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lLklTdGFnZSJ9")), "stage")
  options = options.is_a?(Hash) ? ::AWSCDK::Codepipeline::ActionBindOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lLkFjdGlvbkJpbmRPcHRpb25zIn0=")), "options")
  jsii_call_method("bind", [scope, stage, options])
end

#bound(scope, _stage, options) ⇒ AWSCDK::Codepipeline::ActionConfig

This is a renamed version of the IAction.bind method.

Parameters:

Returns:



86
87
88
89
90
91
92
# File 'code_pipeline_actions/cloud_formation_deploy_stack_set_action.rb', line 86

def bound(scope, _stage, options)
  Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope")
  Jsii::Type.check_type(_stage, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lLklTdGFnZSJ9")), "_stage")
  options = options.is_a?(Hash) ? ::AWSCDK::Codepipeline::ActionBindOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lLkFjdGlvbkJpbmRPcHRpb25zIn0=")), "options")
  jsii_call_method("bound", [scope, _stage, options])
end

#on_state_change(name, target = nil, options = nil) ⇒ AWSCDK::Events::Rule

Creates an Event that will be triggered whenever the state of this Action changes.

Parameters:

Returns:



100
101
102
103
104
105
106
# File 'code_pipeline_actions/cloud_formation_deploy_stack_set_action.rb', line 100

def on_state_change(name, target = nil, options = nil)
  Jsii::Type.check_type(name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZlbnRzLklSdWxlVGFyZ2V0In0=")), "target") unless target.nil?
  options = options.is_a?(Hash) ? ::AWSCDK::Events::RuleProps.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZXZlbnRzLlJ1bGVQcm9wcyJ9")), "options") unless options.nil?
  jsii_call_method("onStateChange", [name, target, options])
end

#provided_action_propertiesAWSCDK::Codepipeline::ActionProperties

This is a renamed version of the IAction.actionProperties property.



62
63
64
# File 'code_pipeline_actions/cloud_formation_deploy_stack_set_action.rb', line 62

def provided_action_properties()
  jsii_get_property("providedActionProperties")
end

#variable_expression(variable_name) ⇒ String

Parameters:

  • variable_name (String)

Returns:

  • (String)


110
111
112
113
# File 'code_pipeline_actions/cloud_formation_deploy_stack_set_action.rb', line 110

def variable_expression(variable_name)
  Jsii::Type.check_type(variable_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "variableName")
  jsii_call_method("variableExpression", [variable_name])
end