
com.amazonaws.services.ec2.model.SpotFleetRequestConfigData Maven / Gradle / Ivy
Show all versions of aws-java-sdk-ec2 Show documentation
/*
* Copyright 2011-2016 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.ec2.model;
import java.io.Serializable;
/**
*
* Describes the configuration of a Spot fleet request.
*
*/
public class SpotFleetRequestConfigData implements Serializable, Cloneable {
/**
*
* A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid
* duplicate listings. For more information, see Ensuring
* Idempotency.
*
*/
private String clientToken;
/**
*
* The bid price per unit hour.
*
*/
private String spotPrice;
/**
*
* The number of units to request. You can choose to set the target capacity in terms of instances or a performance
* characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
*
*/
private Integer targetCapacity;
/**
*
* The start date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request
* immediately.
*
*/
private java.util.Date validFrom;
/**
*
* The end date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are
* placed or enabled to fulfill the request.
*
*/
private java.util.Date validUntil;
/**
*
* Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
*
*/
private Boolean terminateInstancesWithExpiration;
/**
*
* Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet
* request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set
* terminateInstancesWithExpiration
.
*
*/
private String iamFleetRole;
/**
*
* Information about the launch specifications for the Spot fleet request.
*
*/
private com.amazonaws.internal.SdkInternalList launchSpecifications;
/**
*
* Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is
* decreased below the current size of the Spot fleet.
*
*/
private String excessCapacityTerminationPolicy;
/**
*
* Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The
* default is lowestPrice
.
*
*/
private String allocationStrategy;
/**
*
* The number of units fulfilled by this request compared to the set target capacity.
*
*/
private Double fulfilledCapacity;
/**
*
* The type of request. Indicates whether the fleet will only request
the target capacity or also
* attempt to maintain
it. When you request
a certain target capacity, the fleet will only
* place the required bids. It will not attempt to replenish Spot instances if capacity is diminished, nor will it
* submit bids in alternative Spot pools if capacity is not available. When you want to maintain
a
* certain target capacity, fleet will place the required bids to meet this target capacity. It will also
* automatically replenish any interrupted instances. Default: maintain
.
*
*/
private String type;
/**
*
* A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid
* duplicate listings. For more information, see Ensuring
* Idempotency.
*
*
* @param clientToken
* A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid
* duplicate listings. For more information, see Ensuring
* Idempotency.
*/
public void setClientToken(String clientToken) {
this.clientToken = clientToken;
}
/**
*
* A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid
* duplicate listings. For more information, see Ensuring
* Idempotency.
*
*
* @return A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid
* duplicate listings. For more information, see Ensuring
* Idempotency.
*/
public String getClientToken() {
return this.clientToken;
}
/**
*
* A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid
* duplicate listings. For more information, see Ensuring
* Idempotency.
*
*
* @param clientToken
* A unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid
* duplicate listings. For more information, see Ensuring
* Idempotency.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SpotFleetRequestConfigData withClientToken(String clientToken) {
setClientToken(clientToken);
return this;
}
/**
*
* The bid price per unit hour.
*
*
* @param spotPrice
* The bid price per unit hour.
*/
public void setSpotPrice(String spotPrice) {
this.spotPrice = spotPrice;
}
/**
*
* The bid price per unit hour.
*
*
* @return The bid price per unit hour.
*/
public String getSpotPrice() {
return this.spotPrice;
}
/**
*
* The bid price per unit hour.
*
*
* @param spotPrice
* The bid price per unit hour.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SpotFleetRequestConfigData withSpotPrice(String spotPrice) {
setSpotPrice(spotPrice);
return this;
}
/**
*
* The number of units to request. You can choose to set the target capacity in terms of instances or a performance
* characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
*
*
* @param targetCapacity
* The number of units to request. You can choose to set the target capacity in terms of instances or a
* performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
*/
public void setTargetCapacity(Integer targetCapacity) {
this.targetCapacity = targetCapacity;
}
/**
*
* The number of units to request. You can choose to set the target capacity in terms of instances or a performance
* characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
*
*
* @return The number of units to request. You can choose to set the target capacity in terms of instances or a
* performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
*/
public Integer getTargetCapacity() {
return this.targetCapacity;
}
/**
*
* The number of units to request. You can choose to set the target capacity in terms of instances or a performance
* characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
*
*
* @param targetCapacity
* The number of units to request. You can choose to set the target capacity in terms of instances or a
* performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SpotFleetRequestConfigData withTargetCapacity(Integer targetCapacity) {
setTargetCapacity(targetCapacity);
return this;
}
/**
*
* The start date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request
* immediately.
*
*
* @param validFrom
* The start date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the
* request immediately.
*/
public void setValidFrom(java.util.Date validFrom) {
this.validFrom = validFrom;
}
/**
*
* The start date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request
* immediately.
*
*
* @return The start date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the
* request immediately.
*/
public java.util.Date getValidFrom() {
return this.validFrom;
}
/**
*
* The start date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request
* immediately.
*
*
* @param validFrom
* The start date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the
* request immediately.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SpotFleetRequestConfigData withValidFrom(java.util.Date validFrom) {
setValidFrom(validFrom);
return this;
}
/**
*
* The end date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are
* placed or enabled to fulfill the request.
*
*
* @param validUntil
* The end date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance
* requests are placed or enabled to fulfill the request.
*/
public void setValidUntil(java.util.Date validUntil) {
this.validUntil = validUntil;
}
/**
*
* The end date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are
* placed or enabled to fulfill the request.
*
*
* @return The end date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance
* requests are placed or enabled to fulfill the request.
*/
public java.util.Date getValidUntil() {
return this.validUntil;
}
/**
*
* The end date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are
* placed or enabled to fulfill the request.
*
*
* @param validUntil
* The end date and time of the request, in UTC format (for example,
* YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance
* requests are placed or enabled to fulfill the request.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SpotFleetRequestConfigData withValidUntil(java.util.Date validUntil) {
setValidUntil(validUntil);
return this;
}
/**
*
* Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
*
*
* @param terminateInstancesWithExpiration
* Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
*/
public void setTerminateInstancesWithExpiration(Boolean terminateInstancesWithExpiration) {
this.terminateInstancesWithExpiration = terminateInstancesWithExpiration;
}
/**
*
* Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
*
*
* @return Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
*/
public Boolean getTerminateInstancesWithExpiration() {
return this.terminateInstancesWithExpiration;
}
/**
*
* Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
*
*
* @param terminateInstancesWithExpiration
* Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SpotFleetRequestConfigData withTerminateInstancesWithExpiration(Boolean terminateInstancesWithExpiration) {
setTerminateInstancesWithExpiration(terminateInstancesWithExpiration);
return this;
}
/**
*
* Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
*
*
* @return Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
*/
public Boolean isTerminateInstancesWithExpiration() {
return this.terminateInstancesWithExpiration;
}
/**
*
* Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet
* request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set
* terminateInstancesWithExpiration
.
*
*
* @param iamFleetRole
* Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet
* request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set
* terminateInstancesWithExpiration
.
*/
public void setIamFleetRole(String iamFleetRole) {
this.iamFleetRole = iamFleetRole;
}
/**
*
* Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet
* request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set
* terminateInstancesWithExpiration
.
*
*
* @return Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot
* fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set
* terminateInstancesWithExpiration
.
*/
public String getIamFleetRole() {
return this.iamFleetRole;
}
/**
*
* Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet
* request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set
* terminateInstancesWithExpiration
.
*
*
* @param iamFleetRole
* Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet
* request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set
* terminateInstancesWithExpiration
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SpotFleetRequestConfigData withIamFleetRole(String iamFleetRole) {
setIamFleetRole(iamFleetRole);
return this;
}
/**
*
* Information about the launch specifications for the Spot fleet request.
*
*
* @return Information about the launch specifications for the Spot fleet request.
*/
public java.util.List getLaunchSpecifications() {
if (launchSpecifications == null) {
launchSpecifications = new com.amazonaws.internal.SdkInternalList();
}
return launchSpecifications;
}
/**
*
* Information about the launch specifications for the Spot fleet request.
*
*
* @param launchSpecifications
* Information about the launch specifications for the Spot fleet request.
*/
public void setLaunchSpecifications(java.util.Collection launchSpecifications) {
if (launchSpecifications == null) {
this.launchSpecifications = null;
return;
}
this.launchSpecifications = new com.amazonaws.internal.SdkInternalList(launchSpecifications);
}
/**
*
* Information about the launch specifications for the Spot fleet request.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setLaunchSpecifications(java.util.Collection)} or {@link #withLaunchSpecifications(java.util.Collection)}
* if you want to override the existing values.
*
*
* @param launchSpecifications
* Information about the launch specifications for the Spot fleet request.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SpotFleetRequestConfigData withLaunchSpecifications(SpotFleetLaunchSpecification... launchSpecifications) {
if (this.launchSpecifications == null) {
setLaunchSpecifications(new com.amazonaws.internal.SdkInternalList(launchSpecifications.length));
}
for (SpotFleetLaunchSpecification ele : launchSpecifications) {
this.launchSpecifications.add(ele);
}
return this;
}
/**
*
* Information about the launch specifications for the Spot fleet request.
*
*
* @param launchSpecifications
* Information about the launch specifications for the Spot fleet request.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SpotFleetRequestConfigData withLaunchSpecifications(java.util.Collection launchSpecifications) {
setLaunchSpecifications(launchSpecifications);
return this;
}
/**
*
* Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is
* decreased below the current size of the Spot fleet.
*
*
* @param excessCapacityTerminationPolicy
* Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet
* request is decreased below the current size of the Spot fleet.
* @see ExcessCapacityTerminationPolicy
*/
public void setExcessCapacityTerminationPolicy(String excessCapacityTerminationPolicy) {
this.excessCapacityTerminationPolicy = excessCapacityTerminationPolicy;
}
/**
*
* Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is
* decreased below the current size of the Spot fleet.
*
*
* @return Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet
* request is decreased below the current size of the Spot fleet.
* @see ExcessCapacityTerminationPolicy
*/
public String getExcessCapacityTerminationPolicy() {
return this.excessCapacityTerminationPolicy;
}
/**
*
* Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is
* decreased below the current size of the Spot fleet.
*
*
* @param excessCapacityTerminationPolicy
* Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet
* request is decreased below the current size of the Spot fleet.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ExcessCapacityTerminationPolicy
*/
public SpotFleetRequestConfigData withExcessCapacityTerminationPolicy(String excessCapacityTerminationPolicy) {
setExcessCapacityTerminationPolicy(excessCapacityTerminationPolicy);
return this;
}
/**
*
* Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is
* decreased below the current size of the Spot fleet.
*
*
* @param excessCapacityTerminationPolicy
* Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet
* request is decreased below the current size of the Spot fleet.
* @see ExcessCapacityTerminationPolicy
*/
public void setExcessCapacityTerminationPolicy(ExcessCapacityTerminationPolicy excessCapacityTerminationPolicy) {
this.excessCapacityTerminationPolicy = excessCapacityTerminationPolicy.toString();
}
/**
*
* Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is
* decreased below the current size of the Spot fleet.
*
*
* @param excessCapacityTerminationPolicy
* Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet
* request is decreased below the current size of the Spot fleet.
* @return Returns a reference to this object so that method calls can be chained together.
* @see ExcessCapacityTerminationPolicy
*/
public SpotFleetRequestConfigData withExcessCapacityTerminationPolicy(ExcessCapacityTerminationPolicy excessCapacityTerminationPolicy) {
setExcessCapacityTerminationPolicy(excessCapacityTerminationPolicy);
return this;
}
/**
*
* Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The
* default is lowestPrice
.
*
*
* @param allocationStrategy
* Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request.
* The default is lowestPrice
.
* @see AllocationStrategy
*/
public void setAllocationStrategy(String allocationStrategy) {
this.allocationStrategy = allocationStrategy;
}
/**
*
* Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The
* default is lowestPrice
.
*
*
* @return Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request.
* The default is lowestPrice
.
* @see AllocationStrategy
*/
public String getAllocationStrategy() {
return this.allocationStrategy;
}
/**
*
* Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The
* default is lowestPrice
.
*
*
* @param allocationStrategy
* Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request.
* The default is lowestPrice
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AllocationStrategy
*/
public SpotFleetRequestConfigData withAllocationStrategy(String allocationStrategy) {
setAllocationStrategy(allocationStrategy);
return this;
}
/**
*
* Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The
* default is lowestPrice
.
*
*
* @param allocationStrategy
* Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request.
* The default is lowestPrice
.
* @see AllocationStrategy
*/
public void setAllocationStrategy(AllocationStrategy allocationStrategy) {
this.allocationStrategy = allocationStrategy.toString();
}
/**
*
* Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The
* default is lowestPrice
.
*
*
* @param allocationStrategy
* Indicates how to allocate the target capacity across the Spot pools specified by the Spot fleet request.
* The default is lowestPrice
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AllocationStrategy
*/
public SpotFleetRequestConfigData withAllocationStrategy(AllocationStrategy allocationStrategy) {
setAllocationStrategy(allocationStrategy);
return this;
}
/**
*
* The number of units fulfilled by this request compared to the set target capacity.
*
*
* @param fulfilledCapacity
* The number of units fulfilled by this request compared to the set target capacity.
*/
public void setFulfilledCapacity(Double fulfilledCapacity) {
this.fulfilledCapacity = fulfilledCapacity;
}
/**
*
* The number of units fulfilled by this request compared to the set target capacity.
*
*
* @return The number of units fulfilled by this request compared to the set target capacity.
*/
public Double getFulfilledCapacity() {
return this.fulfilledCapacity;
}
/**
*
* The number of units fulfilled by this request compared to the set target capacity.
*
*
* @param fulfilledCapacity
* The number of units fulfilled by this request compared to the set target capacity.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public SpotFleetRequestConfigData withFulfilledCapacity(Double fulfilledCapacity) {
setFulfilledCapacity(fulfilledCapacity);
return this;
}
/**
*
* The type of request. Indicates whether the fleet will only request
the target capacity or also
* attempt to maintain
it. When you request
a certain target capacity, the fleet will only
* place the required bids. It will not attempt to replenish Spot instances if capacity is diminished, nor will it
* submit bids in alternative Spot pools if capacity is not available. When you want to maintain
a
* certain target capacity, fleet will place the required bids to meet this target capacity. It will also
* automatically replenish any interrupted instances. Default: maintain
.
*
*
* @param type
* The type of request. Indicates whether the fleet will only request
the target capacity or
* also attempt to maintain
it. When you request
a certain target capacity, the
* fleet will only place the required bids. It will not attempt to replenish Spot instances if capacity is
* diminished, nor will it submit bids in alternative Spot pools if capacity is not available. When you want
* to maintain
a certain target capacity, fleet will place the required bids to meet this target
* capacity. It will also automatically replenish any interrupted instances. Default: maintain
.
* @see FleetType
*/
public void setType(String type) {
this.type = type;
}
/**
*
* The type of request. Indicates whether the fleet will only request
the target capacity or also
* attempt to maintain
it. When you request
a certain target capacity, the fleet will only
* place the required bids. It will not attempt to replenish Spot instances if capacity is diminished, nor will it
* submit bids in alternative Spot pools if capacity is not available. When you want to maintain
a
* certain target capacity, fleet will place the required bids to meet this target capacity. It will also
* automatically replenish any interrupted instances. Default: maintain
.
*
*
* @return The type of request. Indicates whether the fleet will only request
the target capacity or
* also attempt to maintain
it. When you request
a certain target capacity, the
* fleet will only place the required bids. It will not attempt to replenish Spot instances if capacity is
* diminished, nor will it submit bids in alternative Spot pools if capacity is not available. When you want
* to maintain
a certain target capacity, fleet will place the required bids to meet this
* target capacity. It will also automatically replenish any interrupted instances. Default:
* maintain
.
* @see FleetType
*/
public String getType() {
return this.type;
}
/**
*
* The type of request. Indicates whether the fleet will only request
the target capacity or also
* attempt to maintain
it. When you request
a certain target capacity, the fleet will only
* place the required bids. It will not attempt to replenish Spot instances if capacity is diminished, nor will it
* submit bids in alternative Spot pools if capacity is not available. When you want to maintain
a
* certain target capacity, fleet will place the required bids to meet this target capacity. It will also
* automatically replenish any interrupted instances. Default: maintain
.
*
*
* @param type
* The type of request. Indicates whether the fleet will only request
the target capacity or
* also attempt to maintain
it. When you request
a certain target capacity, the
* fleet will only place the required bids. It will not attempt to replenish Spot instances if capacity is
* diminished, nor will it submit bids in alternative Spot pools if capacity is not available. When you want
* to maintain
a certain target capacity, fleet will place the required bids to meet this target
* capacity. It will also automatically replenish any interrupted instances. Default: maintain
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see FleetType
*/
public SpotFleetRequestConfigData withType(String type) {
setType(type);
return this;
}
/**
*
* The type of request. Indicates whether the fleet will only request
the target capacity or also
* attempt to maintain
it. When you request
a certain target capacity, the fleet will only
* place the required bids. It will not attempt to replenish Spot instances if capacity is diminished, nor will it
* submit bids in alternative Spot pools if capacity is not available. When you want to maintain
a
* certain target capacity, fleet will place the required bids to meet this target capacity. It will also
* automatically replenish any interrupted instances. Default: maintain
.
*
*
* @param type
* The type of request. Indicates whether the fleet will only request
the target capacity or
* also attempt to maintain
it. When you request
a certain target capacity, the
* fleet will only place the required bids. It will not attempt to replenish Spot instances if capacity is
* diminished, nor will it submit bids in alternative Spot pools if capacity is not available. When you want
* to maintain
a certain target capacity, fleet will place the required bids to meet this target
* capacity. It will also automatically replenish any interrupted instances. Default: maintain
.
* @see FleetType
*/
public void setType(FleetType type) {
this.type = type.toString();
}
/**
*
* The type of request. Indicates whether the fleet will only request
the target capacity or also
* attempt to maintain
it. When you request
a certain target capacity, the fleet will only
* place the required bids. It will not attempt to replenish Spot instances if capacity is diminished, nor will it
* submit bids in alternative Spot pools if capacity is not available. When you want to maintain
a
* certain target capacity, fleet will place the required bids to meet this target capacity. It will also
* automatically replenish any interrupted instances. Default: maintain
.
*
*
* @param type
* The type of request. Indicates whether the fleet will only request
the target capacity or
* also attempt to maintain
it. When you request
a certain target capacity, the
* fleet will only place the required bids. It will not attempt to replenish Spot instances if capacity is
* diminished, nor will it submit bids in alternative Spot pools if capacity is not available. When you want
* to maintain
a certain target capacity, fleet will place the required bids to meet this target
* capacity. It will also automatically replenish any interrupted instances. Default: maintain
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see FleetType
*/
public SpotFleetRequestConfigData withType(FleetType type) {
setType(type);
return this;
}
/**
* Returns a string representation of this object; useful for testing and debugging.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getClientToken() != null)
sb.append("ClientToken: " + getClientToken() + ",");
if (getSpotPrice() != null)
sb.append("SpotPrice: " + getSpotPrice() + ",");
if (getTargetCapacity() != null)
sb.append("TargetCapacity: " + getTargetCapacity() + ",");
if (getValidFrom() != null)
sb.append("ValidFrom: " + getValidFrom() + ",");
if (getValidUntil() != null)
sb.append("ValidUntil: " + getValidUntil() + ",");
if (getTerminateInstancesWithExpiration() != null)
sb.append("TerminateInstancesWithExpiration: " + getTerminateInstancesWithExpiration() + ",");
if (getIamFleetRole() != null)
sb.append("IamFleetRole: " + getIamFleetRole() + ",");
if (getLaunchSpecifications() != null)
sb.append("LaunchSpecifications: " + getLaunchSpecifications() + ",");
if (getExcessCapacityTerminationPolicy() != null)
sb.append("ExcessCapacityTerminationPolicy: " + getExcessCapacityTerminationPolicy() + ",");
if (getAllocationStrategy() != null)
sb.append("AllocationStrategy: " + getAllocationStrategy() + ",");
if (getFulfilledCapacity() != null)
sb.append("FulfilledCapacity: " + getFulfilledCapacity() + ",");
if (getType() != null)
sb.append("Type: " + getType());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof SpotFleetRequestConfigData == false)
return false;
SpotFleetRequestConfigData other = (SpotFleetRequestConfigData) obj;
if (other.getClientToken() == null ^ this.getClientToken() == null)
return false;
if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false)
return false;
if (other.getSpotPrice() == null ^ this.getSpotPrice() == null)
return false;
if (other.getSpotPrice() != null && other.getSpotPrice().equals(this.getSpotPrice()) == false)
return false;
if (other.getTargetCapacity() == null ^ this.getTargetCapacity() == null)
return false;
if (other.getTargetCapacity() != null && other.getTargetCapacity().equals(this.getTargetCapacity()) == false)
return false;
if (other.getValidFrom() == null ^ this.getValidFrom() == null)
return false;
if (other.getValidFrom() != null && other.getValidFrom().equals(this.getValidFrom()) == false)
return false;
if (other.getValidUntil() == null ^ this.getValidUntil() == null)
return false;
if (other.getValidUntil() != null && other.getValidUntil().equals(this.getValidUntil()) == false)
return false;
if (other.getTerminateInstancesWithExpiration() == null ^ this.getTerminateInstancesWithExpiration() == null)
return false;
if (other.getTerminateInstancesWithExpiration() != null
&& other.getTerminateInstancesWithExpiration().equals(this.getTerminateInstancesWithExpiration()) == false)
return false;
if (other.getIamFleetRole() == null ^ this.getIamFleetRole() == null)
return false;
if (other.getIamFleetRole() != null && other.getIamFleetRole().equals(this.getIamFleetRole()) == false)
return false;
if (other.getLaunchSpecifications() == null ^ this.getLaunchSpecifications() == null)
return false;
if (other.getLaunchSpecifications() != null && other.getLaunchSpecifications().equals(this.getLaunchSpecifications()) == false)
return false;
if (other.getExcessCapacityTerminationPolicy() == null ^ this.getExcessCapacityTerminationPolicy() == null)
return false;
if (other.getExcessCapacityTerminationPolicy() != null
&& other.getExcessCapacityTerminationPolicy().equals(this.getExcessCapacityTerminationPolicy()) == false)
return false;
if (other.getAllocationStrategy() == null ^ this.getAllocationStrategy() == null)
return false;
if (other.getAllocationStrategy() != null && other.getAllocationStrategy().equals(this.getAllocationStrategy()) == false)
return false;
if (other.getFulfilledCapacity() == null ^ this.getFulfilledCapacity() == null)
return false;
if (other.getFulfilledCapacity() != null && other.getFulfilledCapacity().equals(this.getFulfilledCapacity()) == false)
return false;
if (other.getType() == null ^ this.getType() == null)
return false;
if (other.getType() != null && other.getType().equals(this.getType()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode());
hashCode = prime * hashCode + ((getSpotPrice() == null) ? 0 : getSpotPrice().hashCode());
hashCode = prime * hashCode + ((getTargetCapacity() == null) ? 0 : getTargetCapacity().hashCode());
hashCode = prime * hashCode + ((getValidFrom() == null) ? 0 : getValidFrom().hashCode());
hashCode = prime * hashCode + ((getValidUntil() == null) ? 0 : getValidUntil().hashCode());
hashCode = prime * hashCode + ((getTerminateInstancesWithExpiration() == null) ? 0 : getTerminateInstancesWithExpiration().hashCode());
hashCode = prime * hashCode + ((getIamFleetRole() == null) ? 0 : getIamFleetRole().hashCode());
hashCode = prime * hashCode + ((getLaunchSpecifications() == null) ? 0 : getLaunchSpecifications().hashCode());
hashCode = prime * hashCode + ((getExcessCapacityTerminationPolicy() == null) ? 0 : getExcessCapacityTerminationPolicy().hashCode());
hashCode = prime * hashCode + ((getAllocationStrategy() == null) ? 0 : getAllocationStrategy().hashCode());
hashCode = prime * hashCode + ((getFulfilledCapacity() == null) ? 0 : getFulfilledCapacity().hashCode());
hashCode = prime * hashCode + ((getType() == null) ? 0 : getType().hashCode());
return hashCode;
}
@Override
public SpotFleetRequestConfigData clone() {
try {
return (SpotFleetRequestConfigData) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}