org.finra.herd.sdk.model.EmrClusterDefinitionSpotSpecification Maven / Gradle / Ivy
/*
* herd-external
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* OpenAPI spec version: 0.125.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package org.finra.herd.sdk.model;
import java.util.Objects;
import java.util.Arrays;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* EmrClusterDefinitionSpotSpecification
*/
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-07-16T17:44:47.669-04:00[America/New_York]")
public class EmrClusterDefinitionSpotSpecification {
@JsonProperty("timeoutDurationMinutes")
private Integer timeoutDurationMinutes = null;
@JsonProperty("timeoutAction")
private String timeoutAction = null;
@JsonProperty("blockDurationMinutes")
private Integer blockDurationMinutes = null;
public EmrClusterDefinitionSpotSpecification timeoutDurationMinutes(Integer timeoutDurationMinutes) {
this.timeoutDurationMinutes = timeoutDurationMinutes;
return this;
}
/**
* The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created
* @return timeoutDurationMinutes
**/
@ApiModelProperty(value = "The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created ")
public Integer getTimeoutDurationMinutes() {
return timeoutDurationMinutes;
}
public void setTimeoutDurationMinutes(Integer timeoutDurationMinutes) {
this.timeoutDurationMinutes = timeoutDurationMinutes;
}
public EmrClusterDefinitionSpotSpecification timeoutAction(String timeoutAction) {
this.timeoutAction = timeoutAction;
return this;
}
/**
* The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired. Spot instances are not uprovisioned within the Spot provisioining timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND to fulfill the remaining capacity
* @return timeoutAction
**/
@ApiModelProperty(value = "The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired. Spot instances are not uprovisioned within the Spot provisioining timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND to fulfill the remaining capacity ")
public String getTimeoutAction() {
return timeoutAction;
}
public void setTimeoutAction(String timeoutAction) {
this.timeoutAction = timeoutAction;
}
public EmrClusterDefinitionSpotSpecification blockDurationMinutes(Integer blockDurationMinutes) {
this.blockDurationMinutes = blockDurationMinutes;
return this;
}
/**
* The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates
* @return blockDurationMinutes
**/
@ApiModelProperty(value = "The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates ")
public Integer getBlockDurationMinutes() {
return blockDurationMinutes;
}
public void setBlockDurationMinutes(Integer blockDurationMinutes) {
this.blockDurationMinutes = blockDurationMinutes;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
EmrClusterDefinitionSpotSpecification emrClusterDefinitionSpotSpecification = (EmrClusterDefinitionSpotSpecification) o;
return Objects.equals(this.timeoutDurationMinutes, emrClusterDefinitionSpotSpecification.timeoutDurationMinutes) &&
Objects.equals(this.timeoutAction, emrClusterDefinitionSpotSpecification.timeoutAction) &&
Objects.equals(this.blockDurationMinutes, emrClusterDefinitionSpotSpecification.blockDurationMinutes);
}
@Override
public int hashCode() {
return Objects.hash(timeoutDurationMinutes, timeoutAction, blockDurationMinutes);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class EmrClusterDefinitionSpotSpecification {\n");
sb.append(" timeoutDurationMinutes: ").append(toIndentedString(timeoutDurationMinutes)).append("\n");
sb.append(" timeoutAction: ").append(toIndentedString(timeoutAction)).append("\n");
sb.append(" blockDurationMinutes: ").append(toIndentedString(blockDurationMinutes)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}