Policies.md 1.23 KB

#Policies

Setup

To interact with the policies of a scaling group, you will need to setup the group object beforehand.

$groupId = 'foobar';
$group   = $service->getGroup($groupId);

For more information about setting up the $service object, please see the userguide tutorial for Autoscale groups.

Get all policies

$policies = $group->getPolicies();

while ($policy = $policies->next()) {
    // do something
    echo "{$policy->name} {($policy->type)}" . PHP_EOL;
}

Create a new scaling policy

Creating policies is achieved through passing an array to the create method.

$policy = new \stdClass;
$policy->name = "NEW NAME";
$policy->change = 1;
$policy->cooldown = 150;
$policy->type = "webhook";

$group->getPolicy()->create(array($policy));

// or even:

$group->getPolicy()->create(array(
    (object) array(
        'name' => 'NEW NAME',
        'change' => 1,
        'cooldown' => 150,
        'type' => 'webhook'
    ),
    // etc.
));

Get, update and delete a scaling policy

$policyId = 'foobar';
$policy = $group->getPolicy($policyId);

$policy->update(array(
    'name' => 'More relevant name'
));

$policy->delete();

Execute a scaling policy

$policy->execute();