Class: AWSCDK::ImageBuilder::CfnContainerRecipe::EbsInstanceBlockDeviceSpecificationProperty

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

Overview

Amazon EBS-specific block device mapping specifications.

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)

    Use to configure 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)

    Use to override the device's volume size.

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

    Use to override the device's volume type.



847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
# File 'image_builder/cfn_container_recipe.rb', line 847

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)

Use to configure delete on termination of the associated device.



870
871
872
# File 'image_builder/cfn_container_recipe.rb', line 870

def delete_on_termination
  @delete_on_termination
end

#encryptedBoolean, ... (readonly)

Use to configure device encryption.



875
876
877
# File 'image_builder/cfn_container_recipe.rb', line 875

def encrypted
  @encrypted
end

#iopsNumeric? (readonly)

Use to configure device IOPS.



880
881
882
# File 'image_builder/cfn_container_recipe.rb', line 880

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 .



887
888
889
# File 'image_builder/cfn_container_recipe.rb', line 887

def kms_key_id
  @kms_key_id
end

#snapshot_idString? (readonly)

The snapshot that defines the device contents.



892
893
894
# File 'image_builder/cfn_container_recipe.rb', line 892

def snapshot_id
  @snapshot_id
end

#throughputNumeric? (readonly)

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



897
898
899
# File 'image_builder/cfn_container_recipe.rb', line 897

def throughput
  @throughput
end

#volume_sizeNumeric? (readonly)

Use to override the device's volume size.



902
903
904
# File 'image_builder/cfn_container_recipe.rb', line 902

def volume_size
  @volume_size
end

#volume_typeString? (readonly)

Use to override the device's volume type.



907
908
909
# File 'image_builder/cfn_container_recipe.rb', line 907

def volume_type
  @volume_type
end

Class Method Details

.jsii_propertiesObject



909
910
911
912
913
914
915
916
917
918
919
920
# File 'image_builder/cfn_container_recipe.rb', line 909

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



922
923
924
925
926
927
928
929
930
931
932
933
934
935
# File 'image_builder/cfn_container_recipe.rb', line 922

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