Class: AWSCDK::Lambda::CfnMicrovmImageProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
lambda/cfn_microvm_image_props.rb

Overview

Properties for defining a CfnMicrovmImage.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(additional_os_capabilities:, base_image_arn:, base_image_version:, build_role_arn:, code_artifact:, cpu_configurations:, description:, egress_network_connectors:, environment_variables:, hooks:, logging:, name:, resources:, tags: nil) ⇒ CfnMicrovmImageProps

Returns a new instance of CfnMicrovmImageProps.

Parameters:



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
50
51
52
# File 'lambda/cfn_microvm_image_props.rb', line 23

def initialize(additional_os_capabilities:, base_image_arn:, base_image_version:, build_role_arn:, code_artifact:, cpu_configurations:, description:, egress_network_connectors:, environment_variables:, hooks:, logging:, name:, resources:, tags: nil)
  @additional_os_capabilities = additional_os_capabilities
  Jsii::Type.check_type(@additional_os_capabilities, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "additionalOsCapabilities")
  @base_image_arn = base_image_arn
  Jsii::Type.check_type(@base_image_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "baseImageArn")
  @base_image_version = base_image_version
  Jsii::Type.check_type(@base_image_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "baseImageVersion")
  @build_role_arn = build_role_arn
  Jsii::Type.check_type(@build_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "buildRoleArn")
  @code_artifact = code_artifact.is_a?(Hash) ? ::AWSCDK::Lambda::CfnMicrovmImage::CodeArtifactProperty.new(**code_artifact.transform_keys(&:to_sym)) : code_artifact
  Jsii::Type.check_type(@code_artifact, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYW1iZGEuQ2ZuTWljcm92bUltYWdlLkNvZGVBcnRpZmFjdFByb3BlcnR5In1dfX0=")), "codeArtifact")
  @cpu_configurations = cpu_configurations
  Jsii::Type.check_type(@cpu_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkNmbk1pY3Jvdm1JbWFnZS5DcHVDb25maWd1cmF0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "cpuConfigurations")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description")
  @egress_network_connectors = egress_network_connectors
  Jsii::Type.check_type(@egress_network_connectors, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "egressNetworkConnectors")
  @environment_variables = environment_variables
  Jsii::Type.check_type(@environment_variables, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkNmbk1pY3Jvdm1JbWFnZS5FbnZpcm9ubWVudFZhcmlhYmxlUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "environmentVariables")
  @hooks = hooks.is_a?(Hash) ? ::AWSCDK::Lambda::CfnMicrovmImage::HooksProperty.new(**hooks.transform_keys(&:to_sym)) : hooks
  Jsii::Type.check_type(@hooks, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYW1iZGEuQ2ZuTWljcm92bUltYWdlLkhvb2tzUHJvcGVydHkifV19fQ==")), "hooks")
  @logging = logging.is_a?(Hash) ? ::AWSCDK::Lambda::CfnMicrovmImage::LoggingProperty.new(**logging.transform_keys(&:to_sym)) : logging
  Jsii::Type.check_type(@logging, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19sYW1iZGEuQ2ZuTWljcm92bUltYWdlLkxvZ2dpbmdQcm9wZXJ0eSJ9XX19")), "logging")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @resources = resources
  Jsii::Type.check_type(@resources, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLkNmbk1pY3Jvdm1JbWFnZS5SZXNvdXJjZXNQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "resources")
  @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?
end

Instance Attribute Details

#additional_os_capabilitiesArray<String> (readonly)



56
57
58
# File 'lambda/cfn_microvm_image_props.rb', line 56

def additional_os_capabilities
  @additional_os_capabilities
end

#base_image_arnString (readonly)

ARN of the base MicroVM image.



61
62
63
# File 'lambda/cfn_microvm_image_props.rb', line 61

def base_image_arn
  @base_image_arn
end

#base_image_versionString (readonly)

Specific version of the base MicroVM image to use.



66
67
68
# File 'lambda/cfn_microvm_image_props.rb', line 66

def base_image_version
  @base_image_version
end

#build_role_arnString (readonly)

ARN of the IAM build role.



71
72
73
# File 'lambda/cfn_microvm_image_props.rb', line 71

def build_role_arn
  @build_role_arn
end

#descriptionString (readonly)

Human-readable description of the MicroVM image and its purpose.



82
83
84
# File 'lambda/cfn_microvm_image_props.rb', line 82

def description
  @description
end

#egress_network_connectorsArray<String> (readonly)



85
86
87
# File 'lambda/cfn_microvm_image_props.rb', line 85

def egress_network_connectors
  @egress_network_connectors
end

#environment_variablesAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Lambda::CfnMicrovmImage::EnvironmentVariableProperty> (readonly)

Environment variables to set in the container during the snapshot build.



90
91
92
# File 'lambda/cfn_microvm_image_props.rb', line 90

def environment_variables
  @environment_variables
end

#nameString (readonly)

Unique name for the MicroVM image within the account.



101
102
103
# File 'lambda/cfn_microvm_image_props.rb', line 101

def name
  @name
end

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

Key-value pairs to associate with the MicroVM image for organization and management.



109
110
111
# File 'lambda/cfn_microvm_image_props.rb', line 109

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# File 'lambda/cfn_microvm_image_props.rb', line 111

def self.jsii_properties
  {
    :additional_os_capabilities => "additionalOsCapabilities",
    :base_image_arn => "baseImageArn",
    :base_image_version => "baseImageVersion",
    :build_role_arn => "buildRoleArn",
    :code_artifact => "codeArtifact",
    :cpu_configurations => "cpuConfigurations",
    :description => "description",
    :egress_network_connectors => "egressNetworkConnectors",
    :environment_variables => "environmentVariables",
    :hooks => "hooks",
    :logging => "logging",
    :name => "name",
    :resources => "resources",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lambda/cfn_microvm_image_props.rb', line 130

def to_jsii
  result = {}
  result.merge!({
    "additionalOsCapabilities" => @additional_os_capabilities,
    "baseImageArn" => @base_image_arn,
    "baseImageVersion" => @base_image_version,
    "buildRoleArn" => @build_role_arn,
    "codeArtifact" => @code_artifact,
    "cpuConfigurations" => @cpu_configurations,
    "description" => @description,
    "egressNetworkConnectors" => @egress_network_connectors,
    "environmentVariables" => @environment_variables,
    "hooks" => @hooks,
    "logging" => @logging,
    "name" => @name,
    "resources" => @resources,
    "tags" => @tags,
  })
  result.compact
end