com.softlayer.api.service.scale.termination.Policy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of softlayer-api-client Show documentation
Show all versions of softlayer-api-client Show documentation
API client for accessing the SoftLayer API
package com.softlayer.api.service.scale.termination;
import com.softlayer.api.ApiClient;
import com.softlayer.api.ResponseHandler;
import com.softlayer.api.annotation.ApiMethod;
import com.softlayer.api.annotation.ApiProperty;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Entity;
import java.util.List;
import java.util.concurrent.Future;
/**
* A policy for automatic removal of members from a group. This policy determines which members are chosen first for removal. The values can be:
*
*
* * OLDEST - The oldest member is the next one removed.
* * NEWEST - The newest member is the next one removed.
* * CLOSEST_TO_NEXT_CHARGE - The member closest to the next charge is removed. This is helpful for billing because it
* will let you remove the member you have gotten the most out of. Note, this is usually closest to the next billing hour.
*
*
*
* @see SoftLayer_Scale_Termination_Policy
*/
@ApiType("SoftLayer_Scale_Termination_Policy")
public class Policy extends Entity {
/**
* A termination policy's internal identifier.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long id;
public Long getId() {
return id;
}
public void setId(Long id) {
idSpecified = true;
this.id = id;
}
protected boolean idSpecified;
public boolean isIdSpecified() {
return idSpecified;
}
public void unsetId() {
id = null;
idSpecified = false;
}
/**
* A termination policy's programmatic name.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String keyName;
public String getKeyName() {
return keyName;
}
public void setKeyName(String keyName) {
keyNameSpecified = true;
this.keyName = keyName;
}
protected boolean keyNameSpecified;
public boolean isKeyNameSpecified() {
return keyNameSpecified;
}
public void unsetKeyName() {
keyName = null;
keyNameSpecified = false;
}
/**
* A termination policy's human-friendly name.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String name;
public String getName() {
return name;
}
public void setName(String name) {
nameSpecified = true;
this.name = name;
}
protected boolean nameSpecified;
public boolean isNameSpecified() {
return nameSpecified;
}
public void unsetName() {
name = null;
nameSpecified = false;
}
public Service asService(ApiClient client) {
return service(client, id);
}
public static Service service(ApiClient client) {
return client.createService(Service.class, null);
}
public static Service service(ApiClient client, Long id) {
return client.createService(Service.class, id == null ? null : id.toString());
}
/**
* A policy for automatic removal of members from a group. This policy determines which members are chosen first for removal. The values can be:
*
*
* * OLDEST - The oldest member is the next one removed.
* * NEWEST - The newest member is the next one removed.
* * CLOSEST_TO_NEXT_CHARGE - The member closest to the next charge is removed. This is helpful for billing because it
* will let you remove the member you have gotten the most out of. Note, this is usually closest to the next billing hour.
*
*
*
* @see SoftLayer_Scale_Termination_Policy
*/
@com.softlayer.api.annotation.ApiService("SoftLayer_Scale_Termination_Policy")
public static interface Service extends com.softlayer.api.Service {
public ServiceAsync asAsync();
public Mask withNewMask();
public Mask withMask();
public void setMask(Mask mask);
/**
* @see SoftLayer_Scale_Termination_Policy::getAllObjects
*/
@ApiMethod
public List getAllObjects();
/**
* @see SoftLayer_Scale_Termination_Policy::getObject
*/
@ApiMethod(instanceRequired = true)
public Policy getObject();
}
public static interface ServiceAsync extends com.softlayer.api.ServiceAsync {
public Mask withNewMask();
public Mask withMask();
public void setMask(Mask mask);
/**
* Async version of {@link Service#getAllObjects}
*/
public Future> getAllObjects();
public Future> getAllObjects(ResponseHandler> callback);
/**
* Async version of {@link Service#getObject}
*/
public Future getObject();
public Future> getObject(ResponseHandler callback);
}
public static class Mask extends com.softlayer.api.service.Entity.Mask {
public Mask id() {
withLocalProperty("id");
return this;
}
public Mask keyName() {
withLocalProperty("keyName");
return this;
}
public Mask name() {
withLocalProperty("name");
return this;
}
}
}