def __init__(self, ipaddr):
     GraphNode.__init__(self, domain='global')
     if isinstance(ipaddr, str):
         ipaddr = pyNetAddr(ipaddr)
     if isinstance(ipaddr, pyNetAddr):
         ipaddr = ipaddr.toIPv6()
     self.ipaddr = str(ipaddr)
 def __init__(self, MACaddr):
     GraphNode.__init__(self, domain='global')
     mac = pyNetAddr(MACaddr)
     if mac is None or mac.addrtype() != ADDR_FAMILY_802:
         raise ValueError('Not a legal MAC address [%s // %s]: %s (%s)' 
         %       (MACaddr, str(mac), str(mac.addrtype()), mac.addrlen()))
     self.MACaddr = str(mac)
Esempio n. 3
0
 def __init__(
     self, domain, monitorname, monitorclass, monitortype, interval, timeout, provider=None, arglist=None, argv=None
 ):
     "Create the requested monitoring rule object."
     GraphNode.__init__(self, domain)
     self.monitorname = monitorname
     self.monitorclass = monitorclass
     self.monitortype = monitortype
     self.interval = int(interval)
     self.timeout = int(timeout)
     self.provider = provider
     self.isactive = False
     self.isworking = True
     self.reason = "initial monitor creation"
     self.request_id = MonitorAction.request_id
     self.argv = argv
     MonitorAction.request_id += 1
     if arglist is None:
         self.arglist = None
         self._arglist = {}
     elif isinstance(arglist, list):
         listlen = len(arglist)
         if (listlen % 2) != 0:
             raise (ValueError("arglist list must have an even number of elements"))
         self._arglist = {}
         for j in range(0, listlen, 2):
             self._arglist[arglist[j]] = arglist[j + 1]
         self.arglist = arglist
     else:
         self._arglist = arglist
         self.arglist = []
         for name in self._arglist:
             self.arglist.append(name)
             self.arglist.append(str(self._arglist[name]))
Esempio n. 4
0
 def __init__(self, domain, monitorname, monitorclass, monitortype, interval
 ,   timeout, warntime=None, provider=None, arglist=None, argv=None):
     'Create the requested monitoring rule object.'
     GraphNode.__init__(self, domain)
     self.monitorname = monitorname
     self.monitorclass = monitorclass
     self.monitortype = monitortype
     self.interval = int(interval)
     self.timeout = int(timeout)
     self.warntime = int(warntime) if warntime is not None else self.timeout/2
     self.provider = provider
     self.isactive = False
     self.isworking = True
     self.reason = 'initial monitor creation'
     self.request_id = MonitorAction.request_id
     self.argv=argv
     MonitorAction.request_id += 1
     if arglist is None:
         self.arglist = None
         self._arglist = {}
     elif isinstance(arglist, list):
         listlen = len(arglist)
         if (listlen % 2) != 0:
             raise(ValueError('arglist list must have an even number of elements'))
         self._arglist = {}
         for j in range(0, listlen, 2):
             self._arglist[arglist[j]] = arglist[j+1]
         self.arglist = arglist
     else:
         self._arglist = arglist
         self.arglist = []
         for name in self._arglist:
             self.arglist.append(name)
             self.arglist.append(str(self._arglist[name]))
 def __init__(self, ipaddr):
     GraphNode.__init__(self, domain='global')
     if isinstance(ipaddr, str):
         ipaddr = pyNetAddr(ipaddr)
     if isinstance(ipaddr, pyNetAddr):
         ipaddr = ipaddr.toIPv6()
     self.ipaddr = str(ipaddr)
 def __init__(self, firstname, lastname, dateofbirth=None):
     GraphNode.__init__(self, domain='global')
     self.firstname = firstname
     self.lastname = lastname
     if dateofbirth is not None:
         self.dateofbirth = dateofbirth
     else:
         self.dateofbirth='unknown'
 def __init__(self, firstname, lastname, dateofbirth=None):
     GraphNode.__init__(self, domain='global')
     self.firstname = firstname
     self.lastname = lastname
     if dateofbirth is not None:
         self.dateofbirth = dateofbirth
     else:
         self.dateofbirth = 'unknown'
 def __init__(self, MACaddr):
     GraphNode.__init__(self, domain='global')
     mac = pyNetAddr(MACaddr)
     if mac is None or mac.addrtype() != ADDR_FAMILY_802:
         raise ValueError(
             'Not a legal MAC address [%s // %s]: %s (%s)' %
             (MACaddr, str(mac), str(mac.addrtype()), mac.addrlen()))
     self.MACaddr = str(mac)
 def __init__(self, designation, domain='global', roles=None):
     GraphNode.__init__(self, domain)
     self.designation = designation.lower()
     if roles == None:
         roles = ['']
     self.roles = roles
     if domain is None:
         domain='global'
     self.domain = domain
Esempio n. 10
0
 def __init__(self, designation, domain='global', roles=None):
     GraphNode.__init__(self, domain)
     self.designation = designation.lower()
     if roles == None:
         roles = ['']
     self.roles = roles
     if domain is None:
         domain = 'global'
     self.domain = domain
Esempio n. 11
0
 def __init__(self, domain, designation, roles=None):
     GraphNode.__init__(self, domain=domain)
     self.designation = str(designation).lower()
     self.monitors_activated = False
     if roles is None or roles == []:
         # Neo4j can't initialize node properties to empty arrays because
         # it wants to know what kind of array it is...
         roles = ['']
     self.roles = roles
Esempio n. 12
0
 def __init__(self, domain, designation, roles=None):
     GraphNode.__init__(self, domain=domain)
     self.designation = str(designation).lower()
     self.monitors_activated = False
     if roles is None or roles == []:
         # Neo4j can't initialize node properties to empty arrays because
         # it wants to know what kind of array it is...
         roles = ['']
     self.roles = roles
Esempio n. 13
0
 def __init__(self, name, ringtype):
     '''Constructor for a heartbeat ring.
     '''
     GraphNode.__init__(self, domain=CMAdb.globaldomain)
     if ringtype < HbRing.SWITCH or ringtype > HbRing.THEONERING:
         raise ValueError("Invalid ring type [%s]" % str(ringtype))
     self.ringtype = ringtype
     self.name = str(name)
     self.ourreltype = HbRing.memberprefix + self.name # Our membership relationship type
     self.ournexttype = HbRing.nextprefix + self.name # Our 'next' relationship type
     self._ringinitfinished = False
     self._insertpoint1 = None
     self._insertpoint2 = None
Esempio n. 14
0
    def __init__(self, queryname, JSON_metadata=None):
        '''Parameters
        ----------
        JSON_metadata  - a JSON string containing
                'cypher':       a string containing our cypher query
                'descriptions': a dict containing descriptions in various languages
                    'language-key': A locale-language key
                         'short'    a short description of this query in 'language-key'
                         'long'     a long description of this query in 'language-key'
                'parameters': a dict containing
                        'name':     name of the parameter to the query
                        'type':     the type of the parameter one of several noted
                        'min':      optional minimum value for 'name'
                        'max':      optional maximum value for 'name'
                        'enumlist': array of possible enum values  (type = enum only)
                        'lang':     language for this description as a dict:
                                        'short':a short description of 'name' in language 'lang'
                                        'long': a long description of 'name' in language 'lang'
                                        'enumlist': dict of explanations for enumlist above

        Languages are the typical 'en' 'en_us', 'es', 'es_mx', as per the locale-usual
        Currently-known types are as follows:
            int     - an integer
            float   - an floating point number
            string  - a string
            ipaddr  - an IP address either ipv4 or ipv6 (as a string)
            macaddr - a 48 or 64 bit MAC address (as a string)
            bool    - a boolean value
            hostname- a host name (as string - always converted to lower case)
            dnsname - a DNS name (as a string - always converted to lower case)
            enum    - a finite enumeration of permissible values (case-insensitive)
        '''

        GraphNode.__init__(self, domain='metadata')
        self.queryname = queryname
        self.JSON_metadata = JSON_metadata
        if JSON_metadata is None:
            self._JSON_metadata = None
        else:
            self._JSON_metadata = pyConfigContext(JSON_metadata)
            if self._JSON_metadata is None:
                raise ValueError('Parameter JSON_metadata is invalid [%s]' %
                                 JSON_metadata)
            self.validate_json()
        self._store = None
        self._db = None
        self._query = None
Esempio n. 15
0
    def __init__(self, queryname, JSON_metadata=None):
        '''Parameters
        ----------
        JSON_metadata  - a JSON string containing
                'cypher':       a string containing our cypher query
                'descriptions': a dict containing descriptions in various languages
                    'language-key': A locale-language key
                         'short'    a short description of this query in 'language-key'
                         'long'     a long description of this query in 'language-key'
                'parameters': a dict containing
                        'name':     name of the parameter to the query
                        'type':     the type of the parameter one of several noted
                        'min':      optional minimum value for 'name'
                        'max':      optional maximum value for 'name'
                        'enumlist': array of possible enum values  (type = enum only)
                        'lang':     language for this description as a dict:
                                        'short':a short description of 'name' in language 'lang'
                                        'long': a long description of 'name' in language 'lang'
                                        'enumlist': dict of explanations for enumlist above

        Languages are the typical 'en' 'en_us', 'es', 'es_mx', as per the locale-usual
        Currently-known types are as follows:
            int     - an integer
            float   - an floating point number
            string  - a string
            ipaddr  - an IP address either ipv4 or ipv6 (as a string)
            macaddr - a 48 or 64 bit MAC address (as a string)
            bool    - a boolean value
            hostname- a host name (as string - always converted to lower case)
            dnsname - a DNS name (as a string - always converted to lower case)
            enum    - a finite enumeration of permissible values (case-insensitive)
        '''

        GraphNode.__init__(self, domain='metadata')
        self.queryname = queryname
        self.JSON_metadata = JSON_metadata
        if JSON_metadata is None:
            self._JSON_metadata = None
        else:
            self._JSON_metadata = pyConfigContext(JSON_metadata)
            if self._JSON_metadata is None:
                raise ValueError('Parameter JSON_metadata is invalid [%s]' % JSON_metadata)
            self.validate_json()
        self._store = None
        self._db = None
        self._query = None