com.amazonaws.services.elasticmapreduce.model.InstanceFleet Maven / Gradle / Ivy
Show all versions of aws-java-sdk-emr Show documentation
/*
* Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.elasticmapreduce.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Describes an instance fleet, which is a group of EC2 instances that host a particular node type (master, core, or
* task) in an Amazon EMR cluster. Instance fleets can consist of a mix of instance types and On-Demand and Spot
* Instances, which are provisioned to meet a defined target capacity.
*
*
*
* The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.
*
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class InstanceFleet implements Serializable, Cloneable, StructuredPojo {
/**
*
* The unique identifier of the instance fleet.
*
*/
private String id;
/**
*
* A friendly name for the instance fleet.
*
*/
private String name;
/**
*
* The current status of the instance fleet.
*
*/
private InstanceFleetStatus status;
/**
*
* The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
*
*/
private String instanceFleetType;
/**
*
* 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. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity
* units that have been provisioned for the instance fleet.
*
*
*
* 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.
*
*
*/
private Integer targetOnDemandCapacity;
/**
*
* 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. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have
* been provisioned for the instance fleet.
*
*
*
* 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.
*
*
*/
private Integer targetSpotCapacity;
/**
*
* The number of On-Demand units that have been provisioned for the instance fleet to fulfill
* TargetOnDemandCapacity
. This provisioned capacity might be less than or greater than
* TargetOnDemandCapacity
.
*
*/
private Integer provisionedOnDemandCapacity;
/**
*
* The number of Spot units that have been provisioned for this instance fleet to fulfill
* TargetSpotCapacity
. This provisioned capacity might be less than or greater than
* TargetSpotCapacity
.
*
*/
private Integer provisionedSpotCapacity;
/**
*
* An array of specifications for the instance types that comprise an instance fleet.
*
*/
private com.amazonaws.internal.SdkInternalList instanceTypeSpecifications;
/**
*
* Describes the launch specification for an instance fleet.
*
*/
private InstanceFleetProvisioningSpecifications launchSpecifications;
/**
*
* The unique identifier of the instance fleet.
*
*
* @param id
* The unique identifier of the instance fleet.
*/
public void setId(String id) {
this.id = id;
}
/**
*
* The unique identifier of the instance fleet.
*
*
* @return The unique identifier of the instance fleet.
*/
public String getId() {
return this.id;
}
/**
*
* The unique identifier of the instance fleet.
*
*
* @param id
* The unique identifier of the instance fleet.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceFleet withId(String id) {
setId(id);
return this;
}
/**
*
* A friendly name for the instance fleet.
*
*
* @param name
* A friendly name for the instance fleet.
*/
public void setName(String name) {
this.name = name;
}
/**
*
* A friendly name for the instance fleet.
*
*
* @return A friendly name for the instance fleet.
*/
public String getName() {
return this.name;
}
/**
*
* A friendly name for the instance fleet.
*
*
* @param name
* A friendly name for the instance fleet.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceFleet withName(String name) {
setName(name);
return this;
}
/**
*
* The current status of the instance fleet.
*
*
* @param status
* The current status of the instance fleet.
*/
public void setStatus(InstanceFleetStatus status) {
this.status = status;
}
/**
*
* The current status of the instance fleet.
*
*
* @return The current status of the instance fleet.
*/
public InstanceFleetStatus getStatus() {
return this.status;
}
/**
*
* The current status of the instance fleet.
*
*
* @param status
* The current status of the instance fleet.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceFleet withStatus(InstanceFleetStatus status) {
setStatus(status);
return this;
}
/**
*
* The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
*
*
* @param instanceFleetType
* The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
* @see InstanceFleetType
*/
public void setInstanceFleetType(String instanceFleetType) {
this.instanceFleetType = instanceFleetType;
}
/**
*
* The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
*
*
* @return The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
* @see InstanceFleetType
*/
public String getInstanceFleetType() {
return this.instanceFleetType;
}
/**
*
* The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
*
*
* @param instanceFleetType
* The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InstanceFleetType
*/
public InstanceFleet withInstanceFleetType(String instanceFleetType) {
setInstanceFleetType(instanceFleetType);
return this;
}
/**
*
* The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
*
*
* @param instanceFleetType
* The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
* @see InstanceFleetType
*/
public void setInstanceFleetType(InstanceFleetType instanceFleetType) {
withInstanceFleetType(instanceFleetType);
}
/**
*
* The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
*
*
* @param instanceFleetType
* The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.
* @return Returns a reference to this object so that method calls can be chained together.
* @see InstanceFleetType
*/
public InstanceFleet withInstanceFleetType(InstanceFleetType instanceFleetType) {
this.instanceFleetType = instanceFleetType.toString();
return this;
}
/**
*
* 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. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity
* units that have been provisioned for the instance fleet.
*
*
*
* 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.
*
*
*
* @param 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. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity
* units that have been provisioned for the instance fleet.
*
* 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 void setTargetOnDemandCapacity(Integer targetOnDemandCapacity) {
this.targetOnDemandCapacity = 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. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity
* units that have been provisioned for the instance fleet.
*
*
*
* 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.
*
*
*
* @return 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. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot
* capacity units that have been provisioned for the instance fleet.
*
* 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 getTargetOnDemandCapacity() {
return this.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. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity
* units that have been provisioned for the instance fleet.
*
*
*
* 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.
*
*
*
* @param 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. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity
* units that have been provisioned for the instance fleet.
*
* 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.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceFleet withTargetOnDemandCapacity(Integer targetOnDemandCapacity) {
setTargetOnDemandCapacity(targetOnDemandCapacity);
return this;
}
/**
*
* 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. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have
* been provisioned for the instance fleet.
*
*
*
* 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.
*
*
*
* @param 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. You can use InstanceFleet$ProvisionedSpotCapacity to
* determine the Spot capacity units that have been provisioned for the instance fleet.
*
* 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 void setTargetSpotCapacity(Integer targetSpotCapacity) {
this.targetSpotCapacity = 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. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have
* been provisioned for the instance fleet.
*
*
*
* 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.
*
*
*
* @return 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. You can use
* InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have been
* provisioned for the instance fleet.
*
* 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 Integer getTargetSpotCapacity() {
return this.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. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have
* been provisioned for the instance fleet.
*
*
*
* 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.
*
*
*
* @param 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. You can use InstanceFleet$ProvisionedSpotCapacity to
* determine the Spot capacity units that have been provisioned for the instance fleet.
*
* 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.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceFleet withTargetSpotCapacity(Integer targetSpotCapacity) {
setTargetSpotCapacity(targetSpotCapacity);
return this;
}
/**
*
* The number of On-Demand units that have been provisioned for the instance fleet to fulfill
* TargetOnDemandCapacity
. This provisioned capacity might be less than or greater than
* TargetOnDemandCapacity
.
*
*
* @param provisionedOnDemandCapacity
* The number of On-Demand units that have been provisioned for the instance fleet to fulfill
* TargetOnDemandCapacity
. This provisioned capacity might be less than or greater than
* TargetOnDemandCapacity
.
*/
public void setProvisionedOnDemandCapacity(Integer provisionedOnDemandCapacity) {
this.provisionedOnDemandCapacity = provisionedOnDemandCapacity;
}
/**
*
* The number of On-Demand units that have been provisioned for the instance fleet to fulfill
* TargetOnDemandCapacity
. This provisioned capacity might be less than or greater than
* TargetOnDemandCapacity
.
*
*
* @return The number of On-Demand units that have been provisioned for the instance fleet to fulfill
* TargetOnDemandCapacity
. This provisioned capacity might be less than or greater than
* TargetOnDemandCapacity
.
*/
public Integer getProvisionedOnDemandCapacity() {
return this.provisionedOnDemandCapacity;
}
/**
*
* The number of On-Demand units that have been provisioned for the instance fleet to fulfill
* TargetOnDemandCapacity
. This provisioned capacity might be less than or greater than
* TargetOnDemandCapacity
.
*
*
* @param provisionedOnDemandCapacity
* The number of On-Demand units that have been provisioned for the instance fleet to fulfill
* TargetOnDemandCapacity
. This provisioned capacity might be less than or greater than
* TargetOnDemandCapacity
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceFleet withProvisionedOnDemandCapacity(Integer provisionedOnDemandCapacity) {
setProvisionedOnDemandCapacity(provisionedOnDemandCapacity);
return this;
}
/**
*
* The number of Spot units that have been provisioned for this instance fleet to fulfill
* TargetSpotCapacity
. This provisioned capacity might be less than or greater than
* TargetSpotCapacity
.
*
*
* @param provisionedSpotCapacity
* The number of Spot units that have been provisioned for this instance fleet to fulfill
* TargetSpotCapacity
. This provisioned capacity might be less than or greater than
* TargetSpotCapacity
.
*/
public void setProvisionedSpotCapacity(Integer provisionedSpotCapacity) {
this.provisionedSpotCapacity = provisionedSpotCapacity;
}
/**
*
* The number of Spot units that have been provisioned for this instance fleet to fulfill
* TargetSpotCapacity
. This provisioned capacity might be less than or greater than
* TargetSpotCapacity
.
*
*
* @return The number of Spot units that have been provisioned for this instance fleet to fulfill
* TargetSpotCapacity
. This provisioned capacity might be less than or greater than
* TargetSpotCapacity
.
*/
public Integer getProvisionedSpotCapacity() {
return this.provisionedSpotCapacity;
}
/**
*
* The number of Spot units that have been provisioned for this instance fleet to fulfill
* TargetSpotCapacity
. This provisioned capacity might be less than or greater than
* TargetSpotCapacity
.
*
*
* @param provisionedSpotCapacity
* The number of Spot units that have been provisioned for this instance fleet to fulfill
* TargetSpotCapacity
. This provisioned capacity might be less than or greater than
* TargetSpotCapacity
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceFleet withProvisionedSpotCapacity(Integer provisionedSpotCapacity) {
setProvisionedSpotCapacity(provisionedSpotCapacity);
return this;
}
/**
*
* An array of specifications for the instance types that comprise an instance fleet.
*
*
* @return An array of specifications for the instance types that comprise an instance fleet.
*/
public java.util.List getInstanceTypeSpecifications() {
if (instanceTypeSpecifications == null) {
instanceTypeSpecifications = new com.amazonaws.internal.SdkInternalList();
}
return instanceTypeSpecifications;
}
/**
*
* An array of specifications for the instance types that comprise an instance fleet.
*
*
* @param instanceTypeSpecifications
* An array of specifications for the instance types that comprise an instance fleet.
*/
public void setInstanceTypeSpecifications(java.util.Collection instanceTypeSpecifications) {
if (instanceTypeSpecifications == null) {
this.instanceTypeSpecifications = null;
return;
}
this.instanceTypeSpecifications = new com.amazonaws.internal.SdkInternalList(instanceTypeSpecifications);
}
/**
*
* An array of specifications for the instance types that comprise an instance fleet.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setInstanceTypeSpecifications(java.util.Collection)} or
* {@link #withInstanceTypeSpecifications(java.util.Collection)} if you want to override the existing values.
*
*
* @param instanceTypeSpecifications
* An array of specifications for the instance types that comprise an instance fleet.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceFleet withInstanceTypeSpecifications(InstanceTypeSpecification... instanceTypeSpecifications) {
if (this.instanceTypeSpecifications == null) {
setInstanceTypeSpecifications(new com.amazonaws.internal.SdkInternalList(instanceTypeSpecifications.length));
}
for (InstanceTypeSpecification ele : instanceTypeSpecifications) {
this.instanceTypeSpecifications.add(ele);
}
return this;
}
/**
*
* An array of specifications for the instance types that comprise an instance fleet.
*
*
* @param instanceTypeSpecifications
* An array of specifications for the instance types that comprise an instance fleet.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceFleet withInstanceTypeSpecifications(java.util.Collection instanceTypeSpecifications) {
setInstanceTypeSpecifications(instanceTypeSpecifications);
return this;
}
/**
*
* Describes the launch specification for an instance fleet.
*
*
* @param launchSpecifications
* Describes the launch specification for an instance fleet.
*/
public void setLaunchSpecifications(InstanceFleetProvisioningSpecifications launchSpecifications) {
this.launchSpecifications = launchSpecifications;
}
/**
*
* Describes the launch specification for an instance fleet.
*
*
* @return Describes the launch specification for an instance fleet.
*/
public InstanceFleetProvisioningSpecifications getLaunchSpecifications() {
return this.launchSpecifications;
}
/**
*
* Describes the launch specification for an instance fleet.
*
*
* @param launchSpecifications
* Describes the launch specification for an instance fleet.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceFleet withLaunchSpecifications(InstanceFleetProvisioningSpecifications launchSpecifications) {
setLaunchSpecifications(launchSpecifications);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getId() != null)
sb.append("Id: ").append(getId()).append(",");
if (getName() != null)
sb.append("Name: ").append(getName()).append(",");
if (getStatus() != null)
sb.append("Status: ").append(getStatus()).append(",");
if (getInstanceFleetType() != null)
sb.append("InstanceFleetType: ").append(getInstanceFleetType()).append(",");
if (getTargetOnDemandCapacity() != null)
sb.append("TargetOnDemandCapacity: ").append(getTargetOnDemandCapacity()).append(",");
if (getTargetSpotCapacity() != null)
sb.append("TargetSpotCapacity: ").append(getTargetSpotCapacity()).append(",");
if (getProvisionedOnDemandCapacity() != null)
sb.append("ProvisionedOnDemandCapacity: ").append(getProvisionedOnDemandCapacity()).append(",");
if (getProvisionedSpotCapacity() != null)
sb.append("ProvisionedSpotCapacity: ").append(getProvisionedSpotCapacity()).append(",");
if (getInstanceTypeSpecifications() != null)
sb.append("InstanceTypeSpecifications: ").append(getInstanceTypeSpecifications()).append(",");
if (getLaunchSpecifications() != null)
sb.append("LaunchSpecifications: ").append(getLaunchSpecifications());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof InstanceFleet == false)
return false;
InstanceFleet other = (InstanceFleet) obj;
if (other.getId() == null ^ this.getId() == null)
return false;
if (other.getId() != null && other.getId().equals(this.getId()) == false)
return false;
if (other.getName() == null ^ this.getName() == null)
return false;
if (other.getName() != null && other.getName().equals(this.getName()) == false)
return false;
if (other.getStatus() == null ^ this.getStatus() == null)
return false;
if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
return false;
if (other.getInstanceFleetType() == null ^ this.getInstanceFleetType() == null)
return false;
if (other.getInstanceFleetType() != null && other.getInstanceFleetType().equals(this.getInstanceFleetType()) == false)
return false;
if (other.getTargetOnDemandCapacity() == null ^ this.getTargetOnDemandCapacity() == null)
return false;
if (other.getTargetOnDemandCapacity() != null && other.getTargetOnDemandCapacity().equals(this.getTargetOnDemandCapacity()) == false)
return false;
if (other.getTargetSpotCapacity() == null ^ this.getTargetSpotCapacity() == null)
return false;
if (other.getTargetSpotCapacity() != null && other.getTargetSpotCapacity().equals(this.getTargetSpotCapacity()) == false)
return false;
if (other.getProvisionedOnDemandCapacity() == null ^ this.getProvisionedOnDemandCapacity() == null)
return false;
if (other.getProvisionedOnDemandCapacity() != null && other.getProvisionedOnDemandCapacity().equals(this.getProvisionedOnDemandCapacity()) == false)
return false;
if (other.getProvisionedSpotCapacity() == null ^ this.getProvisionedSpotCapacity() == null)
return false;
if (other.getProvisionedSpotCapacity() != null && other.getProvisionedSpotCapacity().equals(this.getProvisionedSpotCapacity()) == false)
return false;
if (other.getInstanceTypeSpecifications() == null ^ this.getInstanceTypeSpecifications() == null)
return false;
if (other.getInstanceTypeSpecifications() != null && other.getInstanceTypeSpecifications().equals(this.getInstanceTypeSpecifications()) == false)
return false;
if (other.getLaunchSpecifications() == null ^ this.getLaunchSpecifications() == null)
return false;
if (other.getLaunchSpecifications() != null && other.getLaunchSpecifications().equals(this.getLaunchSpecifications()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode());
hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode());
hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime * hashCode + ((getInstanceFleetType() == null) ? 0 : getInstanceFleetType().hashCode());
hashCode = prime * hashCode + ((getTargetOnDemandCapacity() == null) ? 0 : getTargetOnDemandCapacity().hashCode());
hashCode = prime * hashCode + ((getTargetSpotCapacity() == null) ? 0 : getTargetSpotCapacity().hashCode());
hashCode = prime * hashCode + ((getProvisionedOnDemandCapacity() == null) ? 0 : getProvisionedOnDemandCapacity().hashCode());
hashCode = prime * hashCode + ((getProvisionedSpotCapacity() == null) ? 0 : getProvisionedSpotCapacity().hashCode());
hashCode = prime * hashCode + ((getInstanceTypeSpecifications() == null) ? 0 : getInstanceTypeSpecifications().hashCode());
hashCode = prime * hashCode + ((getLaunchSpecifications() == null) ? 0 : getLaunchSpecifications().hashCode());
return hashCode;
}
@Override
public InstanceFleet clone() {
try {
return (InstanceFleet) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.elasticmapreduce.model.transform.InstanceFleetMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}