com.softlayer.api.service.scale.Group 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
The newest version!
package com.softlayer.api.service.scale;
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.Account;
import com.softlayer.api.service.Entity;
import com.softlayer.api.service.location.group.Regional;
import com.softlayer.api.service.scale.LoadBalancer;
import com.softlayer.api.service.scale.Member;
import com.softlayer.api.service.scale.group.Log;
import com.softlayer.api.service.scale.group.Status;
import com.softlayer.api.service.scale.network.Vlan;
import com.softlayer.api.service.scale.termination.Policy;
import com.softlayer.api.service.virtual.Guest;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.concurrent.Future;
/**
* A scale group can contain a number of guest members which can fluctuate up and down, staying within a defined range, manually or automatically based on policies given. Groups are set of VLANs to be placed behind. Groups can also have static hardware/guests pinned to the group. These static resources can be used to effect things like moving averages for policy triggers but are not counted as group members and are not subject to automatic reclaim.
*
* @see SoftLayer_Scale_Group
*/
@ApiType("SoftLayer_Scale_Group")
public class Group extends Entity {
/**
* The account for this scaling group.
*/
@ApiProperty
protected Account account;
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}
/**
* Collection of load balancers for this auto scale group.
*/
@ApiProperty
protected List loadBalancers;
public List getLoadBalancers() {
if (loadBalancers == null) {
loadBalancers = new ArrayList();
}
return loadBalancers;
}
/**
* Collection of log entries for this group.
*/
@ApiProperty
protected List logs;
public List getLogs() {
if (logs == null) {
logs = new ArrayList();
}
return logs;
}
/**
* Collection of VLANs for this auto scale group. VLANs are optional. This can contain a public or private VLAN or both. When a single VLAN for a public/private type is given it can be a non-purchased VLAN only if the minimumMemberCount on the group is >= 1. This can also contain any number of public/private purchased VLANs and members are staggered across them when scaled up.
*/
@ApiProperty
protected List networkVlans;
public List getNetworkVlans() {
if (networkVlans == null) {
networkVlans = new ArrayList();
}
return networkVlans;
}
/**
* Collection of policies for this group. This can be empty.
*/
@ApiProperty
protected List policies;
public List getPolicies() {
if (policies == null) {
policies = new ArrayList();
}
return policies;
}
/**
* The regional group for this scale group.
*/
@ApiProperty
protected Regional regionalGroup;
public Regional getRegionalGroup() {
return regionalGroup;
}
public void setRegionalGroup(Regional regionalGroup) {
this.regionalGroup = regionalGroup;
}
/**
* The status for this scale group.
*/
@ApiProperty
protected Status status;
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
/**
* The termination policy for this scaling group.
*/
@ApiProperty
protected Policy terminationPolicy;
public Policy getTerminationPolicy() {
return terminationPolicy;
}
public void setTerminationPolicy(Policy terminationPolicy) {
this.terminationPolicy = terminationPolicy;
}
/**
* Collection of guests that have been pinned to this group. Guest assets are only used for certain trigger checks such as resource watches. They do not count towards the auto scaling guest counts of this group in anyway and are never automatically added or removed.
*/
@ApiProperty
protected List virtualGuestAssets;
public List getVirtualGuestAssets() {
if (virtualGuestAssets == null) {
virtualGuestAssets = new ArrayList();
}
return virtualGuestAssets;
}
/**
* Collection of guests that have been scaled with the group. When this group is active, the count of guests here is guaranteed to be between minimumMemberCount and maximumMemberCount inclusively.
*/
@ApiProperty
protected List virtualGuestMembers;
public List getVirtualGuestMembers() {
if (virtualGuestMembers == null) {
virtualGuestMembers = new ArrayList();
}
return virtualGuestMembers;
}
/**
* The identifier of the account assigned to this group.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long accountId;
public Long getAccountId() {
return accountId;
}
public void setAccountId(Long accountId) {
accountIdSpecified = true;
this.accountId = accountId;
}
protected boolean accountIdSpecified;
public boolean isAccountIdSpecified() {
return accountIdSpecified;
}
public void unsetAccountId() {
accountId = null;
accountIdSpecified = false;
}
/**
* If this is true, this group will scale down members in a way to preserve the balance across VLANs. If there is ambiguity about which member to use to maintain balance, the terminationPolicy is used to resolve it. This is false by default and can only be set to true if there are multiple VLANs that are being balanced across.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Boolean balancedTerminationFlag;
public Boolean getBalancedTerminationFlag() {
return balancedTerminationFlag;
}
public void setBalancedTerminationFlag(Boolean balancedTerminationFlag) {
balancedTerminationFlagSpecified = true;
this.balancedTerminationFlag = balancedTerminationFlag;
}
protected boolean balancedTerminationFlagSpecified;
public boolean isBalancedTerminationFlagSpecified() {
return balancedTerminationFlagSpecified;
}
public void unsetBalancedTerminationFlag() {
balancedTerminationFlag = null;
balancedTerminationFlagSpecified = false;
}
/**
* The number of seconds this group will wait after lastActionDate before performing another action. Be advised, this can be overridden per policy. While strongly discouraged, a value of 0 effectively disables cooldown.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long cooldown;
public Long getCooldown() {
return cooldown;
}
public void setCooldown(Long cooldown) {
cooldownSpecified = true;
this.cooldown = cooldown;
}
protected boolean cooldownSpecified;
public boolean isCooldownSpecified() {
return cooldownSpecified;
}
public void unsetCooldown() {
cooldown = null;
cooldownSpecified = false;
}
/**
* When this group was created.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected GregorianCalendar createDate;
public GregorianCalendar getCreateDate() {
return createDate;
}
public void setCreateDate(GregorianCalendar createDate) {
createDateSpecified = true;
this.createDate = createDate;
}
protected boolean createDateSpecified;
public boolean isCreateDateSpecified() {
return createDateSpecified;
}
public void unsetCreateDate() {
createDate = null;
createDateSpecified = false;
}
/**
* This value is only available on the template for creating and editing a group. It will be null when retrieved. When this value is provided on create or edit, guests will be scaled up or down to meet this number. This number must be in the range provided by minimumMemberCount and maximumMemberCount. This value can only be present during create or edit when this group is active. Note, guests that are created as a result of this value can possibly be removed after cooldown by a policy.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long desiredMemberCount;
public Long getDesiredMemberCount() {
return desiredMemberCount;
}
public void setDesiredMemberCount(Long desiredMemberCount) {
desiredMemberCountSpecified = true;
this.desiredMemberCount = desiredMemberCount;
}
protected boolean desiredMemberCountSpecified;
public boolean isDesiredMemberCountSpecified() {
return desiredMemberCountSpecified;
}
public void unsetDesiredMemberCount() {
desiredMemberCount = null;
desiredMemberCountSpecified = false;
}
/**
* A group'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;
}
/**
* The date of the last action on this group or its create date
*/
@ApiProperty(canBeNullOrNotSet = true)
protected GregorianCalendar lastActionDate;
public GregorianCalendar getLastActionDate() {
return lastActionDate;
}
public void setLastActionDate(GregorianCalendar lastActionDate) {
lastActionDateSpecified = true;
this.lastActionDate = lastActionDate;
}
protected boolean lastActionDateSpecified;
public boolean isLastActionDateSpecified() {
return lastActionDateSpecified;
}
public void unsetLastActionDate() {
lastActionDate = null;
lastActionDateSpecified = false;
}
/**
* The greatest number of virtual guest members that are allowed on this group. Any attempts to add a guest member will fail if it will result in the total guest member count of this group to be above this number. If this number is edited and is less than the current guest member count, guests will be removed to at least be no greater than this number.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long maximumMemberCount;
public Long getMaximumMemberCount() {
return maximumMemberCount;
}
public void setMaximumMemberCount(Long maximumMemberCount) {
maximumMemberCountSpecified = true;
this.maximumMemberCount = maximumMemberCount;
}
protected boolean maximumMemberCountSpecified;
public boolean isMaximumMemberCountSpecified() {
return maximumMemberCountSpecified;
}
public void unsetMaximumMemberCount() {
maximumMemberCount = null;
maximumMemberCountSpecified = false;
}
/**
* The fewest number of virtual guest members that are allowed on this group. Any attempts to remove a guest member will fail if it will result in the total guest member count of this group to be below this number. If this number is edited and is larger than the current guest member count, guests will be added to at least reach this number.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long minimumMemberCount;
public Long getMinimumMemberCount() {
return minimumMemberCount;
}
public void setMinimumMemberCount(Long minimumMemberCount) {
minimumMemberCountSpecified = true;
this.minimumMemberCount = minimumMemberCount;
}
protected boolean minimumMemberCountSpecified;
public boolean isMinimumMemberCountSpecified() {
return minimumMemberCountSpecified;
}
public void unsetMinimumMemberCount() {
minimumMemberCount = null;
minimumMemberCountSpecified = false;
}
/**
* When this group was last modified.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected GregorianCalendar modifyDate;
public GregorianCalendar getModifyDate() {
return modifyDate;
}
public void setModifyDate(GregorianCalendar modifyDate) {
modifyDateSpecified = true;
this.modifyDate = modifyDate;
}
protected boolean modifyDateSpecified;
public boolean isModifyDateSpecified() {
return modifyDateSpecified;
}
public void unsetModifyDate() {
modifyDate = null;
modifyDateSpecified = false;
}
/**
* The name of this scale group. It must be unique on the account.
*/
@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;
}
/**
* The identifier of the regional group this scaling group is assigned to.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long regionalGroupId;
public Long getRegionalGroupId() {
return regionalGroupId;
}
public void setRegionalGroupId(Long regionalGroupId) {
regionalGroupIdSpecified = true;
this.regionalGroupId = regionalGroupId;
}
protected boolean regionalGroupIdSpecified;
public boolean isRegionalGroupIdSpecified() {
return regionalGroupIdSpecified;
}
public void unsetRegionalGroupId() {
regionalGroupId = null;
regionalGroupIdSpecified = false;
}
/**
* If true, this group is suspended.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Boolean suspendedFlag;
public Boolean getSuspendedFlag() {
return suspendedFlag;
}
public void setSuspendedFlag(Boolean suspendedFlag) {
suspendedFlagSpecified = true;
this.suspendedFlag = suspendedFlag;
}
protected boolean suspendedFlagSpecified;
public boolean isSuspendedFlagSpecified() {
return suspendedFlagSpecified;
}
public void unsetSuspendedFlag() {
suspendedFlag = null;
suspendedFlagSpecified = false;
}
/**
* The termination policy for the group. This determines which member to choose to delete when scaling downwards.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long terminationPolicyId;
public Long getTerminationPolicyId() {
return terminationPolicyId;
}
public void setTerminationPolicyId(Long terminationPolicyId) {
terminationPolicyIdSpecified = true;
this.terminationPolicyId = terminationPolicyId;
}
protected boolean terminationPolicyIdSpecified;
public boolean isTerminationPolicyIdSpecified() {
return terminationPolicyIdSpecified;
}
public void unsetTerminationPolicyId() {
terminationPolicyId = null;
terminationPolicyIdSpecified = false;
}
/**
* This is the template to create guest members with. This is the same template accepted by the createObject call on SoftLayer_Virtual_Guest with some caveats. The hostname provided will have an arbitrary value appended to it for each guest created. Also, hourlyBillingFlag cannot be false, and if the datacenter is provided it must be in the region of this group. Finally, VLANs cannot be provided for the template, it will use VLANs provided to this group instead.
*
* Note, if this template is edited on an existing group the previous template values are not kept and are not considered during termination. This means a group's guest members could effectively be a hybrid of multiple templates because this value was changed after some guest members were created but before others were created.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Guest virtualGuestMemberTemplate;
public Guest getVirtualGuestMemberTemplate() {
return virtualGuestMemberTemplate;
}
public void setVirtualGuestMemberTemplate(Guest virtualGuestMemberTemplate) {
virtualGuestMemberTemplateSpecified = true;
this.virtualGuestMemberTemplate = virtualGuestMemberTemplate;
}
protected boolean virtualGuestMemberTemplateSpecified;
public boolean isVirtualGuestMemberTemplateSpecified() {
return virtualGuestMemberTemplateSpecified;
}
public void unsetVirtualGuestMemberTemplate() {
virtualGuestMemberTemplate = null;
virtualGuestMemberTemplateSpecified = false;
}
/**
* A count of collection of load balancers for this auto scale group.
*/
@ApiProperty
protected Long loadBalancerCount;
public Long getLoadBalancerCount() {
return loadBalancerCount;
}
public void setLoadBalancerCount(Long loadBalancerCount) {
this.loadBalancerCount = loadBalancerCount;
}
/**
* A count of collection of log entries for this group.
*/
@ApiProperty
protected Long logCount;
public Long getLogCount() {
return logCount;
}
public void setLogCount(Long logCount) {
this.logCount = logCount;
}
/**
* A count of collection of VLANs for this auto scale group. VLANs are optional. This can contain a public or private VLAN or both. When a single VLAN for a public/private type is given it can be a non-purchased VLAN only if the minimumMemberCount on the group is >= 1. This can also contain any number of public/private purchased VLANs and members are staggered across them when scaled up.
*/
@ApiProperty
protected Long networkVlanCount;
public Long getNetworkVlanCount() {
return networkVlanCount;
}
public void setNetworkVlanCount(Long networkVlanCount) {
this.networkVlanCount = networkVlanCount;
}
/**
* A count of collection of policies for this group. This can be empty.
*/
@ApiProperty
protected Long policyCount;
public Long getPolicyCount() {
return policyCount;
}
public void setPolicyCount(Long policyCount) {
this.policyCount = policyCount;
}
/**
* A count of collection of guests that have been pinned to this group. Guest assets are only used for certain trigger checks such as resource watches. They do not count towards the auto scaling guest counts of this group in anyway and are never automatically added or removed.
*/
@ApiProperty
protected Long virtualGuestAssetCount;
public Long getVirtualGuestAssetCount() {
return virtualGuestAssetCount;
}
public void setVirtualGuestAssetCount(Long virtualGuestAssetCount) {
this.virtualGuestAssetCount = virtualGuestAssetCount;
}
/**
* A count of collection of guests that have been scaled with the group. When this group is active, the count of guests here is guaranteed to be between minimumMemberCount and maximumMemberCount inclusively.
*/
@ApiProperty
protected Long virtualGuestMemberCount;
public Long getVirtualGuestMemberCount() {
return virtualGuestMemberCount;
}
public void setVirtualGuestMemberCount(Long virtualGuestMemberCount) {
this.virtualGuestMemberCount = virtualGuestMemberCount;
}
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 scale group can contain a number of guest members which can fluctuate up and down, staying within a defined range, manually or automatically based on policies given. Groups are set of VLANs to be placed behind. Groups can also have static hardware/guests pinned to the group. These static resources can be used to effect things like moving averages for policy triggers but are not counted as group members and are not subject to automatic reclaim.
*
* @see SoftLayer_Scale_Group
*/
@com.softlayer.api.annotation.ApiService("SoftLayer_Scale_Group")
public static interface Service extends com.softlayer.api.Service {
public ServiceAsync asAsync();
public Mask withNewMask();
public Mask withMask();
public void setMask(Mask mask);
/**
* Create a scale group. If minimumMemberCount is greater than zero or desiredMemberCount is present, guest members will be created right away.
*
* @see SoftLayer_Scale_Group::createObject
*/
@ApiMethod
public Group createObject(Group templateObject);
/**
* Delete this group. This can only be done on an empty, active group. This means that minimumMemberCount must be 0 since it is the only way for a group to have no group members. To delete a group and all of its members at the same time, use forceDeleteObject.
*
* @see SoftLayer_Scale_Group::deleteObject
*/
@ApiMethod(instanceRequired = true)
public Boolean deleteObject();
/**
* Edit this group. The name can be edited at any time. The minimumMemberCount and maximumMemberCount fields can also be edited at any time provided they don't force a scale up or scale down to bring the group into the proper range. Otherwise, the group's status must be active to set those fields. If the group member count is less than the new minimumMemberCount and the group is active, it will scale up the group members to reach the new minimum. Similarly if the group member count is greater than the new maximumMemberCount and the group is active, it will scale down the group members to reach the new maximum.
*
* When editing an active group, a special field can be provided: desiredMemberCount. When given, the group members are automatically scaled up or down to reach that number.
*
* @see SoftLayer_Scale_Group::editObject
*/
@ApiMethod(instanceRequired = true)
public Boolean editObject(Group templateObject);
/**
* @see SoftLayer_Scale_Group::forceDeleteObject
*/
@ApiMethod(instanceRequired = true)
public Boolean forceDeleteObject();
/**
* This returns the number of hourly instances an account can add from this point. It is essentially the same as [[SoftLayer_Account/hourlyInstanceLimit|hourlyInstanceLimit]] minus existing hourly instances and ones spoken for as part of a scaling group (as determined by the group's maximum). This number can be used to help determine a maximum member count for a new group to ensure it won't go over the account limit. This can return a negative value if the current hourly instance count combined with the unused-but-possible count (based on other scale group maximums) is over the limit.
*
* @see SoftLayer_Scale_Group::getAvailableHourlyInstanceLimit
*/
@ApiMethod
public Long getAvailableHourlyInstanceLimit();
/**
* @see SoftLayer_Scale_Group::getAvailableRegionalGroups
*/
@ApiMethod
public List getAvailableRegionalGroups();
/**
* @see SoftLayer_Scale_Group::getObject
*/
@ApiMethod(instanceRequired = true)
public Group getObject();
/**
* Resume this group. The group must be in a suspended status to do this. By doing this, the group's status will become active.
*
* @see SoftLayer_Scale_Group::resume
*/
@ApiMethod(instanceRequired = true)
public Void resume();
/**
* Scale this group up or down by the amount given. If the number is negative, the given amount of guest members are removed. Similarly, if the number is positive, the given amount of guest members are added. Note, this call will add or remove as much as asked for, but will NOT go beyond the limits set by minimumMemberCount and maximumMemberCount. The result is a collection of SoftLayer_Scale_Member instances that were either removed or added. This call can only be invoked on an active group and does not respect cooldown (i.e. even if in a cooldown period, the scaling will still occur).
*
* @see SoftLayer_Scale_Group::scale
*/
@ApiMethod(instanceRequired = true)
public List scale(Long delta);
/**
* Scale this group up or down to the number given. This call will add or remove as many guests as necessary, but will NOT go beyond the limits set by minimumMemberCount and maximumMemberCount. This call and its result are the equivalent of calling scale(number - virtualGuestMemberCount). This call can only be invoked on an active group and does not respect cooldown (i.e. even if in a cooldown period, the scaling will still occur).
*
* @see SoftLayer_Scale_Group::scaleTo
*/
@ApiMethod(instanceRequired = true)
public List scaleTo(Long number);
/**
* Suspend this group. The group must be in an active status to do this. While suspended, a group cannot add or remove guest members for any reason. Changes to group settings that will cause a member to be added or deleted is also not allowed.
*
* @see SoftLayer_Scale_Group::suspend
*/
@ApiMethod(instanceRequired = true)
public Void suspend();
/**
* The account for this scaling group.
*
* @see SoftLayer_Scale_Group::getAccount
*/
@ApiMethod(instanceRequired = true)
public Account getAccount();
/**
* Collection of load balancers for this auto scale group.
*
* @see SoftLayer_Scale_Group::getLoadBalancers
*/
@ApiMethod(instanceRequired = true)
public List getLoadBalancers();
/**
* Collection of log entries for this group.
*
* @see SoftLayer_Scale_Group::getLogs
*/
@ApiMethod(instanceRequired = true)
public List getLogs();
/**
* Collection of VLANs for this auto scale group. VLANs are optional. This can contain a public or private VLAN or both. When a single VLAN for a public/private type is given it can be a non-purchased VLAN only if the minimumMemberCount on the group is >= 1. This can also contain any number of public/private purchased VLANs and members are staggered across them when scaled up.
*
* @see SoftLayer_Scale_Group::getNetworkVlans
*/
@ApiMethod(instanceRequired = true)
public List getNetworkVlans();
/**
* Collection of policies for this group. This can be empty.
*
* @see SoftLayer_Scale_Group::getPolicies
*/
@ApiMethod(instanceRequired = true)
public List getPolicies();
/**
* The regional group for this scale group.
*
* @see SoftLayer_Scale_Group::getRegionalGroup
*/
@ApiMethod(instanceRequired = true)
public Regional getRegionalGroup();
/**
* The status for this scale group.
*
* @see SoftLayer_Scale_Group::getStatus
*/
@ApiMethod(instanceRequired = true)
public Status getStatus();
/**
* The termination policy for this scaling group.
*
* @see SoftLayer_Scale_Group::getTerminationPolicy
*/
@ApiMethod(instanceRequired = true)
public Policy getTerminationPolicy();
/**
* Collection of guests that have been pinned to this group. Guest assets are only used for certain trigger checks such as resource watches. They do not count towards the auto scaling guest counts of this group in anyway and are never automatically added or removed.
*
* @see SoftLayer_Scale_Group::getVirtualGuestAssets
*/
@ApiMethod(instanceRequired = true)
public List getVirtualGuestAssets();
/**
* Collection of guests that have been scaled with the group. When this group is active, the count of guests here is guaranteed to be between minimumMemberCount and maximumMemberCount inclusively.
*
* @see SoftLayer_Scale_Group::getVirtualGuestMembers
*/
@ApiMethod(instanceRequired = true)
public List getVirtualGuestMembers();
}
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#createObject}
*/
public Future createObject(Group templateObject);
public Future> createObject(Group templateObject, ResponseHandler callback);
/**
* Async version of {@link Service#deleteObject}
*/
public Future deleteObject();
public Future> deleteObject(ResponseHandler callback);
/**
* Async version of {@link Service#editObject}
*/
public Future editObject(Group templateObject);
public Future> editObject(Group templateObject, ResponseHandler callback);
/**
* Async version of {@link Service#forceDeleteObject}
*/
public Future forceDeleteObject();
public Future> forceDeleteObject(ResponseHandler callback);
/**
* Async version of {@link Service#getAvailableHourlyInstanceLimit}
*/
public Future getAvailableHourlyInstanceLimit();
public Future> getAvailableHourlyInstanceLimit(ResponseHandler callback);
/**
* Async version of {@link Service#getAvailableRegionalGroups}
*/
public Future> getAvailableRegionalGroups();
public Future> getAvailableRegionalGroups(ResponseHandler> callback);
/**
* Async version of {@link Service#getObject}
*/
public Future getObject();
public Future> getObject(ResponseHandler callback);
/**
* Async version of {@link Service#resume}
*/
public Future resume();
public Future> resume(ResponseHandler callback);
/**
* Async version of {@link Service#scale}
*/
public Future> scale(Long delta);
public Future> scale(Long delta, ResponseHandler> callback);
/**
* Async version of {@link Service#scaleTo}
*/
public Future> scaleTo(Long number);
public Future> scaleTo(Long number, ResponseHandler> callback);
/**
* Async version of {@link Service#suspend}
*/
public Future suspend();
public Future> suspend(ResponseHandler callback);
/**
* Async version of {@link Service#getAccount}
*/
public Future getAccount();
/**
* Async callback version of {@link Service#getAccount}
*/
public Future> getAccount(ResponseHandler callback);
/**
* Async version of {@link Service#getLoadBalancers}
*/
public Future> getLoadBalancers();
/**
* Async callback version of {@link Service#getLoadBalancers}
*/
public Future> getLoadBalancers(ResponseHandler> callback);
/**
* Async version of {@link Service#getLogs}
*/
public Future> getLogs();
/**
* Async callback version of {@link Service#getLogs}
*/
public Future> getLogs(ResponseHandler> callback);
/**
* Async version of {@link Service#getNetworkVlans}
*/
public Future> getNetworkVlans();
/**
* Async callback version of {@link Service#getNetworkVlans}
*/
public Future> getNetworkVlans(ResponseHandler> callback);
/**
* Async version of {@link Service#getPolicies}
*/
public Future> getPolicies();
/**
* Async callback version of {@link Service#getPolicies}
*/
public Future> getPolicies(ResponseHandler> callback);
/**
* Async version of {@link Service#getRegionalGroup}
*/
public Future getRegionalGroup();
/**
* Async callback version of {@link Service#getRegionalGroup}
*/
public Future> getRegionalGroup(ResponseHandler callback);
/**
* Async version of {@link Service#getStatus}
*/
public Future getStatus();
/**
* Async callback version of {@link Service#getStatus}
*/
public Future> getStatus(ResponseHandler callback);
/**
* Async version of {@link Service#getTerminationPolicy}
*/
public Future getTerminationPolicy();
/**
* Async callback version of {@link Service#getTerminationPolicy}
*/
public Future> getTerminationPolicy(ResponseHandler callback);
/**
* Async version of {@link Service#getVirtualGuestAssets}
*/
public Future> getVirtualGuestAssets();
/**
* Async callback version of {@link Service#getVirtualGuestAssets}
*/
public Future> getVirtualGuestAssets(ResponseHandler> callback);
/**
* Async version of {@link Service#getVirtualGuestMembers}
*/
public Future> getVirtualGuestMembers();
/**
* Async callback version of {@link Service#getVirtualGuestMembers}
*/
public Future> getVirtualGuestMembers(ResponseHandler> callback);
}
public static class Mask extends com.softlayer.api.service.Entity.Mask {
public com.softlayer.api.service.Account.Mask account() {
return withSubMask("account", com.softlayer.api.service.Account.Mask.class);
}
public LoadBalancer.Mask loadBalancers() {
return withSubMask("loadBalancers", LoadBalancer.Mask.class);
}
public com.softlayer.api.service.scale.group.Log.Mask logs() {
return withSubMask("logs", com.softlayer.api.service.scale.group.Log.Mask.class);
}
public com.softlayer.api.service.scale.network.Vlan.Mask networkVlans() {
return withSubMask("networkVlans", com.softlayer.api.service.scale.network.Vlan.Mask.class);
}
public Policy.Mask policies() {
return withSubMask("policies", Policy.Mask.class);
}
public com.softlayer.api.service.location.group.Regional.Mask regionalGroup() {
return withSubMask("regionalGroup", com.softlayer.api.service.location.group.Regional.Mask.class);
}
public com.softlayer.api.service.scale.group.Status.Mask status() {
return withSubMask("status", com.softlayer.api.service.scale.group.Status.Mask.class);
}
public com.softlayer.api.service.scale.termination.Policy.Mask terminationPolicy() {
return withSubMask("terminationPolicy", com.softlayer.api.service.scale.termination.Policy.Mask.class);
}
public com.softlayer.api.service.scale.asset.virtual.Guest.Mask virtualGuestAssets() {
return withSubMask("virtualGuestAssets", com.softlayer.api.service.scale.asset.virtual.Guest.Mask.class);
}
public com.softlayer.api.service.scale.member.virtual.Guest.Mask virtualGuestMembers() {
return withSubMask("virtualGuestMembers", com.softlayer.api.service.scale.member.virtual.Guest.Mask.class);
}
public Mask accountId() {
withLocalProperty("accountId");
return this;
}
public Mask balancedTerminationFlag() {
withLocalProperty("balancedTerminationFlag");
return this;
}
public Mask cooldown() {
withLocalProperty("cooldown");
return this;
}
public Mask createDate() {
withLocalProperty("createDate");
return this;
}
public Mask desiredMemberCount() {
withLocalProperty("desiredMemberCount");
return this;
}
public Mask id() {
withLocalProperty("id");
return this;
}
public Mask lastActionDate() {
withLocalProperty("lastActionDate");
return this;
}
public Mask maximumMemberCount() {
withLocalProperty("maximumMemberCount");
return this;
}
public Mask minimumMemberCount() {
withLocalProperty("minimumMemberCount");
return this;
}
public Mask modifyDate() {
withLocalProperty("modifyDate");
return this;
}
public Mask name() {
withLocalProperty("name");
return this;
}
public Mask regionalGroupId() {
withLocalProperty("regionalGroupId");
return this;
}
public Mask suspendedFlag() {
withLocalProperty("suspendedFlag");
return this;
}
public Mask terminationPolicyId() {
withLocalProperty("terminationPolicyId");
return this;
}
public com.softlayer.api.service.virtual.Guest.Mask virtualGuestMemberTemplate() {
return withSubMask("virtualGuestMemberTemplate", com.softlayer.api.service.virtual.Guest.Mask.class);
}
public Mask loadBalancerCount() {
withLocalProperty("loadBalancerCount");
return this;
}
public Mask logCount() {
withLocalProperty("logCount");
return this;
}
public Mask networkVlanCount() {
withLocalProperty("networkVlanCount");
return this;
}
public Mask policyCount() {
withLocalProperty("policyCount");
return this;
}
public Mask virtualGuestAssetCount() {
withLocalProperty("virtualGuestAssetCount");
return this;
}
public Mask virtualGuestMemberCount() {
withLocalProperty("virtualGuestMemberCount");
return this;
}
}
}