Class: AWSCDK::EMR::CfnInstanceFleetConfig::OnDemandResizingSpecificationProperty

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

Overview

The resize specification for On-Demand Instances in the instance fleet, which contains the resize timeout period.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(allocation_strategy: nil, capacity_reservation_options: nil, timeout_duration_minutes: nil) ⇒ OnDemandResizingSpecificationProperty

Returns a new instance of OnDemandResizingSpecificationProperty.

Parameters:



1058
1059
1060
1061
1062
1063
1064
1065
# File 'emr/cfn_instance_fleet_config.rb', line 1058

def initialize(allocation_strategy: nil, capacity_reservation_options: nil, timeout_duration_minutes: nil)
  @allocation_strategy = allocation_strategy
  Jsii::Type.check_type(@allocation_strategy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "allocationStrategy") unless @allocation_strategy.nil?
  @capacity_reservation_options = capacity_reservation_options.is_a?(Hash) ? ::AWSCDK::EMR::CfnInstanceFleetConfig::OnDemandCapacityReservationOptionsProperty.new(**capacity_reservation_options.transform_keys(&:to_sym)) : capacity_reservation_options
  Jsii::Type.check_type(@capacity_reservation_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuSW5zdGFuY2VGbGVldENvbmZpZy5PbkRlbWFuZENhcGFjaXR5UmVzZXJ2YXRpb25PcHRpb25zUHJvcGVydHkifV19fQ==")), "capacityReservationOptions") unless @capacity_reservation_options.nil?
  @timeout_duration_minutes = timeout_duration_minutes
  Jsii::Type.check_type(@timeout_duration_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "timeoutDurationMinutes") unless @timeout_duration_minutes.nil?
end

Instance Attribute Details

#allocation_strategyString? (readonly)

Specifies the allocation strategy to use to launch On-Demand instances during a resize.

The default is lowest-price .



1073
1074
1075
# File 'emr/cfn_instance_fleet_config.rb', line 1073

def allocation_strategy
  @allocation_strategy
end

#timeout_duration_minutesNumeric? (readonly)

On-Demand resize timeout in minutes.

If On-Demand Instances are not provisioned within this time, the resize workflow stops. The minimum value is 5 minutes, and the maximum value is 10,080 minutes (7 days). The timeout applies to all resize workflows on the Instance Fleet. The resize could be triggered by Amazon EMR Managed Scaling or by the customer (via Amazon EMR Console, Amazon EMR CLI modify-instance-fleet or Amazon EMR SDK ModifyInstanceFleet API) or by Amazon EMR due to Amazon EC2 Spot Reclamation.



1083
1084
1085
# File 'emr/cfn_instance_fleet_config.rb', line 1083

def timeout_duration_minutes
  @timeout_duration_minutes
end

Class Method Details

.jsii_propertiesObject



1085
1086
1087
1088
1089
1090
1091
# File 'emr/cfn_instance_fleet_config.rb', line 1085

def self.jsii_properties
  {
    :allocation_strategy => "allocationStrategy",
    :capacity_reservation_options => "capacityReservationOptions",
    :timeout_duration_minutes => "timeoutDurationMinutes",
  }
end

Instance Method Details

#to_jsiiObject



1093
1094
1095
1096
1097
1098
1099
1100
1101
# File 'emr/cfn_instance_fleet_config.rb', line 1093

def to_jsii
  result = {}
  result.merge!({
    "allocationStrategy" => @allocation_strategy,
    "capacityReservationOptions" => @capacity_reservation_options,
    "timeoutDurationMinutes" => @timeout_duration_minutes,
  })
  result.compact
end