Class: AWSCDK::EMR::CfnInstanceGroupConfig::EbsBlockDeviceConfigProperty

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

Overview

Configuration of requested EBS block device associated with the instance group with count of volumes that are associated to every instance.

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::CfnInstanceGroupConfig::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.



866
867
868
869
870
871
# File 'emr/cfn_instance_group_config.rb', line 866

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



877
878
879
# File 'emr/cfn_instance_group_config.rb', line 877

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.



882
883
884
# File 'emr/cfn_instance_group_config.rb', line 882

def volumes_per_instance
  @volumes_per_instance
end

Class Method Details

.jsii_propertiesObject



884
885
886
887
888
889
# File 'emr/cfn_instance_group_config.rb', line 884

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

Instance Method Details

#to_jsiiObject



891
892
893
894
895
896
897
898
# File 'emr/cfn_instance_group_config.rb', line 891

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