Class: AWSCDK::EMR::CfnCluster::InstanceFleetProvisioningSpecificationsProperty

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

Overview

InstanceFleetProvisioningSpecification is a subproperty of InstanceFleetConfig .

InstanceFleetProvisioningSpecification defines the launch specification for Spot instances in an instance fleet, which determines the defined duration and provisioning timeout behavior for Spot instances.

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

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:



1606
1607
1608
1609
1610
1611
# File 'emr/cfn_cluster.rb', line 1606

def initialize(on_demand_specification: nil, spot_specification: nil)
  @on_demand_specification = on_demand_specification.is_a?(Hash) ? ::AWSCDK::EMR::CfnCluster::OnDemandProvisioningSpecificationProperty.new(**on_demand_specification.transform_keys(&:to_sym)) : on_demand_specification
  Jsii::Type.check_type(@on_demand_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuQ2x1c3Rlci5PbkRlbWFuZFByb3Zpc2lvbmluZ1NwZWNpZmljYXRpb25Qcm9wZXJ0eSJ9XX19")), "onDemandSpecification") unless @on_demand_specification.nil?
  @spot_specification = spot_specification.is_a?(Hash) ? ::AWSCDK::EMR::CfnCluster::SpotProvisioningSpecificationProperty.new(**spot_specification.transform_keys(&:to_sym)) : spot_specification
  Jsii::Type.check_type(@spot_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuQ2x1c3Rlci5TcG90UHJvdmlzaW9uaW5nU3BlY2lmaWNhdGlvblByb3BlcnR5In1dfX0=")), "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.



1619
1620
1621
# File 'emr/cfn_cluster.rb', line 1619

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.



1624
1625
1626
# File 'emr/cfn_cluster.rb', line 1624

def spot_specification
  @spot_specification
end

Class Method Details

.jsii_propertiesObject



1626
1627
1628
1629
1630
1631
# File 'emr/cfn_cluster.rb', line 1626

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

Instance Method Details

#to_jsiiObject



1633
1634
1635
1636
1637
1638
1639
1640
# File 'emr/cfn_cluster.rb', line 1633

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