Class: AWSCDK::EMR::CfnInstanceFleetConfig::EbsBlockDeviceConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
emr/cfn_instance_fleet_config.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::CfnInstanceFleetConfig::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.



655
656
657
658
659
660
# File 'emr/cfn_instance_fleet_config.rb', line 655

def initialize(volume_specification:, volumes_per_instance: nil)
  @volume_specification = volume_specification.is_a?(Hash) ? ::AWSCDK::EMR::CfnInstanceFleetConfig::VolumeSpecificationProperty.new(**volume_specification.transform_keys(&:to_sym)) : volume_specification
  Jsii::Type.check_type(@volume_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuSW5zdGFuY2VGbGVldENvbmZpZy5Wb2x1bWVTcGVjaWZpY2F0aW9uUHJvcGVydHkifV19fQ==")), "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::CfnInstanceFleetConfig::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.



666
667
668
# File 'emr/cfn_instance_fleet_config.rb', line 666

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.



671
672
673
# File 'emr/cfn_instance_fleet_config.rb', line 671

def volumes_per_instance
  @volumes_per_instance
end

Class Method Details

.jsii_propertiesObject



673
674
675
676
677
678
# File 'emr/cfn_instance_fleet_config.rb', line 673

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

Instance Method Details

#to_jsiiObject



680
681
682
683
684
685
686
687
# File 'emr/cfn_instance_fleet_config.rb', line 680

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