Class: AWSCDK::EMR::CfnInstanceFleetConfig::OnDemandResizingSpecificationProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::EMR::CfnInstanceFleetConfig::OnDemandResizingSpecificationProperty
- 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
-
#allocation_strategy ⇒ String?
readonly
Specifies the allocation strategy to use to launch On-Demand instances during a resize.
- #capacity_reservation_options ⇒ AWSCDK::IResolvable, ... readonly
-
#timeout_duration_minutes ⇒ Numeric?
readonly
On-Demand resize timeout in minutes.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(allocation_strategy: nil, capacity_reservation_options: nil, timeout_duration_minutes: nil) ⇒ OnDemandResizingSpecificationProperty
constructor
A new instance of OnDemandResizingSpecificationProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(allocation_strategy: nil, capacity_reservation_options: nil, timeout_duration_minutes: nil) ⇒ OnDemandResizingSpecificationProperty
Returns a new instance of OnDemandResizingSpecificationProperty.
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 = .is_a?(Hash) ? ::AWSCDK::EMR::CfnInstanceFleetConfig::OnDemandCapacityReservationOptionsProperty.new(**.transform_keys(&:to_sym)) : 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_strategy ⇒ String? (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 |
#capacity_reservation_options ⇒ AWSCDK::IResolvable, ... (readonly)
1076 1077 1078 |
# File 'emr/cfn_instance_fleet_config.rb', line 1076 def @capacity_reservation_options end |
#timeout_duration_minutes ⇒ Numeric? (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_properties ⇒ Object
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_jsii ⇒ Object
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 |