1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
<?php
namespace OpenCloud\CloudMonitoring\Resource;
use OpenCloud\CloudMonitoring\Exception;
class AgentTarget extends ReadOnlyResource
{
private $type = 'agent.filesystem';
protected static $json_name = 'targets';
protected static $json_collection_name = 'targets';
protected static $url_resource = 'targets';
protected $allowedTypes = array(
'agent.filesystem',
'agent.memory',
'agent.load_average',
'agent.cpu',
'agent.disk',
'agent.network',
'agent.plugin'
);
public function getUrl($path = null, array $query = array())
{
$path = "agent/check_types/{$this->type}/{$this->resourceName()}";
return $this->getParent()->getUrl($path);
}
public function setType($type)
{
if (!in_array($type, $this->allowedTypes)) {
throw new Exception\AgentException(sprintf(
'Incorrect target type. Please specify one of the following: %s',
implode(', ', $this->allowedTypes)
));
}
$this->type = $type;
}
public function getType()
{
return $this->type;
}
}