Class: AWSCDK::EMR::CfnCluster::OnDemandResizingSpecificationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
emr/cfn_cluster.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:



2503
2504
2505
2506
2507
2508
2509
2510
# File 'emr/cfn_cluster.rb', line 2503

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::CfnCluster::OnDemandCapacityReservationOptionsProperty.new(**capacity_reservation_options.transform_keys(&:to_sym)) : capacity_reservation_options
  Jsii::Type.check_type(@capacity_reservation_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuQ2x1c3Rlci5PbkRlbWFuZENhcGFjaXR5UmVzZXJ2YXRpb25PcHRpb25zUHJvcGVydHkifV19fQ==")), "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 .



2518
2519
2520
# File 'emr/cfn_cluster.rb', line 2518

def allocation_strategy
  @allocation_strategy
end

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



2521
2522
2523
# File 'emr/cfn_cluster.rb', line 2521

def capacity_reservation_options
  @capacity_reservation_options
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.



2528
2529
2530
# File 'emr/cfn_cluster.rb', line 2528

def timeout_duration_minutes
  @timeout_duration_minutes
end

Class Method Details

.jsii_propertiesObject



2530
2531
2532
2533
2534
2535
2536
# File 'emr/cfn_cluster.rb', line 2530

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

Instance Method Details

#to_jsiiObject



2538
2539
2540
2541
2542
2543
2544
2545
2546
# File 'emr/cfn_cluster.rb', line 2538

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