You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::EMR::Types::InstanceFleetConfig

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing InstanceFleetConfig as input to an Aws::Client method, you can use a vanilla Hash:

{
  name: "XmlStringMaxLen256",
  instance_fleet_type: "MASTER", # required, accepts MASTER, CORE, TASK
  target_on_demand_capacity: 1,
  target_spot_capacity: 1,
  instance_type_configs: [
    {
      instance_type: "InstanceType", # required
      weighted_capacity: 1,
      bid_price: "XmlStringMaxLen256",
      bid_price_as_percentage_of_on_demand_price: 1.0,
      ebs_configuration: {
        ebs_block_device_configs: [
          {
            volume_specification: { # required
              volume_type: "String", # required
              iops: 1,
              size_in_gb: 1, # required
            },
            volumes_per_instance: 1,
          },
        ],
        ebs_optimized: false,
      },
      configurations: [
        {
          classification: "String",
          configurations: {
            # recursive ConfigurationList
          },
          properties: {
            "String" => "String",
          },
        },
      ],
    },
  ],
  launch_specifications: {
    spot_specification: {
      timeout_duration_minutes: 1, # required
      timeout_action: "SWITCH_TO_ON_DEMAND", # required, accepts SWITCH_TO_ON_DEMAND, TERMINATE_CLUSTER
      block_duration_minutes: 1,
      allocation_strategy: "capacity-optimized", # accepts capacity-optimized
    },
    on_demand_specification: {
      allocation_strategy: "lowest-price", # required, accepts lowest-price
    },
  },
}

The configuration that defines an instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#instance_fleet_typeString

The node type that the instance fleet hosts. Valid values are MASTER,CORE,and TASK.

Possible values:

  • MASTER
  • CORE
  • TASK

Returns:

  • (String)

    The node type that the instance fleet hosts.

#instance_type_configsArray<Types::InstanceTypeConfig>

The instance type configurations that define the EC2 instances in the instance fleet.

Returns:

  • (Array<Types::InstanceTypeConfig>)

    The instance type configurations that define the EC2 instances in the instance fleet.

#launch_specificationsTypes::InstanceFleetProvisioningSpecifications

The launch specification for the instance fleet.

Returns:

#nameString

The friendly name of the instance fleet.

Returns:

  • (String)

    The friendly name of the instance fleet.

#target_on_demand_capacityInteger

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

Returns:

  • (Integer)

    The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

#target_spot_capacityInteger

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

Returns:

  • (Integer)

    The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.