Package com.softlayer.api.service.scale
Interface Group.Service
-
- All Superinterfaces:
Maskable
,ResultLimitable
,Service
- Enclosing class:
- Group
@ApiService("SoftLayer_Scale_Group") public static interface Group.Service extends 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. 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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Group.ServiceAsync
asAsync()
Get an async version of this serviceGroup
createObject(Group templateObject)
Create a scale group.Boolean
deleteObject()
Delete this group.Boolean
editObject(Group templateObject)
Edit this group.Boolean
forceDeleteObject()
Account
getAccount()
The account for this scaling group.Long
getAvailableHourlyInstanceLimit()
This returns the number of hourly instances an account can add from this point.List<Group>
getAvailableRegionalGroups()
List<LoadBalancer>
getLoadBalancers()
Collection of load balancers for this auto scale group.List<Log>
getLogs()
Collection of log entries for this group.List<Vlan>
getNetworkVlans()
Collection of VLANs for this auto scale group.Group
getObject()
List<Policy>
getPolicies()
Collection of policies for this group.Regional
getRegionalGroup()
The regional group for this scale group.Status
getStatus()
The status for this scale group.Policy
getTerminationPolicy()
The termination policy for this scaling group.List<Guest>
getVirtualGuestAssets()
Collection of guests that have been pinned to this group.List<Guest>
getVirtualGuestMembers()
Collection of guests that have been scaled with the group.Void
resume()
Resume this group.List<Member>
scale(Long delta)
Scale this group up or down by the amount given.List<Member>
scaleTo(Long number)
Scale this group up or down to the number given.void
setMask(Group.Mask mask)
Void
suspend()
Suspend this group.Group.Mask
withMask()
Use the existing mask on this service or create it if not presentGroup.Mask
withNewMask()
Overwrite the existing mask on this service with a new one and return it-
Methods inherited from interface com.softlayer.api.ResultLimitable
getLastResponseTotalItemCount, getResultLimit, setResultLimit
-
-
-
-
Method Detail
-
asAsync
Group.ServiceAsync asAsync()
Description copied from interface:Service
Get an async version of this service
-
withNewMask
Group.Mask withNewMask()
Description copied from interface:Maskable
Overwrite the existing mask on this service with a new one and return it- Specified by:
withNewMask
in interfaceMaskable
-
withMask
Group.Mask withMask()
Description copied from interface:Maskable
Use the existing mask on this service or create it if not present
-
setMask
void setMask(Group.Mask mask)
-
createObject
@ApiMethod Group createObject(Group templateObject)
Create a scale group. If minimumMemberCount is greater than zero or desiredMemberCount is present, guest members will be created right away.- See Also:
- SoftLayer_Scale_Group::createObject
-
deleteObject
@ApiMethod(instanceRequired=true) Boolean deleteObject()
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 Also:
- SoftLayer_Scale_Group::deleteObject
-
editObject
@ApiMethod(instanceRequired=true) Boolean editObject(Group templateObject)
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 Also:
- SoftLayer_Scale_Group::editObject
-
forceDeleteObject
@ApiMethod(instanceRequired=true) Boolean forceDeleteObject()
- See Also:
- SoftLayer_Scale_Group::forceDeleteObject
-
getAvailableHourlyInstanceLimit
@ApiMethod Long getAvailableHourlyInstanceLimit()
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.
-
getAvailableRegionalGroups
@ApiMethod List<Group> getAvailableRegionalGroups()
-
getObject
@ApiMethod(instanceRequired=true) Group getObject()
- See Also:
- SoftLayer_Scale_Group::getObject
-
resume
@ApiMethod(instanceRequired=true) Void resume()
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 Also:
- SoftLayer_Scale_Group::resume
-
scale
@ApiMethod(instanceRequired=true) List<Member> scale(Long delta)
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 Also:
- SoftLayer_Scale_Group::scale
-
scaleTo
@ApiMethod(instanceRequired=true) List<Member> scaleTo(Long number)
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 Also:
- SoftLayer_Scale_Group::scaleTo
-
suspend
@ApiMethod(instanceRequired=true) Void suspend()
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 Also:
- SoftLayer_Scale_Group::suspend
-
getAccount
@ApiMethod(instanceRequired=true) Account getAccount()
The account for this scaling group.- See Also:
- SoftLayer_Scale_Group::getAccount
-
getLoadBalancers
@ApiMethod(instanceRequired=true) List<LoadBalancer> getLoadBalancers()
Collection of load balancers for this auto scale group.- See Also:
- SoftLayer_Scale_Group::getLoadBalancers
-
getLogs
@ApiMethod(instanceRequired=true) List<Log> getLogs()
Collection of log entries for this group.- See Also:
- SoftLayer_Scale_Group::getLogs
-
getNetworkVlans
@ApiMethod(instanceRequired=true) List<Vlan> getNetworkVlans()
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 Also:
- SoftLayer_Scale_Group::getNetworkVlans
-
getPolicies
@ApiMethod(instanceRequired=true) List<Policy> getPolicies()
Collection of policies for this group. This can be empty.- See Also:
- SoftLayer_Scale_Group::getPolicies
-
getRegionalGroup
@ApiMethod(instanceRequired=true) Regional getRegionalGroup()
The regional group for this scale group.- See Also:
- SoftLayer_Scale_Group::getRegionalGroup
-
getStatus
@ApiMethod(instanceRequired=true) Status getStatus()
The status for this scale group.- See Also:
- SoftLayer_Scale_Group::getStatus
-
getTerminationPolicy
@ApiMethod(instanceRequired=true) Policy getTerminationPolicy()
The termination policy for this scaling group.
-
getVirtualGuestAssets
@ApiMethod(instanceRequired=true) List<Guest> getVirtualGuestAssets()
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.
-
getVirtualGuestMembers
@ApiMethod(instanceRequired=true) List<Guest> getVirtualGuestMembers()
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.
-
-