@Generated(value="software.amazon.awssdk:codegen") public final class InstanceFleetConfig extends Object implements StructuredPojo, ToCopyableBuilder<InstanceFleetConfig.Builder,InstanceFleetConfig>
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.
Modifier and Type | Class and Description |
---|---|
static interface |
InstanceFleetConfig.Builder |
Modifier and Type | Method and Description |
---|---|
static InstanceFleetConfig.Builder |
builder() |
boolean |
equals(Object obj) |
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
int |
hashCode() |
InstanceFleetType |
instanceFleetType()
The node type that the instance fleet hosts.
|
String |
instanceFleetTypeAsString()
The node type that the instance fleet hosts.
|
List<InstanceTypeConfig> |
instanceTypeConfigs()
The instance type configurations that define the EC2 instances in the instance fleet.
|
InstanceFleetProvisioningSpecifications |
launchSpecifications()
The launch specification for the instance fleet.
|
void |
marshall(ProtocolMarshaller protocolMarshaller)
Marshalls this structured data using the given
ProtocolMarshaller . |
String |
name()
The friendly name of the instance fleet.
|
static Class<? extends InstanceFleetConfig.Builder> |
serializableBuilderClass() |
Integer |
targetOnDemandCapacity()
The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to
provision.
|
Integer |
targetSpotCapacity()
The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
|
InstanceFleetConfig.Builder |
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.
|
String |
toString() |
copy
public String name()
The friendly name of the instance fleet.
public InstanceFleetType instanceFleetType()
The node type that the instance fleet hosts. Valid values are MASTER,CORE,and TASK.
If the service returns an enum value that is not available in the current SDK version, instanceFleetType
will return InstanceFleetType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available
from instanceFleetTypeAsString()
.
InstanceFleetType
public String instanceFleetTypeAsString()
The node type that the instance fleet hosts. Valid values are MASTER,CORE,and TASK.
If the service returns an enum value that is not available in the current SDK version, instanceFleetType
will return InstanceFleetType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available
from instanceFleetTypeAsString()
.
InstanceFleetType
public Integer targetOnDemandCapacity()
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.
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.
public Integer targetSpotCapacity()
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.
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.
public List<InstanceTypeConfig> instanceTypeConfigs()
The instance type configurations that define the EC2 instances in the instance fleet.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public InstanceFleetProvisioningSpecifications launchSpecifications()
The launch specification for the instance fleet.
public InstanceFleetConfig.Builder toBuilder()
ToCopyableBuilder
toBuilder
in interface ToCopyableBuilder<InstanceFleetConfig.Builder,InstanceFleetConfig>
public static InstanceFleetConfig.Builder builder()
public static Class<? extends InstanceFleetConfig.Builder> serializableBuilderClass()
public void marshall(ProtocolMarshaller protocolMarshaller)
StructuredPojo
ProtocolMarshaller
.marshall
in interface StructuredPojo
protocolMarshaller
- Implementation of ProtocolMarshaller
used to marshall this object's data.Copyright © 2017 Amazon Web Services, Inc. All Rights Reserved.