Package com.softlayer.api.service.scale
Class Group
- java.lang.Object
-
- com.softlayer.api.Type
-
- com.softlayer.api.service.Entity
-
- com.softlayer.api.service.scale.Group
-
@ApiType("SoftLayer_Scale_Group") public class Group extends Entity
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 Also:
- SoftLayer_Scale_Group
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Group.Mask
static interface
Group.Service
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.static interface
Group.ServiceAsync
-
Field Summary
Fields Modifier and Type Field Description protected Account
account
The account for this scaling group.protected Long
accountId
The identifier of the account assigned to this group.protected boolean
accountIdSpecified
protected Boolean
balancedTerminationFlag
If this is true, this group will scale down members in a way to preserve the balance across VLANs.protected boolean
balancedTerminationFlagSpecified
protected Long
cooldown
The number of seconds this group will wait after lastActionDate before performing another action.protected boolean
cooldownSpecified
protected GregorianCalendar
createDate
When this group was created.protected boolean
createDateSpecified
protected Long
desiredMemberCount
This value is only available on the template for creating and editing a group.protected boolean
desiredMemberCountSpecified
protected Long
id
A group's internal identifier.protected boolean
idSpecified
protected GregorianCalendar
lastActionDate
The date of the last action on this group or its create dateprotected boolean
lastActionDateSpecified
protected Long
loadBalancerCount
A count of collection of load balancers for this auto scale group.protected List<LoadBalancer>
loadBalancers
Collection of load balancers for this auto scale group.protected Long
logCount
A count of collection of log entries for this group.protected List<Log>
logs
Collection of log entries for this group.protected Long
maximumMemberCount
The greatest number of virtual guest members that are allowed on this group.protected boolean
maximumMemberCountSpecified
protected Long
minimumMemberCount
The fewest number of virtual guest members that are allowed on this group.protected boolean
minimumMemberCountSpecified
protected GregorianCalendar
modifyDate
When this group was last modified.protected boolean
modifyDateSpecified
protected String
name
The name of this scale group.protected boolean
nameSpecified
protected Long
networkVlanCount
A count of collection of VLANs for this auto scale group.protected List<Vlan>
networkVlans
Collection of VLANs for this auto scale group.protected List<Policy>
policies
Collection of policies for this group.protected Long
policyCount
A count of collection of policies for this group.protected Regional
regionalGroup
The regional group for this scale group.protected Long
regionalGroupId
The identifier of the regional group this scaling group is assigned to.protected boolean
regionalGroupIdSpecified
protected Status
status
The status for this scale group.protected Boolean
suspendedFlag
If true, this group is suspended.protected boolean
suspendedFlagSpecified
protected Policy
terminationPolicy
The termination policy for this scaling group.protected Long
terminationPolicyId
The termination policy for the group.protected boolean
terminationPolicyIdSpecified
protected Long
virtualGuestAssetCount
A count of collection of guests that have been pinned to this group.protected List<Guest>
virtualGuestAssets
Collection of guests that have been pinned to this group.protected Long
virtualGuestMemberCount
A count of collection of guests that have been scaled with the group.protected List<Guest>
virtualGuestMembers
Collection of guests that have been scaled with the group.protected Guest
virtualGuestMemberTemplate
This is the template to create guest members with.protected boolean
virtualGuestMemberTemplateSpecified
-
Fields inherited from class com.softlayer.api.Type
unknownProperties
-
-
Constructor Summary
Constructors Constructor Description Group()
-
Method Summary
-
Methods inherited from class com.softlayer.api.Type
getUnknownProperties, setUnknownProperties
-
-
-
-
Field Detail
-
account
@ApiProperty protected Account account
The account for this scaling group.
-
loadBalancers
@ApiProperty protected List<LoadBalancer> loadBalancers
Collection of load balancers for this auto scale group.
-
logs
@ApiProperty protected List<Log> logs
Collection of log entries for this group.
-
networkVlans
@ApiProperty protected List<Vlan> networkVlans
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.
-
policies
@ApiProperty protected List<Policy> policies
Collection of policies for this group. This can be empty.
-
regionalGroup
@ApiProperty protected Regional regionalGroup
The regional group for this scale group.
-
status
@ApiProperty protected Status status
The status for this scale group.
-
terminationPolicy
@ApiProperty protected Policy terminationPolicy
The termination policy for this scaling group.
-
virtualGuestAssets
@ApiProperty protected List<Guest> virtualGuestAssets
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.
-
virtualGuestMembers
@ApiProperty protected List<Guest> virtualGuestMembers
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.
-
accountId
@ApiProperty(canBeNullOrNotSet=true) protected Long accountId
The identifier of the account assigned to this group.
-
accountIdSpecified
protected boolean accountIdSpecified
-
balancedTerminationFlag
@ApiProperty(canBeNullOrNotSet=true) protected Boolean balancedTerminationFlag
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.
-
balancedTerminationFlagSpecified
protected boolean balancedTerminationFlagSpecified
-
cooldown
@ApiProperty(canBeNullOrNotSet=true) protected Long cooldown
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.
-
cooldownSpecified
protected boolean cooldownSpecified
-
createDate
@ApiProperty(canBeNullOrNotSet=true) protected GregorianCalendar createDate
When this group was created.
-
createDateSpecified
protected boolean createDateSpecified
-
desiredMemberCount
@ApiProperty(canBeNullOrNotSet=true) protected Long desiredMemberCount
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.
-
desiredMemberCountSpecified
protected boolean desiredMemberCountSpecified
-
id
@ApiProperty(canBeNullOrNotSet=true) protected Long id
A group's internal identifier.
-
idSpecified
protected boolean idSpecified
-
lastActionDate
@ApiProperty(canBeNullOrNotSet=true) protected GregorianCalendar lastActionDate
The date of the last action on this group or its create date
-
lastActionDateSpecified
protected boolean lastActionDateSpecified
-
maximumMemberCount
@ApiProperty(canBeNullOrNotSet=true) protected Long maximumMemberCount
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.
-
maximumMemberCountSpecified
protected boolean maximumMemberCountSpecified
-
minimumMemberCount
@ApiProperty(canBeNullOrNotSet=true) protected Long minimumMemberCount
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.
-
minimumMemberCountSpecified
protected boolean minimumMemberCountSpecified
-
modifyDate
@ApiProperty(canBeNullOrNotSet=true) protected GregorianCalendar modifyDate
When this group was last modified.
-
modifyDateSpecified
protected boolean modifyDateSpecified
-
name
@ApiProperty(canBeNullOrNotSet=true) protected String name
The name of this scale group. It must be unique on the account.
-
nameSpecified
protected boolean nameSpecified
-
regionalGroupId
@ApiProperty(canBeNullOrNotSet=true) protected Long regionalGroupId
The identifier of the regional group this scaling group is assigned to.
-
regionalGroupIdSpecified
protected boolean regionalGroupIdSpecified
-
suspendedFlag
@ApiProperty(canBeNullOrNotSet=true) protected Boolean suspendedFlag
If true, this group is suspended.
-
suspendedFlagSpecified
protected boolean suspendedFlagSpecified
-
terminationPolicyId
@ApiProperty(canBeNullOrNotSet=true) protected Long terminationPolicyId
The termination policy for the group. This determines which member to choose to delete when scaling downwards.
-
terminationPolicyIdSpecified
protected boolean terminationPolicyIdSpecified
-
virtualGuestMemberTemplate
@ApiProperty(canBeNullOrNotSet=true) protected Guest virtualGuestMemberTemplate
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.
-
virtualGuestMemberTemplateSpecified
protected boolean virtualGuestMemberTemplateSpecified
-
loadBalancerCount
@ApiProperty protected Long loadBalancerCount
A count of collection of load balancers for this auto scale group.
-
logCount
@ApiProperty protected Long logCount
A count of collection of log entries for this group.
-
networkVlanCount
@ApiProperty protected Long networkVlanCount
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.
-
policyCount
@ApiProperty protected Long policyCount
A count of collection of policies for this group. This can be empty.
-
virtualGuestAssetCount
@ApiProperty protected Long virtualGuestAssetCount
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.
-
virtualGuestMemberCount
@ApiProperty protected Long virtualGuestMemberCount
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.
-
-
Method Detail
-
getAccount
public Account getAccount()
-
setAccount
public void setAccount(Account account)
-
getLoadBalancers
public List<LoadBalancer> getLoadBalancers()
-
getRegionalGroup
public Regional getRegionalGroup()
-
setRegionalGroup
public void setRegionalGroup(Regional regionalGroup)
-
getStatus
public Status getStatus()
-
setStatus
public void setStatus(Status status)
-
getTerminationPolicy
public Policy getTerminationPolicy()
-
setTerminationPolicy
public void setTerminationPolicy(Policy terminationPolicy)
-
getAccountId
public Long getAccountId()
-
setAccountId
public void setAccountId(Long accountId)
-
isAccountIdSpecified
public boolean isAccountIdSpecified()
-
unsetAccountId
public void unsetAccountId()
-
getBalancedTerminationFlag
public Boolean getBalancedTerminationFlag()
-
setBalancedTerminationFlag
public void setBalancedTerminationFlag(Boolean balancedTerminationFlag)
-
isBalancedTerminationFlagSpecified
public boolean isBalancedTerminationFlagSpecified()
-
unsetBalancedTerminationFlag
public void unsetBalancedTerminationFlag()
-
getCooldown
public Long getCooldown()
-
setCooldown
public void setCooldown(Long cooldown)
-
isCooldownSpecified
public boolean isCooldownSpecified()
-
unsetCooldown
public void unsetCooldown()
-
getCreateDate
public GregorianCalendar getCreateDate()
-
setCreateDate
public void setCreateDate(GregorianCalendar createDate)
-
isCreateDateSpecified
public boolean isCreateDateSpecified()
-
unsetCreateDate
public void unsetCreateDate()
-
getDesiredMemberCount
public Long getDesiredMemberCount()
-
setDesiredMemberCount
public void setDesiredMemberCount(Long desiredMemberCount)
-
isDesiredMemberCountSpecified
public boolean isDesiredMemberCountSpecified()
-
unsetDesiredMemberCount
public void unsetDesiredMemberCount()
-
getId
public Long getId()
-
setId
public void setId(Long id)
-
isIdSpecified
public boolean isIdSpecified()
-
unsetId
public void unsetId()
-
getLastActionDate
public GregorianCalendar getLastActionDate()
-
setLastActionDate
public void setLastActionDate(GregorianCalendar lastActionDate)
-
isLastActionDateSpecified
public boolean isLastActionDateSpecified()
-
unsetLastActionDate
public void unsetLastActionDate()
-
getMaximumMemberCount
public Long getMaximumMemberCount()
-
setMaximumMemberCount
public void setMaximumMemberCount(Long maximumMemberCount)
-
isMaximumMemberCountSpecified
public boolean isMaximumMemberCountSpecified()
-
unsetMaximumMemberCount
public void unsetMaximumMemberCount()
-
getMinimumMemberCount
public Long getMinimumMemberCount()
-
setMinimumMemberCount
public void setMinimumMemberCount(Long minimumMemberCount)
-
isMinimumMemberCountSpecified
public boolean isMinimumMemberCountSpecified()
-
unsetMinimumMemberCount
public void unsetMinimumMemberCount()
-
getModifyDate
public GregorianCalendar getModifyDate()
-
setModifyDate
public void setModifyDate(GregorianCalendar modifyDate)
-
isModifyDateSpecified
public boolean isModifyDateSpecified()
-
unsetModifyDate
public void unsetModifyDate()
-
getName
public String getName()
-
setName
public void setName(String name)
-
isNameSpecified
public boolean isNameSpecified()
-
unsetName
public void unsetName()
-
getRegionalGroupId
public Long getRegionalGroupId()
-
setRegionalGroupId
public void setRegionalGroupId(Long regionalGroupId)
-
isRegionalGroupIdSpecified
public boolean isRegionalGroupIdSpecified()
-
unsetRegionalGroupId
public void unsetRegionalGroupId()
-
getSuspendedFlag
public Boolean getSuspendedFlag()
-
setSuspendedFlag
public void setSuspendedFlag(Boolean suspendedFlag)
-
isSuspendedFlagSpecified
public boolean isSuspendedFlagSpecified()
-
unsetSuspendedFlag
public void unsetSuspendedFlag()
-
getTerminationPolicyId
public Long getTerminationPolicyId()
-
setTerminationPolicyId
public void setTerminationPolicyId(Long terminationPolicyId)
-
isTerminationPolicyIdSpecified
public boolean isTerminationPolicyIdSpecified()
-
unsetTerminationPolicyId
public void unsetTerminationPolicyId()
-
getVirtualGuestMemberTemplate
public Guest getVirtualGuestMemberTemplate()
-
setVirtualGuestMemberTemplate
public void setVirtualGuestMemberTemplate(Guest virtualGuestMemberTemplate)
-
isVirtualGuestMemberTemplateSpecified
public boolean isVirtualGuestMemberTemplateSpecified()
-
unsetVirtualGuestMemberTemplate
public void unsetVirtualGuestMemberTemplate()
-
getLoadBalancerCount
public Long getLoadBalancerCount()
-
setLoadBalancerCount
public void setLoadBalancerCount(Long loadBalancerCount)
-
getLogCount
public Long getLogCount()
-
setLogCount
public void setLogCount(Long logCount)
-
getNetworkVlanCount
public Long getNetworkVlanCount()
-
setNetworkVlanCount
public void setNetworkVlanCount(Long networkVlanCount)
-
getPolicyCount
public Long getPolicyCount()
-
setPolicyCount
public void setPolicyCount(Long policyCount)
-
getVirtualGuestAssetCount
public Long getVirtualGuestAssetCount()
-
setVirtualGuestAssetCount
public void setVirtualGuestAssetCount(Long virtualGuestAssetCount)
-
getVirtualGuestMemberCount
public Long getVirtualGuestMemberCount()
-
setVirtualGuestMemberCount
public void setVirtualGuestMemberCount(Long virtualGuestMemberCount)
-
asService
public Group.Service asService(ApiClient client)
-
service
public static Group.Service service(ApiClient client)
-
service
public static Group.Service service(ApiClient client, Long id)
-
-