Class: AWSCDK::EMR::CfnCluster::EbsBlockDeviceConfigProperty

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

Overview

EbsBlockDeviceConfig is a subproperty of the EbsConfiguration property type.

EbsBlockDeviceConfig defines the number and type of EBS volumes to associate with all EC2 instances in an EMR cluster.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(volume_specification:, volumes_per_instance: nil) ⇒ EbsBlockDeviceConfigProperty

Returns a new instance of EbsBlockDeviceConfigProperty.

Parameters:

  • volume_specification (AWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::VolumeSpecificationProperty)

    EBS volume specifications such as volume type, IOPS, size (GiB) and throughput (MiB/s) that are requested for the EBS volume attached to an Amazon EC2 instance in the cluster.

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

    Number of EBS volumes with a specific volume configuration that are associated with every instance in the instance group.



1348
1349
1350
1351
1352
1353
# File 'emr/cfn_cluster.rb', line 1348

def initialize(volume_specification:, volumes_per_instance: nil)
  @volume_specification = volume_specification.is_a?(Hash) ? ::AWSCDK::EMR::CfnCluster::VolumeSpecificationProperty.new(**volume_specification.transform_keys(&:to_sym)) : volume_specification
  Jsii::Type.check_type(@volume_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuQ2x1c3Rlci5Wb2x1bWVTcGVjaWZpY2F0aW9uUHJvcGVydHkifV19fQ==")), "volumeSpecification")
  @volumes_per_instance = volumes_per_instance
  Jsii::Type.check_type(@volumes_per_instance, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "volumesPerInstance") unless @volumes_per_instance.nil?
end

Instance Attribute Details

#volume_specificationAWSCDK::IResolvable, AWSCDK::EMR::CfnCluster::VolumeSpecificationProperty (readonly)

EBS volume specifications such as volume type, IOPS, size (GiB) and throughput (MiB/s) that are requested for the EBS volume attached to an Amazon EC2 instance in the cluster.



1359
1360
1361
# File 'emr/cfn_cluster.rb', line 1359

def volume_specification
  @volume_specification
end

#volumes_per_instanceNumeric? (readonly)

Number of EBS volumes with a specific volume configuration that are associated with every instance in the instance group.



1364
1365
1366
# File 'emr/cfn_cluster.rb', line 1364

def volumes_per_instance
  @volumes_per_instance
end

Class Method Details

.jsii_propertiesObject



1366
1367
1368
1369
1370
1371
# File 'emr/cfn_cluster.rb', line 1366

def self.jsii_properties
  {
    :volume_specification => "volumeSpecification",
    :volumes_per_instance => "volumesPerInstance",
  }
end

Instance Method Details

#to_jsiiObject



1373
1374
1375
1376
1377
1378
1379
1380
# File 'emr/cfn_cluster.rb', line 1373

def to_jsii
  result = {}
  result.merge!({
    "volumeSpecification" => @volume_specification,
    "volumesPerInstance" => @volumes_per_instance,
  })
  result.compact
end