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: