1 <?php
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17
18 namespace OpenCloud\Autoscale\Resource;
19
20 21 22
23 class ScalingPolicy extends AbstractResource
24 {
25 public $id;
26 public $links;
27 public $name;
28 public $change;
29 public $cooldown;
30 public $type;
31 public $metadata;
32
33 protected static $json_name = 'policy';
34 protected static $json_collection_name = 'policies';
35 protected static $url_resource = 'policies';
36
37 public $createKeys = array(
38 'name',
39 'change',
40 'cooldown',
41 'type'
42 );
43
44 public function getWebhookList()
45 {
46 return $this->getService()->resourceList('Webhook', null, $this);
47 }
48
49 public function getWebhook($id = null)
50 {
51 return $this->getService()->resource('Webhook', $id, $this);
52 }
53
54 public function createWebhooks(array $webhooks)
55 {
56 $url = clone $this->getUrl();
57 $url->addPath('webhooks');
58
59 $body = json_encode($webhooks);
60 $this->checkJsonError();
61
62 return $this->getService()
63 ->getClient()
64 ->post($url, self::getJsonHeader(), $body)
65 ->send();
66 }
67
68 public function execute()
69 {
70 return $this->getClient()->post($this->url('execute'))->send();
71 }
72 }
73