Class: AWSCDK::Codepipeline::CfnPipelineProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
codepipeline/cfn_pipeline_props.rb

Overview

Properties for defining a CfnPipeline.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(role_arn:, stages:, artifact_store: nil, artifact_stores: nil, disable_inbound_stage_transitions: nil, execution_mode: nil, name: nil, pipeline_type: nil, restart_execution_on_update: nil, tags: nil, triggers: nil, variables: nil) ⇒ CfnPipelineProps

Returns a new instance of CfnPipelineProps.

Parameters:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'codepipeline/cfn_pipeline_props.rb', line 21

def initialize(role_arn:, stages:, artifact_store: nil, artifact_stores: nil, disable_inbound_stage_transitions: nil, execution_mode: nil, name: nil, pipeline_type: nil, restart_execution_on_update: nil, tags: nil, triggers: nil, variables: nil)
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "roleArn")
  @stages = stages
  Jsii::Type.check_type(@stages, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lLkNmblBpcGVsaW5lLlN0YWdlRGVjbGFyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "stages")
  @artifact_store = artifact_store.is_a?(Hash) ? ::AWSCDK::Codepipeline::CfnPipeline::ArtifactStoreProperty.new(**artifact_store.transform_keys(&:to_sym)) : artifact_store
  Jsii::Type.check_type(@artifact_store, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jb2RlcGlwZWxpbmUuQ2ZuUGlwZWxpbmUuQXJ0aWZhY3RTdG9yZVByb3BlcnR5In1dfX0=")), "artifactStore") unless @artifact_store.nil?
  @artifact_stores = artifact_stores
  Jsii::Type.check_type(@artifact_stores, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lLkNmblBpcGVsaW5lLkFydGlmYWN0U3RvcmVNYXBQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "artifactStores") unless @artifact_stores.nil?
  @disable_inbound_stage_transitions = disable_inbound_stage_transitions
  Jsii::Type.check_type(@disable_inbound_stage_transitions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lLkNmblBpcGVsaW5lLlN0YWdlVHJhbnNpdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "disableInboundStageTransitions") unless @disable_inbound_stage_transitions.nil?
  @execution_mode = execution_mode
  Jsii::Type.check_type(@execution_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "executionMode") unless @execution_mode.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @pipeline_type = pipeline_type
  Jsii::Type.check_type(@pipeline_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "pipelineType") unless @pipeline_type.nil?
  @restart_execution_on_update = restart_execution_on_update
  Jsii::Type.check_type(@restart_execution_on_update, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "restartExecutionOnUpdate") unless @restart_execution_on_update.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @triggers = triggers
  Jsii::Type.check_type(@triggers, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lLkNmblBpcGVsaW5lLlBpcGVsaW5lVHJpZ2dlckRlY2xhcmF0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "triggers") unless @triggers.nil?
  @variables = variables
  Jsii::Type.check_type(@variables, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29kZXBpcGVsaW5lLkNmblBpcGVsaW5lLlZhcmlhYmxlRGVjbGFyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "variables") unless @variables.nil?
end

Instance Attribute Details

#artifact_storeAWSCDK::IResolvable, ... (readonly)

The S3 bucket where artifacts for the pipeline are stored.

You must include either artifact_store or artifact_stores in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use artifact_stores .



64
65
66
# File 'codepipeline/cfn_pipeline_props.rb', line 64

def artifact_store
  @artifact_store
end

#artifact_storesAWSCDK::IResolvable, ... (readonly)

A mapping of artifactStore objects and their corresponding AWS Regions.

There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.

You must include either artifact_store or artifact_stores in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use artifact_stores .



73
74
75
# File 'codepipeline/cfn_pipeline_props.rb', line 73

def artifact_stores
  @artifact_stores
end

#disable_inbound_stage_transitionsAWSCDK::IResolvable, ... (readonly)

Represents the input of a DisableStageTransition action.



78
79
80
# File 'codepipeline/cfn_pipeline_props.rb', line 78

def disable_inbound_stage_transitions
  @disable_inbound_stage_transitions
end

#execution_modeString? (readonly)

Note:

Default: - "SUPERSEDED"

The method that the pipeline will use to handle multiple executions.

The default mode is SUPERSEDED.



86
87
88
# File 'codepipeline/cfn_pipeline_props.rb', line 86

def execution_mode
  @execution_mode
end

#nameString? (readonly)

The name of the pipeline.



91
92
93
# File 'codepipeline/cfn_pipeline_props.rb', line 91

def name
  @name
end

#pipeline_typeString? (readonly)

CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.

  • V1 type pipelines have a JSON structure that contains standard pipeline, stage, and action-level parameters.
  • V2 type pipelines have the same structure as a V1 type, along with additional parameters for release safety and trigger configuration.

Including V2 parameters, such as triggers on Git tags, in the pipeline JSON when creating or updating a pipeline will result in the pipeline having the V2 type of pipeline and the associated costs.

For information about pricing for CodePipeline, see Pricing .

For information about which type of pipeline to choose, see What type of pipeline is right for me? .



105
106
107
# File 'codepipeline/cfn_pipeline_props.rb', line 105

def pipeline_type
  @pipeline_type
end

#restart_execution_on_updateBoolean, ... (readonly)

Indicates whether to rerun the CodePipeline pipeline after you update it.



110
111
112
# File 'codepipeline/cfn_pipeline_props.rb', line 110

def restart_execution_on_update
  @restart_execution_on_update
end

#role_arnString, AWSCDK::Interfaces::AWSIAM::IRoleRef (readonly)

The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no actionRoleArn , or to use to assume roles for actions with an actionRoleArn .



52
53
54
# File 'codepipeline/cfn_pipeline_props.rb', line 52

def role_arn
  @role_arn
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Specifies the tags applied to the pipeline.



115
116
117
# File 'codepipeline/cfn_pipeline_props.rb', line 115

def tags
  @tags
end

#triggersAWSCDK::IResolvable, ... (readonly)

The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.

When a trigger configuration is specified, default change detection for repository and branch commits is disabled.



122
123
124
# File 'codepipeline/cfn_pipeline_props.rb', line 122

def triggers
  @triggers
end

#variablesAWSCDK::IResolvable, ... (readonly)

A list that defines the pipeline variables for a pipeline resource.

Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+ .



129
130
131
# File 'codepipeline/cfn_pipeline_props.rb', line 129

def variables
  @variables
end

Class Method Details

.jsii_propertiesObject



131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# File 'codepipeline/cfn_pipeline_props.rb', line 131

def self.jsii_properties
  {
    :role_arn => "roleArn",
    :stages => "stages",
    :artifact_store => "artifactStore",
    :artifact_stores => "artifactStores",
    :disable_inbound_stage_transitions => "disableInboundStageTransitions",
    :execution_mode => "executionMode",
    :name => "name",
    :pipeline_type => "pipelineType",
    :restart_execution_on_update => "restartExecutionOnUpdate",
    :tags => "tags",
    :triggers => "triggers",
    :variables => "variables",
  }
end

Instance Method Details

#to_jsiiObject



148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# File 'codepipeline/cfn_pipeline_props.rb', line 148

def to_jsii
  result = {}
  result.merge!({
    "roleArn" => @role_arn,
    "stages" => @stages,
    "artifactStore" => @artifact_store,
    "artifactStores" => @artifact_stores,
    "disableInboundStageTransitions" => @disable_inbound_stage_transitions,
    "executionMode" => @execution_mode,
    "name" => @name,
    "pipelineType" => @pipeline_type,
    "restartExecutionOnUpdate" => @restart_execution_on_update,
    "tags" => @tags,
    "triggers" => @triggers,
    "variables" => @variables,
  })
  result.compact
end