Class: AWSCDK::EMR::CfnInstanceFleetConfig::InstanceFleetProvisioningSpecificationsProperty

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

Overview

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

InstanceTypeConfig is a sub-property of InstanceFleetConfig . InstanceTypeConfig determines the EC2 instances that Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(on_demand_specification: nil, spot_specification: nil) ⇒ InstanceFleetProvisioningSpecificationsProperty

Returns a new instance of InstanceFleetProvisioningSpecificationsProperty.

Parameters:



745
746
747
748
749
750
# File 'emr/cfn_instance_fleet_config.rb', line 745

def initialize(on_demand_specification: nil, spot_specification: nil)
  @on_demand_specification = on_demand_specification.is_a?(Hash) ? ::AWSCDK::EMR::CfnInstanceFleetConfig::OnDemandProvisioningSpecificationProperty.new(**on_demand_specification.transform_keys(&:to_sym)) : on_demand_specification
  Jsii::Type.check_type(@on_demand_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuSW5zdGFuY2VGbGVldENvbmZpZy5PbkRlbWFuZFByb3Zpc2lvbmluZ1NwZWNpZmljYXRpb25Qcm9wZXJ0eSJ9XX19")), "onDemandSpecification") unless @on_demand_specification.nil?
  @spot_specification = spot_specification.is_a?(Hash) ? ::AWSCDK::EMR::CfnInstanceFleetConfig::SpotProvisioningSpecificationProperty.new(**spot_specification.transform_keys(&:to_sym)) : spot_specification
  Jsii::Type.check_type(@spot_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuSW5zdGFuY2VGbGVldENvbmZpZy5TcG90UHJvdmlzaW9uaW5nU3BlY2lmaWNhdGlvblByb3BlcnR5In1dfX0=")), "spotSpecification") unless @spot_specification.nil?
end

Instance Attribute Details

#on_demand_specificationAWSCDK::IResolvable, ... (readonly)

The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy and capacity reservation options.

The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and later.



758
759
760
# File 'emr/cfn_instance_fleet_config.rb', line 758

def on_demand_specification
  @on_demand_specification
end

#spot_specificationAWSCDK::IResolvable, ... (readonly)

The launch specification for Spot instances in the fleet, which determines the allocation strategy, defined duration, and provisioning timeout behavior.



763
764
765
# File 'emr/cfn_instance_fleet_config.rb', line 763

def spot_specification
  @spot_specification
end

Class Method Details

.jsii_propertiesObject



765
766
767
768
769
770
# File 'emr/cfn_instance_fleet_config.rb', line 765

def self.jsii_properties
  {
    :on_demand_specification => "onDemandSpecification",
    :spot_specification => "spotSpecification",
  }
end

Instance Method Details

#to_jsiiObject



772
773
774
775
776
777
778
779
# File 'emr/cfn_instance_fleet_config.rb', line 772

def to_jsii
  result = {}
  result.merge!({
    "onDemandSpecification" => @on_demand_specification,
    "spotSpecification" => @spot_specification,
  })
  result.compact
end