Class: AWSCDK::StepFunctionsTasks::EMRCreateCluster::SpotProvisioningSpecificationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
step_functions_tasks/emr_create_cluster.rb

Overview

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(timeout_action:, allocation_strategy: nil, block_duration_minutes: nil, timeout: nil, timeout_duration_minutes: nil) ⇒ SpotProvisioningSpecificationProperty

Returns a new instance of SpotProvisioningSpecificationProperty.

Parameters:

  • timeout_action (AWSCDK::StepFunctionsTasks::EMRCreateCluster::SpotTimeoutAction)

    The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired.

  • allocation_strategy (AWSCDK::StepFunctionsTasks::EMRCreateCluster::SpotAllocationStrategy, nil) (defaults to: nil)

    Specifies the strategy to use in launching Spot Instance fleets.

  • block_duration_minutes (Numeric, nil) (defaults to: nil)

    The defined duration for Spot instances (also known as Spot blocks) in minutes.

  • timeout (AWSCDK::Duration, nil) (defaults to: nil)

    The spot provisioning timeout period in minutes.

  • timeout_duration_minutes (Numeric, nil) (defaults to: nil)

    The spot provisioning timeout period in minutes.



2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
# File 'step_functions_tasks/emr_create_cluster.rb', line 2621

def initialize(timeout_action:, allocation_strategy: nil, block_duration_minutes: nil, timeout: nil, timeout_duration_minutes: nil)
  @timeout_action = timeout_action
  Jsii::Type.check_type(@timeout_action, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5FbXJDcmVhdGVDbHVzdGVyLlNwb3RUaW1lb3V0QWN0aW9uIn0=")), "timeoutAction")
  @allocation_strategy = allocation_strategy
  Jsii::Type.check_type(@allocation_strategy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5FbXJDcmVhdGVDbHVzdGVyLlNwb3RBbGxvY2F0aW9uU3RyYXRlZ3kifQ==")), "allocationStrategy") unless @allocation_strategy.nil?
  @block_duration_minutes = block_duration_minutes
  Jsii::Type.check_type(@block_duration_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "blockDurationMinutes") unless @block_duration_minutes.nil?
  @timeout = timeout
  Jsii::Type.check_type(@timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "timeout") unless @timeout.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_strategyAWSCDK::StepFunctionsTasks::EMRCreateCluster::SpotAllocationStrategy? (readonly)

Note:

Default: - No allocation strategy, i.e. spot instance type will be chosen based on current price only

Specifies the strategy to use in launching Spot Instance fleets.



2642
2643
2644
# File 'step_functions_tasks/emr_create_cluster.rb', line 2642

def allocation_strategy
  @allocation_strategy
end

#block_duration_minutesNumeric? (readonly)

Deprecated.
  • Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.
Note:

Default: - No blockDurationMinutes

The defined duration for Spot instances (also known as Spot blocks) in minutes.

Returns:

  • (Numeric, nil)


2648
2649
2650
# File 'step_functions_tasks/emr_create_cluster.rb', line 2648

def block_duration_minutes
  @block_duration_minutes
end

#timeoutAWSCDK::Duration? (readonly)

Note:

Default: - The value in timeoutDurationMinutes is used

The spot provisioning timeout period in minutes.

The value must be between 5 and 1440 minutes.

You must specify one of timeout and timeout_duration_minutes.

Returns:



2657
2658
2659
# File 'step_functions_tasks/emr_create_cluster.rb', line 2657

def timeout
  @timeout
end

#timeout_actionAWSCDK::StepFunctionsTasks::EMRCreateCluster::SpotTimeoutAction (readonly)

The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired.



2637
2638
2639
# File 'step_functions_tasks/emr_create_cluster.rb', line 2637

def timeout_action
  @timeout_action
end

#timeout_duration_minutesNumeric? (readonly)

Deprecated.
  • Use timeout.
Note:

Default: - The value in timeout is used

The spot provisioning timeout period in minutes.

The value must be between 5 and 1440 minutes.

You must specify one of timeout and timeout_duration_minutes.

Returns:

  • (Numeric, nil)


2667
2668
2669
# File 'step_functions_tasks/emr_create_cluster.rb', line 2667

def timeout_duration_minutes
  @timeout_duration_minutes
end

Class Method Details

.jsii_propertiesObject



2669
2670
2671
2672
2673
2674
2675
2676
2677
# File 'step_functions_tasks/emr_create_cluster.rb', line 2669

def self.jsii_properties
  {
    :timeout_action => "timeoutAction",
    :allocation_strategy => "allocationStrategy",
    :block_duration_minutes => "blockDurationMinutes",
    :timeout => "timeout",
    :timeout_duration_minutes => "timeoutDurationMinutes",
  }
end

Instance Method Details

#to_jsiiObject



2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
# File 'step_functions_tasks/emr_create_cluster.rb', line 2679

def to_jsii
  result = {}
  result.merge!({
    "timeoutAction" => @timeout_action,
    "allocationStrategy" => @allocation_strategy,
    "blockDurationMinutes" => @block_duration_minutes,
    "timeout" => @timeout,
    "timeoutDurationMinutes" => @timeout_duration_minutes,
  })
  result.compact
end