Class: AWSCDK::ImageBuilder::CfnImageRecipe::EbsInstanceBlockDeviceSpecificationProperty

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

Overview

The image recipe EBS instance block device specification includes the Amazon EBS-specific block device mapping specifications for the image.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(delete_on_termination: nil, encrypted: nil, iops: nil, kms_key_id: nil, snapshot_id: nil, throughput: nil, volume_size: nil, volume_type: nil) ⇒ EbsInstanceBlockDeviceSpecificationProperty

Returns a new instance of EbsInstanceBlockDeviceSpecificationProperty.

Parameters:

  • delete_on_termination (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Configures delete on termination of the associated device.

  • encrypted (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Use to configure device encryption.

  • iops (Numeric, nil) (defaults to: nil)

    Use to configure device IOPS.

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

    The Amazon Resource Name (ARN) that uniquely identifies the KMS key to use when encrypting the device.

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

    The snapshot that defines the device contents.

  • throughput (Numeric, nil) (defaults to: nil)

    For GP3 volumes only – The throughput in MiB/s that the volume supports.

  • volume_size (Numeric, nil) (defaults to: nil)

    Overrides the volume size of the device.

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

    Overrides the volume type of the device.



838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
# File 'image_builder/cfn_image_recipe.rb', line 838

def initialize(delete_on_termination: nil, encrypted: nil, iops: nil, kms_key_id: nil, snapshot_id: nil, throughput: nil, volume_size: nil, volume_type: nil)
  @delete_on_termination = delete_on_termination
  Jsii::Type.check_type(@delete_on_termination, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "deleteOnTermination") unless @delete_on_termination.nil?
  @encrypted = encrypted
  Jsii::Type.check_type(@encrypted, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "encrypted") unless @encrypted.nil?
  @iops = iops
  Jsii::Type.check_type(@iops, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "iops") unless @iops.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?
  @snapshot_id = snapshot_id
  Jsii::Type.check_type(@snapshot_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotId") unless @snapshot_id.nil?
  @throughput = throughput
  Jsii::Type.check_type(@throughput, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "throughput") unless @throughput.nil?
  @volume_size = volume_size
  Jsii::Type.check_type(@volume_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "volumeSize") unless @volume_size.nil?
  @volume_type = volume_type
  Jsii::Type.check_type(@volume_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "volumeType") unless @volume_type.nil?
end

Instance Attribute Details

#delete_on_terminationBoolean, ... (readonly)

Configures delete on termination of the associated device.



861
862
863
# File 'image_builder/cfn_image_recipe.rb', line 861

def delete_on_termination
  @delete_on_termination
end

#encryptedBoolean, ... (readonly)

Use to configure device encryption.



866
867
868
# File 'image_builder/cfn_image_recipe.rb', line 866

def encrypted
  @encrypted
end

#iopsNumeric? (readonly)

Use to configure device IOPS.



871
872
873
# File 'image_builder/cfn_image_recipe.rb', line 871

def iops
  @iops
end

#kms_key_idString? (readonly)

The Amazon Resource Name (ARN) that uniquely identifies the KMS key to use when encrypting the device.

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 .



878
879
880
# File 'image_builder/cfn_image_recipe.rb', line 878

def kms_key_id
  @kms_key_id
end

#snapshot_idString? (readonly)

The snapshot that defines the device contents.



883
884
885
# File 'image_builder/cfn_image_recipe.rb', line 883

def snapshot_id
  @snapshot_id
end

#throughputNumeric? (readonly)

For GP3 volumes only – The throughput in MiB/s that the volume supports.



888
889
890
# File 'image_builder/cfn_image_recipe.rb', line 888

def throughput
  @throughput
end

#volume_sizeNumeric? (readonly)

Overrides the volume size of the device.



893
894
895
# File 'image_builder/cfn_image_recipe.rb', line 893

def volume_size
  @volume_size
end

#volume_typeString? (readonly)

Overrides the volume type of the device.



898
899
900
# File 'image_builder/cfn_image_recipe.rb', line 898

def volume_type
  @volume_type
end

Class Method Details

.jsii_propertiesObject



900
901
902
903
904
905
906
907
908
909
910
911
# File 'image_builder/cfn_image_recipe.rb', line 900

def self.jsii_properties
  {
    :delete_on_termination => "deleteOnTermination",
    :encrypted => "encrypted",
    :iops => "iops",
    :kms_key_id => "kmsKeyId",
    :snapshot_id => "snapshotId",
    :throughput => "throughput",
    :volume_size => "volumeSize",
    :volume_type => "volumeType",
  }
end

Instance Method Details

#to_jsiiObject



913
914
915
916
917
918
919
920
921
922
923
924
925
926
# File 'image_builder/cfn_image_recipe.rb', line 913

def to_jsii
  result = {}
  result.merge!({
    "deleteOnTermination" => @delete_on_termination,
    "encrypted" => @encrypted,
    "iops" => @iops,
    "kmsKeyId" => @kms_key_id,
    "snapshotId" => @snapshot_id,
    "throughput" => @throughput,
    "volumeSize" => @volume_size,
    "volumeType" => @volume_type,
  })
  result.compact
end