Groups¶
List all groups¶
$groups = $service->groupList();
foreach ($group as $group) {
/** @var $group OpenCloud\Autoscale\Resources\Group */
}
Please consult the iterator guide for more information about iterators.
Retrieve group by ID¶
$group = $service->group('{groupId}');
Create a new group¶
// Set the config object for this autoscale group; contains all of properties
// which determine its behaviour
$groupConfig = array(
'name' => 'new_autoscale_group',
'minEntities' => 5,
'maxEntities' => 25,
'cooldown' => 60,
);
// We need specify what is going to be launched. For now, we'll launch a new server
$launchConfig = array(
'type' => 'launch_server',
'args' => array(
'server' => array(
'flavorRef' => 3,
'name' => 'webhead',
'imageRef' => '0d589460-f177-4b0f-81c1-8ab8903ac7d8'
),
'loadBalancers' => array(
array('loadBalancerId' => 2200, 'port' => 8081),
)
)
);
// Do we want particular scaling policies?
$policy = array(
'name' => 'scale up by 10',
'change' => 10,
'cooldown' => 5,
'type' => 'webhook',
);
$group->create(array(
'groupConfiguration' => $groupConfig,
'launchConfiguration' => $launchConfig,
'scalingPolicies' => array($policy),
));
Delete a group¶
$group->delete();
Get the current state of the scaling group¶
$group->getState();