Class: AWSCDK::OpsWorks::CfnInstance::EbsBlockDeviceProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ops_works/cfn_instance.rb

Overview

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(delete_on_termination: nil, iops: nil, snapshot_id: nil, volume_size: nil, volume_type: nil) ⇒ EbsBlockDeviceProperty

Returns a new instance of EbsBlockDeviceProperty.

Parameters:

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

    Whether the volume is deleted on instance termination.

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

    The number of I/O operations per second (IOPS) that the volume supports.

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

    The snapshot ID.

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

    The volume size, in GiB.

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

    The volume type.



874
875
876
877
878
879
880
881
882
883
884
885
# File 'ops_works/cfn_instance.rb', line 874

def initialize(delete_on_termination: nil, iops: nil, snapshot_id: 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?
  @iops = iops
  Jsii::Type.check_type(@iops, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "iops") unless @iops.nil?
  @snapshot_id = snapshot_id
  Jsii::Type.check_type(@snapshot_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotId") unless @snapshot_id.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)

Whether the volume is deleted on instance termination.



891
892
893
# File 'ops_works/cfn_instance.rb', line 891

def delete_on_termination
  @delete_on_termination
end

#iopsNumeric? (readonly)

The number of I/O operations per second (IOPS) that the volume supports.

For more information, see EbsBlockDevice .



898
899
900
# File 'ops_works/cfn_instance.rb', line 898

def iops
  @iops
end

#snapshot_idString? (readonly)

The snapshot ID.



903
904
905
# File 'ops_works/cfn_instance.rb', line 903

def snapshot_id
  @snapshot_id
end

#volume_sizeNumeric? (readonly)

The volume size, in GiB.

For more information, see EbsBlockDevice .



910
911
912
# File 'ops_works/cfn_instance.rb', line 910

def volume_size
  @volume_size
end

#volume_typeString? (readonly)

The volume type.

gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, st1 for Throughput Optimized hard disk drives (HDD), sc1 for Cold HDD,and standard for Magnetic volumes.

If you specify the io1 volume type, you must also specify a value for the Iops attribute. The maximum ratio of provisioned IOPS to requested volume size (in GiB) is 50:1. AWS uses the default volume size (in GiB) specified in the AMI attributes to set IOPS to 50 x (volume size).



919
920
921
# File 'ops_works/cfn_instance.rb', line 919

def volume_type
  @volume_type
end

Class Method Details

.jsii_propertiesObject



921
922
923
924
925
926
927
928
929
# File 'ops_works/cfn_instance.rb', line 921

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

Instance Method Details

#to_jsiiObject



931
932
933
934
935
936
937
938
939
940
941
# File 'ops_works/cfn_instance.rb', line 931

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