Module: AWSCDK::Pipelines::ICodePipelineActionFactory

Included in:
CodePipelineSource, ConfirmPermissionsBroadening
Defined in:
pipelines/i_code_pipeline_action_factory.rb

Overview

Factory for explicit CodePipeline Actions.

If you have specific types of Actions you want to add to a CodePipeline, write a subclass of Step that implements this interface, and add the action or actions you want in the produce method.

There needs to be a level of indirection here, because some aspects of the Action creation need to be controlled by the workflow engine (name and runOrder). All the rest of the properties are controlled by the factory.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.jsii_overridable_methodsObject



27
28
29
30
31
# File 'pipelines/i_code_pipeline_action_factory.rb', line 27

def self.jsii_overridable_methods
  {
    :produce_action => { kind: :method, name: "produceAction", is_optional: false },
  }
end

Instance Method Details

#produce_action(stage, options) ⇒ AWSCDK::Pipelines::CodePipelineActionFactoryResult

Create the desired Action and add it to the pipeline.



20
21
22
23
24
25
# File 'pipelines/i_code_pipeline_action_factory.rb', line 20

def produce_action(stage, options)
  Jsii::Type.check_type(stage, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lLklTdGFnZSJ9")), "stage")
  options = options.is_a?(Hash) ? ::AWSCDK::Pipelines::ProduceActionOptions.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5waXBlbGluZXMuUHJvZHVjZUFjdGlvbk9wdGlvbnMifQ==")), "options")
  jsii_call_method("produceAction", [stage, options])
end