Interface EmrCreateCluster.SpotProvisioningSpecificationProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
EmrCreateCluster.SpotProvisioningSpecificationProperty.Jsii$Proxy
Enclosing class:
EmrCreateCluster

@Stability(Stable) public static interface EmrCreateCluster.SpotProvisioningSpecificationProperty extends software.amazon.jsii.JsiiSerializable
The launch specification for Spot instances in the instance fleet, which determines the defined duration and provisioning timeout behavior.

Example:

 EmrCreateCluster.Builder.create(this, "OnDemandSpecification")
         .instances(InstancesConfigProperty.builder()
                 .instanceFleets(List.of(InstanceFleetConfigProperty.builder()
                         .instanceFleetType(EmrCreateCluster.getInstanceRoleType().MASTER)
                         .launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
                                 .onDemandSpecification(OnDemandProvisioningSpecificationProperty.builder()
                                         .allocationStrategy(EmrCreateCluster.getOnDemandAllocationStrategy().LOWEST_PRICE)
                                         .build())
                                 .build())
                         .build()))
                 .build())
         .name("OnDemandCluster")
         .integrationPattern(IntegrationPattern.RUN_JOB)
         .build();
 EmrCreateCluster.Builder.create(this, "SpotSpecification")
         .instances(InstancesConfigProperty.builder()
                 .instanceFleets(List.of(InstanceFleetConfigProperty.builder()
                         .instanceFleetType(EmrCreateCluster.getInstanceRoleType().MASTER)
                         .launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
                                 .spotSpecification(SpotProvisioningSpecificationProperty.builder()
                                         .allocationStrategy(EmrCreateCluster.getSpotAllocationStrategy().CAPACITY_OPTIMIZED)
                                         .timeoutAction(EmrCreateCluster.getSpotTimeoutAction().TERMINATE_CLUSTER)
                                         .timeout(Duration.minutes(5))
                                         .build())
                                 .build())
                         .build()))
                 .build())
         .name("SpotCluster")
         .integrationPattern(IntegrationPattern.RUN_JOB)
         .build();
 

See Also:
  • Method Details

    • getTimeoutAction

      @Stability(Stable) @NotNull EmrCreateCluster.SpotTimeoutAction getTimeoutAction()
      The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired.
    • getAllocationStrategy

      @Stability(Stable) @Nullable default EmrCreateCluster.SpotAllocationStrategy getAllocationStrategy()
      Specifies the strategy to use in launching Spot Instance fleets.

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

    • getBlockDurationMinutes

      @Stability(Deprecated) @Deprecated @Nullable default Number getBlockDurationMinutes()
      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.
      (deprecated) The defined duration for Spot instances (also known as Spot blocks) in minutes.

      Default: - No blockDurationMinutes

    • getTimeout

      @Stability(Stable) @Nullable default Duration getTimeout()
      The spot provisioning timeout period in minutes.

      The value must be between 5 and 1440 minutes.

      You must specify one of timeout and timeoutDurationMinutes.

      Default: - The value in `timeoutDurationMinutes` is used

    • getTimeoutDurationMinutes

      @Stability(Deprecated) @Deprecated @Nullable default Number getTimeoutDurationMinutes()
      Deprecated.
      • Use timeout.
      (deprecated) The spot provisioning timeout period in minutes.

      The value must be between 5 and 1440 minutes.

      You must specify one of timeout and timeoutDurationMinutes.

      Default: - The value in `timeout` is used

    • builder

      Returns:
      a EmrCreateCluster.SpotProvisioningSpecificationProperty.Builder of EmrCreateCluster.SpotProvisioningSpecificationProperty