1 <?php
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17
18 namespace OpenCloud\CloudMonitoring\Resource;
19
20 use OpenCloud\CloudMonitoring\Collection\MonitoringIterator;
21 use OpenCloud\CloudMonitoring\Exception;
22
23 24 25
26 class AgentHost extends ReadOnlyResource
27 {
28 private $token;
29 private $label;
30
31 protected static $json_name = false;
32 protected static $json_collection_name = 'info';
33 protected static $url_resource = 'host_info';
34
35 private $allowedTypes = array(
36 'cpus',
37 'disks',
38 'filesystems',
39 'memory',
40 'network_interfaces',
41 'processes',
42 'system',
43 'who'
44 );
45
46 public function info($type)
47 {
48 if (!in_array($type, $this->allowedTypes)) {
49 throw new Exception\AgentException(sprintf(
50 'Incorrect info type. Please specify one of the following: %s',
51 implode(', ', $this->allowedTypes)
52 ));
53 }
54
55 return MonitoringIterator::factory($this, array(
56 'baseUrl' => $this->getUrl($type),
57 'resourceClass' => 'AgentHostInfo'
58 ));
59 }
60 }
61