/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
*/
package com.microsoft.azure.batch.protocol.models;
import java.util.List;
import org.joda.time.Period;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Parameters for a ComputeNodeOperations.Remove request.
*/
public class NodeRemoveParameter {
/**
* A list containing the ids of the compute nodes to be removed from the
* specified pool.
*/
@JsonProperty(required = true)
private List<String> nodeList;
/**
* The timeout for removal of compute nodes to the pool.
* The default value is 10 minutes.
*/
private Period resizeTimeout;
/**
* When compute nodes may be removed from the pool.
* Possible values include: 'requeue', 'terminate', 'taskcompletion',
* 'retaineddata'.
*/
private ComputeNodeDeallocationOption nodeDeallocationOption;
/**
* Get the nodeList value.
*
* @return the nodeList value
*/
public List<String> nodeList() {
return this.nodeList;
}
/**
* Set the nodeList value.
*
* @param nodeList the nodeList value to set
* @return the NodeRemoveParameter object itself.
*/
public NodeRemoveParameter withNodeList(List<String> nodeList) {
this.nodeList = nodeList;
return this;
}
/**
* Get the resizeTimeout value.
*
* @return the resizeTimeout value
*/
public Period resizeTimeout() {
return this.resizeTimeout;
}
/**
* Set the resizeTimeout value.
*
* @param resizeTimeout the resizeTimeout value to set
* @return the NodeRemoveParameter object itself.
*/
public NodeRemoveParameter withResizeTimeout(Period resizeTimeout) {
this.resizeTimeout = resizeTimeout;
return this;
}
/**
* Get the nodeDeallocationOption value.
*
* @return the nodeDeallocationOption value
*/
public ComputeNodeDeallocationOption nodeDeallocationOption() {
return this.nodeDeallocationOption;
}
/**
* Set the nodeDeallocationOption value.
*
* @param nodeDeallocationOption the nodeDeallocationOption value to set
* @return the NodeRemoveParameter object itself.
*/
public NodeRemoveParameter withNodeDeallocationOption(ComputeNodeDeallocationOption nodeDeallocationOption) {
this.nodeDeallocationOption = nodeDeallocationOption;
return this;
}
}