Overview

Namespaces

  • OpenCloud
    • Autoscale
      • Resource
    • CloudMonitoring
      • Exception
      • Resource
    • Common
      • Collection
      • Constants
      • Exceptions
      • Http
        • Message
      • Log
      • Resource
      • Service
    • Compute
      • Constants
      • Exception
      • Resource
    • Database
      • Resource
    • DNS
      • Collection
      • Resource
    • Identity
      • Constants
      • Resource
    • Image
      • Enum
      • Resource
        • JsonPatch
        • Schema
    • LoadBalancer
      • Enum
      • Resource
    • ObjectStore
      • Constants
      • Exception
      • Resource
      • Upload
    • Orchestration
    • Queues
      • Exception
      • Resource
    • Volume
      • Resource
  • PHP

Classes

  • Agent
  • AgentConnection
  • AgentHost
  • AgentHostInfo
  • AgentTarget
  • AgentToken
  • Alarm
  • Changelog
  • Check
  • CheckType
  • Entity
  • Metric
  • Notification
  • NotificationHistory
  • NotificationType
  • ReadOnlyResource
  • View
  • Zone
  • Overview
  • Namespace
  • Class
  • Tree
  • Download
 1: <?php
 2: /**
 3:  * Copyright 2012-2014 Rackspace US, Inc.
 4:  *
 5:  * Licensed under the Apache License, Version 2.0 (the "License");
 6:  * you may not use this file except in compliance with the License.
 7:  * You may obtain a copy of the License at
 8:  *
 9:  * http://www.apache.org/licenses/LICENSE-2.0
10:  *
11:  * Unless required by applicable law or agreed to in writing, software
12:  * distributed under the License is distributed on an "AS IS" BASIS,
13:  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14:  * See the License for the specific language governing permissions and
15:  * limitations under the License.
16:  */
17: 
18: namespace OpenCloud\CloudMonitoring\Resource;
19: 
20: use OpenCloud\CloudMonitoring\Exception;
21: 
22: /**
23:  * Agent class.
24:  */
25: class AgentTarget extends ReadOnlyResource
26: {
27: 
28:     private $type = 'agent.filesystem';
29: 
30:     protected static $json_name = 'targets';
31:     protected static $json_collection_name = 'targets';
32:     protected static $url_resource = 'targets';
33: 
34:     protected $allowedTypes = array(
35:         'agent.filesystem',
36:         'agent.memory',
37:         'agent.load_average',
38:         'agent.cpu',
39:         'agent.disk',
40:         'agent.network',
41:         'agent.plugin'
42:     );
43: 
44:     public function getUrl($path = null, array $query = array())
45:     {
46:         $path = "agent/check_types/{$this->type}/{$this->resourceName()}";
47: 
48:         return $this->getParent()->getUrl($path);
49:     }
50: 
51:     public function setType($type)
52:     {
53:         if (!in_array($type, $this->allowedTypes)) {
54:             throw new Exception\AgentException(sprintf(
55:                 'Incorrect target type. Please specify one of the following: %s',
56:                 implode(', ', $this->allowedTypes)
57:             ));
58:         }
59: 
60:         $this->type = $type;
61:     }
62: 
63:     public function getType()
64:     {
65:         return $this->type;
66:     }
67: }
68: 
PHP OpenCloud API API documentation generated by ApiGen 2.8.0