Class: AWSCDK::ImageBuilder::CfnContainerRecipe::InstanceBlockDeviceMappingProperty

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

Overview

Defines block device mappings for the instance used to configure your image.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(device_name: nil, ebs: nil, no_device: nil, virtual_name: nil) ⇒ InstanceBlockDeviceMappingProperty

Returns a new instance of InstanceBlockDeviceMappingProperty.

Parameters:



948
949
950
951
952
953
954
955
956
957
# File 'image_builder/cfn_container_recipe.rb', line 948

def initialize(device_name: nil, ebs: nil, no_device: nil, virtual_name: nil)
  @device_name = device_name
  Jsii::Type.check_type(@device_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deviceName") unless @device_name.nil?
  @ebs = ebs.is_a?(Hash) ? ::AWSCDK::ImageBuilder::CfnContainerRecipe::EbsInstanceBlockDeviceSpecificationProperty.new(**ebs.transform_keys(&:to_sym)) : ebs
  Jsii::Type.check_type(@ebs, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pbWFnZWJ1aWxkZXIuQ2ZuQ29udGFpbmVyUmVjaXBlLkVic0luc3RhbmNlQmxvY2tEZXZpY2VTcGVjaWZpY2F0aW9uUHJvcGVydHkifV19fQ==")), "ebs") unless @ebs.nil?
  @no_device = no_device
  Jsii::Type.check_type(@no_device, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "noDevice") unless @no_device.nil?
  @virtual_name = virtual_name
  Jsii::Type.check_type(@virtual_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "virtualName") unless @virtual_name.nil?
end

Instance Attribute Details

#device_nameString? (readonly)

The device to which these mappings apply.



963
964
965
# File 'image_builder/cfn_container_recipe.rb', line 963

def device_name
  @device_name
end

#no_deviceString? (readonly)

Use to remove a mapping from the base image.



973
974
975
# File 'image_builder/cfn_container_recipe.rb', line 973

def no_device
  @no_device
end

#virtual_nameString? (readonly)

Use to manage instance ephemeral devices.



978
979
980
# File 'image_builder/cfn_container_recipe.rb', line 978

def virtual_name
  @virtual_name
end

Class Method Details

.jsii_propertiesObject



980
981
982
983
984
985
986
987
# File 'image_builder/cfn_container_recipe.rb', line 980

def self.jsii_properties
  {
    :device_name => "deviceName",
    :ebs => "ebs",
    :no_device => "noDevice",
    :virtual_name => "virtualName",
  }
end

Instance Method Details

#to_jsiiObject



989
990
991
992
993
994
995
996
997
998
# File 'image_builder/cfn_container_recipe.rb', line 989

def to_jsii
  result = {}
  result.merge!({
    "deviceName" => @device_name,
    "ebs" => @ebs,
    "noDevice" => @no_device,
    "virtualName" => @virtual_name,
  })
  result.compact
end