Class: AWSCDK::ImageBuilder::CfnWorkflowProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
image_builder/cfn_workflow_props.rb

Overview

Properties for defining a CfnWorkflow.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, type:, version:, change_description: nil, data: nil, description: nil, kms_key_id: nil, tags: nil, uri: nil) ⇒ CfnWorkflowProps

Returns a new instance of CfnWorkflowProps.

Parameters:

  • name (String)

    The name of the workflow to create.

  • type (String)

    The phase in the image build process for which the workflow resource is responsible.

  • version (String)

    The semantic version of this workflow resource. The semantic version syntax adheres to the following rules.

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

    Describes what change has been made in this version of the workflow, or what makes this version different from other versions of the workflow.

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

    Contains the UTF-8 encoded YAML document content for the workflow.

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

    Describes the workflow.

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

    The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt this workflow resource.

  • tags (Hash{String => String}, nil) (defaults to: nil)

    Tags that apply to the workflow resource.

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

    The uri of a YAML component document file.



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

def initialize(name:, type:, version:, change_description: nil, data: nil, description: nil, kms_key_id: nil, tags: nil, uri: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @version = version
  Jsii::Type.check_type(@version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "version")
  @change_description = change_description
  Jsii::Type.check_type(@change_description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "changeDescription") unless @change_description.nil?
  @data = data
  Jsii::Type.check_type(@data, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "data") unless @data.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
  @tags = tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "tags") unless @tags.nil?
  @uri = uri
  Jsii::Type.check_type(@uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "uri") unless @uri.nil?
end

Instance Attribute Details

#change_descriptionString? (readonly)

Describes what change has been made in this version of the workflow, or what makes this version different from other versions of the workflow.



64
65
66
# File 'image_builder/cfn_workflow_props.rb', line 64

def change_description
  @change_description
end

#dataString? (readonly)

Contains the UTF-8 encoded YAML document content for the workflow.

Alternatively, you can specify the uri of a YAML document file stored in Amazon S3. However, you cannot specify both properties.



71
72
73
# File 'image_builder/cfn_workflow_props.rb', line 71

def data
  @data
end

#descriptionString? (readonly)

Describes the workflow.



76
77
78
# File 'image_builder/cfn_workflow_props.rb', line 76

def description
  @description
end

#kms_key_idString? (readonly)

The Amazon Resource Name (ARN) that uniquely identifies the KMS key used to encrypt this workflow resource.

This can be either the Key ARN or the Alias ARN. For more information, see Key identifiers (KeyId) in the AWS Key Management Service Developer Guide .



83
84
85
# File 'image_builder/cfn_workflow_props.rb', line 83

def kms_key_id
  @kms_key_id
end

#nameString (readonly)

The name of the workflow to create.



43
44
45
# File 'image_builder/cfn_workflow_props.rb', line 43

def name
  @name
end

#tagsHash{String => String}? (readonly)

Tags that apply to the workflow resource.



88
89
90
# File 'image_builder/cfn_workflow_props.rb', line 88

def tags
  @tags
end

#typeString (readonly)

The phase in the image build process for which the workflow resource is responsible.



48
49
50
# File 'image_builder/cfn_workflow_props.rb', line 48

def type
  @type
end

#uriString? (readonly)

The uri of a YAML component document file.

This must be an S3 URL ( s3://bucket/key ), and the requester must have permission to access the S3 bucket it points to. If you use Amazon S3, you can specify component content up to your service quota.

Alternatively, you can specify the YAML document inline, using the component data property. You cannot specify both properties.



97
98
99
# File 'image_builder/cfn_workflow_props.rb', line 97

def uri
  @uri
end

#versionString (readonly)

The semantic version of this workflow resource. The semantic version syntax adheres to the following rules.

The semantic version has four nodes: ../. You can assign values for the first three, and can filter on all of them.

Assignment: For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.

Patterns: You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.



59
60
61
# File 'image_builder/cfn_workflow_props.rb', line 59

def version
  @version
end

Class Method Details

.jsii_propertiesObject



99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'image_builder/cfn_workflow_props.rb', line 99

def self.jsii_properties
  {
    :name => "name",
    :type => "type",
    :version => "version",
    :change_description => "changeDescription",
    :data => "data",
    :description => "description",
    :kms_key_id => "kmsKeyId",
    :tags => "tags",
    :uri => "uri",
  }
end

Instance Method Details

#to_jsiiObject



113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'image_builder/cfn_workflow_props.rb', line 113

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "type" => @type,
    "version" => @version,
    "changeDescription" => @change_description,
    "data" => @data,
    "description" => @description,
    "kmsKeyId" => @kms_key_id,
    "tags" => @tags,
    "uri" => @uri,
  })
  result.compact
end