Example #1
0
def CreateMonitorScopeFilter(argument = ""):
    if argument == "":
        argument  = "Health+Inventory+Metrics+ConfigState"
    monitorfilter = MonitorScopeFilter()
    for i in argument.split("+"):
        for j in MonitorScope:
            if TypeHelper.get_name(j, MonitorScopeMap) == i:
                monitorfilter.add(j)
    return monitorfilter
Example #2
0
    def __init__(self, registry, protofactory, ipaddr, creds):
        self.ref = registry
        self.ipaddr = ipaddr
        self.hostname = None
        self.creds = creds
        self.device_type = self.ref.name

        # Facts
        self.facts = {}
        self.facts["HandlesManyDevices"] = False
        self.facts["IsADevice"] = False

        # Protocol
        self.protofactory = protofactory
        self.cfactory = None

        # Add commands to this object
        self._make_all_methods()

        # Components Map
        self.ComponentEnum = self.ref.ComponentEnum
        self.components = {}
        for comp in self.ref.defs:
            self.components[comp] = {}
            for en in MonitorScope:
                self.components[comp][en] = []
                mon = TypeHelper.get_name(en, MonitorScopeMap)
                if mon in self.ref.defs[comp]:
                    self.components[comp][en] = self.ref.defs[comp][mon]

        # Entity JSON
        self.entityjson = {}
        # SNMP Entity MIB JSON
        self.emib_json = {}
        self.supports_entity_mib = False

        # Reset
        self.reset()
Example #3
0
 def _parse_output(self, en, name=None):
     retval = {}
     if "Header" in en:
         rgsp = "http://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse"
         if "Action" in en["Header"] and en["Header"]["Action"] == rgsp:
             retval['Status'] = 'Success'
             retval['Data'] = en['Body']
     if not "Body" in en:
         retval['Status'] = 'Invalid JSON. Does not have Body!'
     elif "ClientFault" in en["Body"]:
         retval['Status'] = 'Found Client (SDK) Side Fault'
         retval['Fault.Data'] = en["Body"]["ClientFault"]
         if "Reason" in en["Body"]["ClientFault"] and \
            "Text" in en["Body"]["ClientFault"]["Reason"]:
             retval['Message'] = RestResponse().get_message(
                 en["Body"]["ClientFault"]["Reason"])
     elif "Fault" in en["Body"]:
         retval['Status'] = 'Found Fault'
         retval['Fault.Data'] = en["Body"]["Fault"]
         if "Detail" in en["Body"]["Fault"]:
             retval['Message'] = RestResponse().get_message(
                 en["Body"]["Fault"]["Reason"])
         if retval['Message'] == "":
             retval['Message'] = RestResponse().get_message(
                 en["Body"]["Fault"]["Detail"])
     elif "EnumerateResponse" in en["Body"]:
         retval['Status'] = 'Success'
         retval['Data'] = en["Body"]["EnumerateResponse"]["Items"]
     elif "IdentifyResponse" in en["Body"]:
         retval['Status'] = 'Success'
         retval['Data'] = en["Body"]
     else:
         for entry in en["Body"]:
             if not entry.endswith("_OUTPUT"):
                 continue
             retval['Data'] = en["Body"]
             retval['Status'] = 'Not understood the message. Sorry!'
             if "Message" in en["Body"][entry]:
                 retval['Status'] = en["Body"][entry]["Message"]
                 retval['Message'] = en["Body"][entry]["Message"]
             if "MessageID" in en["Body"][entry]:
                 retval['MessageID'] = en["Body"][entry]["MessageID"]
             if "ReturnValue" in en["Body"][entry]:
                 ret = int(en["Body"][entry]["ReturnValue"])
                 retval['Return'] = TypeHelper.get_name(ret, ReturnValueMap)
                 retval['Status'] = retval['Return']
                 if ret == TypeHelper.resolve(ReturnValue.JobCreated):
                     retval['Job'] = {"ResourceURI": "", "JobId": ""}
                     ss = en["Body"][entry]
                     if "Job" in ss:
                         ss = ss["Job"]
                     if "EndpointReference" in ss:
                         ss = ss["EndpointReference"]
                     if "ReferenceParameters" in ss:
                         ss = ss["ReferenceParameters"]
                     if "ResourceURI" in ss:
                         retval['Job']['ResourceURI'] = ss["ResourceURI"]
                     if "SelectorSet" in ss:
                         ss = ss["SelectorSet"]
                     if "Selector" in ss:
                         ss = ss["Selector"]
                     retval['Job']['JobId'] = ss[0]
                     retval['Status'] = 'Success'
     if not 'Status' in retval:
         retval['Status'] = 'Dont understand the message'
         retval['Data'] = en["Body"]
     return retval