Class: AWSCDK::ImageBuilder::CfnImageProps

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

Overview

Properties for defining a CfnImage.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(container_recipe_arn: nil, deletion_settings: nil, distribution_configuration_arn: nil, enhanced_image_metadata_enabled: nil, execution_role: nil, image_pipeline_execution_settings: nil, image_recipe_arn: nil, image_scanning_configuration: nil, image_tests_configuration: nil, infrastructure_configuration_arn: nil, logging_configuration: nil, tags: nil, workflows: nil) ⇒ CfnImageProps

Returns a new instance of CfnImageProps.

Parameters:



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
47
48
49
# File 'image_builder/cfn_image_props.rb', line 22

def initialize(container_recipe_arn: nil, deletion_settings: nil, distribution_configuration_arn: nil, enhanced_image_metadata_enabled: nil, execution_role: nil, image_pipeline_execution_settings: nil, image_recipe_arn: nil, image_scanning_configuration: nil, image_tests_configuration: nil, infrastructure_configuration_arn: nil, logging_configuration: nil, tags: nil, workflows: nil)
  @container_recipe_arn = container_recipe_arn
  Jsii::Type.check_type(@container_recipe_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "containerRecipeArn") unless @container_recipe_arn.nil?
  @deletion_settings = deletion_settings.is_a?(Hash) ? ::AWSCDK::ImageBuilder::CfnImage::DeletionSettingsProperty.new(**deletion_settings.transform_keys(&:to_sym)) : deletion_settings
  Jsii::Type.check_type(@deletion_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pbWFnZWJ1aWxkZXIuQ2ZuSW1hZ2UuRGVsZXRpb25TZXR0aW5nc1Byb3BlcnR5In1dfX0=")), "deletionSettings") unless @deletion_settings.nil?
  @distribution_configuration_arn = distribution_configuration_arn
  Jsii::Type.check_type(@distribution_configuration_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pbWFnZWJ1aWxkZXIuSURpc3RyaWJ1dGlvbkNvbmZpZ3VyYXRpb25SZWYifV19fQ==")), "distributionConfigurationArn") unless @distribution_configuration_arn.nil?
  @enhanced_image_metadata_enabled = 
  Jsii::Type.check_type(@enhanced_image_metadata_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enhancedImageMetadataEnabled") unless @enhanced_image_metadata_enabled.nil?
  @execution_role = execution_role
  Jsii::Type.check_type(@execution_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "executionRole") unless @execution_role.nil?
  @image_pipeline_execution_settings = image_pipeline_execution_settings.is_a?(Hash) ? ::AWSCDK::ImageBuilder::CfnImage::ImagePipelineExecutionSettingsProperty.new(**image_pipeline_execution_settings.transform_keys(&:to_sym)) : image_pipeline_execution_settings
  Jsii::Type.check_type(@image_pipeline_execution_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pbWFnZWJ1aWxkZXIuQ2ZuSW1hZ2UuSW1hZ2VQaXBlbGluZUV4ZWN1dGlvblNldHRpbmdzUHJvcGVydHkifV19fQ==")), "imagePipelineExecutionSettings") unless @image_pipeline_execution_settings.nil?
  @image_recipe_arn = image_recipe_arn
  Jsii::Type.check_type(@image_recipe_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pbWFnZWJ1aWxkZXIuSUltYWdlUmVjaXBlUmVmIn1dfX0=")), "imageRecipeArn") unless @image_recipe_arn.nil?
  @image_scanning_configuration = image_scanning_configuration.is_a?(Hash) ? ::AWSCDK::ImageBuilder::CfnImage::ImageScanningConfigurationProperty.new(**image_scanning_configuration.transform_keys(&:to_sym)) : image_scanning_configuration
  Jsii::Type.check_type(@image_scanning_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pbWFnZWJ1aWxkZXIuQ2ZuSW1hZ2UuSW1hZ2VTY2FubmluZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "imageScanningConfiguration") unless @image_scanning_configuration.nil?
  @image_tests_configuration = image_tests_configuration.is_a?(Hash) ? ::AWSCDK::ImageBuilder::CfnImage::ImageTestsConfigurationProperty.new(**image_tests_configuration.transform_keys(&:to_sym)) : image_tests_configuration
  Jsii::Type.check_type(@image_tests_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pbWFnZWJ1aWxkZXIuQ2ZuSW1hZ2UuSW1hZ2VUZXN0c0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "imageTestsConfiguration") unless @image_tests_configuration.nil?
  @infrastructure_configuration_arn = infrastructure_configuration_arn
  Jsii::Type.check_type(@infrastructure_configuration_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pbWFnZWJ1aWxkZXIuSUluZnJhc3RydWN0dXJlQ29uZmlndXJhdGlvblJlZiJ9XX19")), "infrastructureConfigurationArn") unless @infrastructure_configuration_arn.nil?
  @logging_configuration = logging_configuration.is_a?(Hash) ? ::AWSCDK::ImageBuilder::CfnImage::ImageLoggingConfigurationProperty.new(**logging_configuration.transform_keys(&:to_sym)) : logging_configuration
  Jsii::Type.check_type(@logging_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pbWFnZWJ1aWxkZXIuQ2ZuSW1hZ2UuSW1hZ2VMb2dnaW5nQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "loggingConfiguration") unless @logging_configuration.nil?
  @tags = tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "tags") unless @tags.nil?
  @workflows = workflows
  Jsii::Type.check_type(@workflows, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaW1hZ2VidWlsZGVyLkNmbkltYWdlLldvcmtmbG93Q29uZmlndXJhdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "workflows") unless @workflows.nil?
end

Instance Attribute Details

#container_recipe_arnString? (readonly)

The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.



55
56
57
# File 'image_builder/cfn_image_props.rb', line 55

def container_recipe_arn
  @container_recipe_arn
end

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

Enables deletion of underlying resources of an image when it is replaced or deleted, including its Amazon Machine Images (AMIs), snapshots, or containers.



60
61
62
# File 'image_builder/cfn_image_props.rb', line 60

def deletion_settings
  @deletion_settings
end

#distribution_configuration_arnString, ... (readonly)

The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your pipeline.



65
66
67
# File 'image_builder/cfn_image_props.rb', line 65

def distribution_configuration_arn
  @distribution_configuration_arn
end

#enhanced_image_metadata_enabledBoolean, ... (readonly)

Collects additional information about the image being created, including the operating system (OS) version and package list.

This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.



72
73
74
# File 'image_builder/cfn_image_props.rb', line 72

def 
  @enhanced_image_metadata_enabled
end

#execution_roleString? (readonly)

The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.



77
78
79
# File 'image_builder/cfn_image_props.rb', line 77

def execution_role
  @execution_role
end

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

The image pipeline execution settings of the image.



82
83
84
# File 'image_builder/cfn_image_props.rb', line 82

def image_pipeline_execution_settings
  @image_pipeline_execution_settings
end

#image_recipe_arnString, ... (readonly)

The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.



87
88
89
# File 'image_builder/cfn_image_props.rb', line 87

def image_recipe_arn
  @image_recipe_arn
end

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

Contains settings for vulnerability scans.



92
93
94
# File 'image_builder/cfn_image_props.rb', line 92

def image_scanning_configuration
  @image_scanning_configuration
end

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

The image tests configuration of the image.



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

def image_tests_configuration
  @image_tests_configuration
end

#infrastructure_configuration_arnString, ... (readonly)

The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your image will be built and tested.



102
103
104
# File 'image_builder/cfn_image_props.rb', line 102

def infrastructure_configuration_arn
  @infrastructure_configuration_arn
end

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

The logging configuration that's defined for the image.

Image Builder uses the defined settings to direct execution log output during image creation.



109
110
111
# File 'image_builder/cfn_image_props.rb', line 109

def logging_configuration
  @logging_configuration
end

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

The tags of the image.



114
115
116
# File 'image_builder/cfn_image_props.rb', line 114

def tags
  @tags
end

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

Contains an array of workflow configuration objects.



119
120
121
# File 'image_builder/cfn_image_props.rb', line 119

def workflows
  @workflows
end

Class Method Details

.jsii_propertiesObject



121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'image_builder/cfn_image_props.rb', line 121

def self.jsii_properties
  {
    :container_recipe_arn => "containerRecipeArn",
    :deletion_settings => "deletionSettings",
    :distribution_configuration_arn => "distributionConfigurationArn",
    :enhanced_image_metadata_enabled => "enhancedImageMetadataEnabled",
    :execution_role => "executionRole",
    :image_pipeline_execution_settings => "imagePipelineExecutionSettings",
    :image_recipe_arn => "imageRecipeArn",
    :image_scanning_configuration => "imageScanningConfiguration",
    :image_tests_configuration => "imageTestsConfiguration",
    :infrastructure_configuration_arn => "infrastructureConfigurationArn",
    :logging_configuration => "loggingConfiguration",
    :tags => "tags",
    :workflows => "workflows",
  }
end

Instance Method Details

#to_jsiiObject



139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'image_builder/cfn_image_props.rb', line 139

def to_jsii
  result = {}
  result.merge!({
    "containerRecipeArn" => @container_recipe_arn,
    "deletionSettings" => @deletion_settings,
    "distributionConfigurationArn" => @distribution_configuration_arn,
    "enhancedImageMetadataEnabled" => @enhanced_image_metadata_enabled,
    "executionRole" => @execution_role,
    "imagePipelineExecutionSettings" => @image_pipeline_execution_settings,
    "imageRecipeArn" => @image_recipe_arn,
    "imageScanningConfiguration" => @image_scanning_configuration,
    "imageTestsConfiguration" => @image_tests_configuration,
    "infrastructureConfigurationArn" => @infrastructure_configuration_arn,
    "loggingConfiguration" => @logging_configuration,
    "tags" => @tags,
    "workflows" => @workflows,
  })
  result.compact
end