Source code for centreonapi.webservice.configuration.service

# -*- coding: utf-8 -*-


#TODO: Not use service

import centreonapi.webservice.configuration.common as common
import centreonapi.webservice.configuration.factory.servicefactory as servicefactory
from centreonapi.webservice import Webservice


[docs]class Service(servicefactory.ObjService): def __init__(self, properties): self.hostid = properties.get('host id') self.hostname = properties.get('host name') self.activate = properties.get('activate') self.active_check_enabled = properties.get('active checks enabled') self.check_command = properties.get('check command') self.check_command_args = properties.get('check command arg') self.description = properties.get('description') self.id = properties.get('id') self.max_check_attempts = properties.get('max check attempts') self.normal_check_interval = properties.get('normal check interval') self.passive_checks_enabled = properties.get('passive checks enabled') self.retry_check_interval = properties.get('retry check interval') def __repr__(self): return str(self.hostname + '|' + self.description) def __str__(self): return str(self.hostname + '|' + self.description)
[docs]class Services(common.CentreonClass): """ Centreon Web Service Object """ def __init__(self): super(Service, self).__init__() self.services = {} self.__clapi_action = 'SERVICE' def __contains__(self, item): pass def __getitem__(self, item): pass
[docs] def get(self, name, host): if not self.services: self.list() for serviceid, service in self.services.iteritems(): if service.description == name and service.hostname == host: return service
[docs] def exists(self, name, host): return True if self.get(name, host) else False
def _refresh_list(self, name=None): self.services.clear() state, service = self.webservice.call_clapi( 'show', self.__clapi_action, name) if state and len(service['result']) > 0: for s in service['result']: service_obj = Service(s) self.services[service_obj.id] = service_obj
[docs] def list(self, name=None): return self.services
[docs] def add(self, hostname, servicename, template): values = [hostname, servicename, template] return self.webservice.call_clapi('add', 'SERVICE', values)
[docs] def delete(self, service): return self.webservice.call_clapi('del', 'SERVICE', [service.hostname, service.description])
[docs] def setparam(self, service, name, value): values = [service.hostname, service.description, name, value] return self.webservice.call_clapi('setparam', 'SERVICE', values)
[docs] def addhost(self): pass
[docs] def sethost(self): pass
[docs] def delhost(self): pass
[docs] def getmaro(self, hostname, servicename): return self.webservice.call_clapi('getmacro', 'SERVICE', [hostname, servicename])
[docs] def setmacro(self, hostname, servicename, name, value, description): values = [hostname, servicename, name, value, description] return self.webservice.call_clapi('setmacro', 'SERVICE', values)
[docs] def delmacro(self, hostname, servicename, name): values = [hostname, servicename, name] return self.webservice.call_clapi('delmacro', 'SERVICE', values)
[docs] def setseverity(self, hostname, servicename, name): values = [hostname, servicename, name] return self.webservice.call_clapi('setseverity', 'SERVICE', values)
[docs] def unsetseverity(self, hostname, servicename): values = [hostname, servicename] return self.webservice.call_clapi('unsetseverity', 'SERVICE', values)
[docs] def getcontact(self, hostname, servicename): values = [hostname, servicename] return self.webservice.call_clapi('getcontact', 'SERVICE', values)
[docs] def addcontact(self, hostname, servicename, contact): values = [hostname, servicename, contact] return self.webservice.call_clapi('addcontact', 'SERVICE', values)
[docs] def setcontact(self, hostname, servicename, contact): values = [hostname, servicename, '|'.join(contact)] return self.webservice.call_clapi('setcontact', 'SERVICE', values)
[docs] def getcontactgrup(self, hostname, servicename): values = [hostname, servicename] return self.webservice.call_clapi('getcontactgroup', 'SERVICE', values)
[docs] def setcontactgroup(self, hostname, servicename, contact): values = [hostname, servicename, '|'.join(contact)] return self.webservice.call_clapi('setcontactgroup', 'SERVICE', values)
[docs] def delcontactgroup(self, hostname, servicename, contact): try: for i in contact: values = [hostname, servicename, i] self.webservice.call_clapi('delcontactgroup', 'SERVICE', values) return True except Exception: return False
[docs] def gettrap(self, hostname, servicename): values = [hostname, servicename] return self.webservice.call_clapi('gettrap', 'SERVICE', values)
[docs] def addtrap(self, hostname, servicename, trap): values = [hostname, servicename, trap] return self.webservice.call_clapi('addtrap', 'SERVICE', values)
[docs] def settrap(self, hostname, servicename, trap): values = [hostname, servicename, '|'.join(trap)] return self.webservice.call_clapi('settrap', 'SERVICE', values)
[docs] def deltrap(self, hostname, servicename, trap): try: for i in trap: values = [hostname, servicename, i] self.webservice.call_clapi('deltrap', 'SERVICE', values) return True except Exception: return False