You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
496 lines
8.3 KiB
496 lines
8.3 KiB
1 year ago
|
<?php
|
||
|
/*
|
||
|
** Zabbix
|
||
|
** Copyright (C) 2001-2023 Zabbix SIA
|
||
|
**
|
||
|
** This program is free software; you can redistribute it and/or modify
|
||
|
** it under the terms of the GNU General Public License as published by
|
||
|
** the Free Software Foundation; either version 2 of the License, or
|
||
|
** (at your option) any later version.
|
||
|
**
|
||
|
** This program is distributed in the hope that it will be useful,
|
||
|
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
** GNU General Public License for more details.
|
||
|
**
|
||
|
** You should have received a copy of the GNU General Public License
|
||
|
** along with this program; if not, write to the Free Software
|
||
|
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
**/
|
||
|
|
||
|
|
||
|
class API {
|
||
|
|
||
|
/**
|
||
|
* API wrapper that all of the calls will go through.
|
||
|
*
|
||
|
* @var CApiWrapper
|
||
|
*/
|
||
|
private static $wrapper;
|
||
|
|
||
|
/**
|
||
|
* Factory for creating API services.
|
||
|
*
|
||
|
* @var CRegistryFactory
|
||
|
*/
|
||
|
private static $apiServiceFactory;
|
||
|
|
||
|
/**
|
||
|
* Sets the API wrapper.
|
||
|
*
|
||
|
* @param CApiWrapper|null $wrapper
|
||
|
*/
|
||
|
public static function setWrapper(CApiWrapper $wrapper = null) {
|
||
|
self::$wrapper = $wrapper;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Set the service factory.
|
||
|
*
|
||
|
* @param CRegistryFactory $factory
|
||
|
*/
|
||
|
public static function setApiServiceFactory(CRegistryFactory $factory) {
|
||
|
self::$apiServiceFactory = $factory;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns the API wrapper.
|
||
|
*
|
||
|
* @return CApiWrapper|null
|
||
|
*/
|
||
|
public static function getWrapper() {
|
||
|
return self::$wrapper;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns an object that can be used for making API calls. If a wrapper is used, returns a CApiWrapper,
|
||
|
* otherwise - returns a CApiService object.
|
||
|
*
|
||
|
* @param $name
|
||
|
*
|
||
|
* @return CApiWrapper|CApiService
|
||
|
*/
|
||
|
public static function getApi($name) {
|
||
|
if (self::$wrapper) {
|
||
|
self::$wrapper->api = $name;
|
||
|
|
||
|
return self::$wrapper;
|
||
|
}
|
||
|
else {
|
||
|
return self::getApiService($name);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns the CApiInstance object for the requested API.
|
||
|
*
|
||
|
* NOTE: This method must only be called from other CApiService objects.
|
||
|
*
|
||
|
* @param string $name
|
||
|
*
|
||
|
* @return CApiService
|
||
|
*/
|
||
|
public static function getApiService($name = null) {
|
||
|
return self::$apiServiceFactory->getObject($name ? $name : 'api');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CAction
|
||
|
*/
|
||
|
public static function Action() {
|
||
|
return self::getApi('action');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CAlert
|
||
|
*/
|
||
|
public static function Alert() {
|
||
|
return self::getApi('alert');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CAPIInfo
|
||
|
*/
|
||
|
public static function APIInfo() {
|
||
|
return self::getApi('apiinfo');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CAuditLog
|
||
|
*/
|
||
|
public static function AuditLog() {
|
||
|
return self::getApi('auditlog');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CAuthentication
|
||
|
*/
|
||
|
public static function Authentication() {
|
||
|
return self::getApi('authentication');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CAutoregistration
|
||
|
*/
|
||
|
public static function Autoregistration() {
|
||
|
return self::getApi('autoregistration');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CConfiguration
|
||
|
*/
|
||
|
public static function Configuration() {
|
||
|
return self::getApi('configuration');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CConnector
|
||
|
*/
|
||
|
public static function Connector() {
|
||
|
return self::getApi('connector');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CCorrelation
|
||
|
*/
|
||
|
public static function Correlation() {
|
||
|
return self::getApi('correlation');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CDashboard
|
||
|
*/
|
||
|
public static function Dashboard() {
|
||
|
return self::getApi('dashboard');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CDCheck
|
||
|
*/
|
||
|
public static function DCheck() {
|
||
|
return self::getApi('dcheck');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CDHost
|
||
|
*/
|
||
|
public static function DHost() {
|
||
|
return self::getApi('dhost');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CDiscoveryRule
|
||
|
*/
|
||
|
public static function DiscoveryRule() {
|
||
|
return self::getApi('discoveryrule');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CDRule
|
||
|
*/
|
||
|
public static function DRule() {
|
||
|
return self::getApi('drule');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CDService
|
||
|
*/
|
||
|
public static function DService() {
|
||
|
return self::getApi('dservice');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CEvent
|
||
|
*/
|
||
|
public static function Event() {
|
||
|
return self::getApi('event');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CGraph
|
||
|
*/
|
||
|
public static function Graph() {
|
||
|
return self::getApi('graph');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CGraphItem
|
||
|
*/
|
||
|
public static function GraphItem() {
|
||
|
return self::getApi('graphitem');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CGraphPrototype
|
||
|
*/
|
||
|
public static function GraphPrototype() {
|
||
|
return self::getApi('graphprototype');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CHaNode
|
||
|
*/
|
||
|
public static function HaNode() {
|
||
|
return self::getApi('hanode');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CHistory
|
||
|
*/
|
||
|
public static function History() {
|
||
|
return self::getApi('history');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CHost
|
||
|
*/
|
||
|
public static function Host() {
|
||
|
return self::getApi('host');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CHostPrototype
|
||
|
*/
|
||
|
public static function HostPrototype() {
|
||
|
return self::getApi('hostprototype');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CHostGroup
|
||
|
*/
|
||
|
public static function HostGroup() {
|
||
|
return self::getApi('hostgroup');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CHostInterface
|
||
|
*/
|
||
|
public static function HostInterface() {
|
||
|
return self::getApi('hostinterface');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CHousekeeping
|
||
|
*/
|
||
|
public static function Housekeeping() {
|
||
|
return self::getApi('housekeeping');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CImage
|
||
|
*/
|
||
|
public static function Image() {
|
||
|
return self::getApi('image');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CIconMap
|
||
|
*/
|
||
|
public static function IconMap() {
|
||
|
return self::getApi('iconmap');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CItem
|
||
|
*/
|
||
|
public static function Item() {
|
||
|
return self::getApi('item');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CItemPrototype
|
||
|
*/
|
||
|
public static function ItemPrototype() {
|
||
|
return self::getApi('itemprototype');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CMaintenance
|
||
|
*/
|
||
|
public static function Maintenance() {
|
||
|
return self::getApi('maintenance');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CModule
|
||
|
*/
|
||
|
public static function Module() {
|
||
|
return self::getApi('module');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CMap
|
||
|
*/
|
||
|
public static function Map() {
|
||
|
return self::getApi('map');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CMediaType
|
||
|
*/
|
||
|
public static function MediaType() {
|
||
|
return self::getApi('mediatype');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CProblem
|
||
|
*/
|
||
|
public static function Problem() {
|
||
|
return self::getApi('problem');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CProxy
|
||
|
*/
|
||
|
public static function Proxy() {
|
||
|
return self::getApi('proxy');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CReport
|
||
|
*/
|
||
|
public static function Report() {
|
||
|
return self::getApi('report');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CRegexp
|
||
|
*/
|
||
|
public static function Regexp() {
|
||
|
return self::getApi('regexp');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CRole
|
||
|
*/
|
||
|
public static function Role() {
|
||
|
return self::getApi('role');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CScript
|
||
|
*/
|
||
|
public static function Script() {
|
||
|
return self::getApi('script');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CService
|
||
|
*/
|
||
|
public static function Service() {
|
||
|
return self::getApi('service');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CSla
|
||
|
*/
|
||
|
public static function Sla() {
|
||
|
return self::getApi('sla');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CSettings
|
||
|
*/
|
||
|
public static function Settings() {
|
||
|
return self::getApi('settings');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CTask
|
||
|
*/
|
||
|
public static function Task() {
|
||
|
return self::getApi('task');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CTemplate
|
||
|
*/
|
||
|
public static function Template() {
|
||
|
return self::getApi('template');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CTemplateDashboard
|
||
|
*/
|
||
|
public static function TemplateDashboard() {
|
||
|
return self::getApi('templatedashboard');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CTemplateGroup
|
||
|
*/
|
||
|
public static function TemplateGroup() {
|
||
|
return self::getApi('templategroup');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CToken
|
||
|
*/
|
||
|
public static function Token() {
|
||
|
return self::getApi('token');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CTrend
|
||
|
*/
|
||
|
public static function Trend() {
|
||
|
return self::getApi('trend');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CTrigger
|
||
|
*/
|
||
|
public static function Trigger() {
|
||
|
return self::getApi('trigger');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CTriggerPrototype
|
||
|
*/
|
||
|
public static function TriggerPrototype() {
|
||
|
return self::getApi('triggerprototype');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CUser
|
||
|
*/
|
||
|
public static function User() {
|
||
|
return self::getApi('user');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CUserDirectory
|
||
|
*/
|
||
|
public static function UserDirectory() {
|
||
|
return self::getApi('userdirectory');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CUserGroup
|
||
|
*/
|
||
|
public static function UserGroup() {
|
||
|
return self::getApi('usergroup');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CUserMacro
|
||
|
*/
|
||
|
public static function UserMacro() {
|
||
|
return self::getApi('usermacro');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CValueMap
|
||
|
*/
|
||
|
public static function ValueMap() {
|
||
|
return self::getApi('valuemap');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return CHttpTest
|
||
|
*/
|
||
|
public static function HttpTest() {
|
||
|
return self::getApi('httptest');
|
||
|
}
|
||
|
}
|