Class: AWSCDK::EMR::CfnInstanceFleetConfig::VolumeSpecificationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
emr/cfn_instance_fleet_config.rb

Overview

VolumeSpecification is a subproperty of the EbsBlockDeviceConfig property type.

VolumeSecification determines the volume type, IOPS, and size (GiB) for EBS volumes attached to EC2 instances.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(size_in_gb:, volume_type:, iops: nil, throughput: nil) ⇒ VolumeSpecificationProperty

Returns a new instance of VolumeSpecificationProperty.

Parameters:

  • size_in_gb (Numeric)

    The volume size, in gibibytes (GiB).

  • volume_type (String)

    The volume type.

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

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

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

    The throughput, in mebibyte per second (MiB/s).



1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
# File 'emr/cfn_instance_fleet_config.rb', line 1242

def initialize(size_in_gb:, volume_type:, iops: nil, throughput: nil)
  @size_in_gb = size_in_gb
  Jsii::Type.check_type(@size_in_gb, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "sizeInGb")
  @volume_type = volume_type
  Jsii::Type.check_type(@volume_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "volumeType")
  @iops = iops
  Jsii::Type.check_type(@iops, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "iops") unless @iops.nil?
  @throughput = throughput
  Jsii::Type.check_type(@throughput, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "throughput") unless @throughput.nil?
end

Instance Attribute Details

#iopsNumeric? (readonly)

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



1271
1272
1273
# File 'emr/cfn_instance_fleet_config.rb', line 1271

def iops
  @iops
end

#size_in_gbNumeric (readonly)

The volume size, in gibibytes (GiB).

This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.



1259
1260
1261
# File 'emr/cfn_instance_fleet_config.rb', line 1259

def size_in_gb
  @size_in_gb
end

#throughputNumeric? (readonly)

The throughput, in mebibyte per second (MiB/s).

This optional parameter can be a number from 125 - 1000 and is valid only for gp3 volumes.



1278
1279
1280
# File 'emr/cfn_instance_fleet_config.rb', line 1278

def throughput
  @throughput
end

#volume_typeString (readonly)

The volume type.

Volume types supported are gp3, gp2, io1, st1, sc1, and standard.



1266
1267
1268
# File 'emr/cfn_instance_fleet_config.rb', line 1266

def volume_type
  @volume_type
end

Class Method Details

.jsii_propertiesObject



1280
1281
1282
1283
1284
1285
1286
1287
# File 'emr/cfn_instance_fleet_config.rb', line 1280

def self.jsii_properties
  {
    :size_in_gb => "sizeInGb",
    :volume_type => "volumeType",
    :iops => "iops",
    :throughput => "throughput",
  }
end

Instance Method Details

#to_jsiiObject



1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
# File 'emr/cfn_instance_fleet_config.rb', line 1289

def to_jsii
  result = {}
  result.merge!({
    "sizeInGb" => @size_in_gb,
    "volumeType" => @volume_type,
    "iops" => @iops,
    "throughput" => @throughput,
  })
  result.compact
end