def aaa_logout(self, dump_xml=None): """ Auto-generated IMC XML API Method. """ method = ExternalMethod("AaaLogout") method.InCookie = self.__cookie response = self.xml_query(method, WriteXmlOption.DIRTY, dump_xml) if response != None: return response return None
def event_unsubscribe(self, dump_xml=None): """ Auto-generated IMC XML API Method. """ method = ExternalMethod("EventUnsubscribe") method.Cookie = self.__cookie response = self.xml_query(method, WriteXmlOption.DIRTY, dump_xml) if response != None: return response return None
def aaa_get_compute_auth_tokens(self, dump_xml=None): """ Auto-generated IMC XML API Method. """ method = ExternalMethod("AaaGetComputeAuthTokens") method.Cookie = self.__cookie response = self.xml_query(method, WriteXmlOption.DIRTY, dump_xml) if response != None: return response return None
def aaa_login(self, in_name, in_password, dump_xml=None): """ Auto-generated IMC XML API Method. """ method = ExternalMethod("AaaLogin") method.InName = in_name method.InPassword = in_password response = self.xml_query(method, WriteXmlOption.DIRTY, dump_xml) if response != None: return response return None
def config_resolve_parent(self, dn, in_hierarchical=YesOrNo.FALSE, dump_xml=None): """ Auto-generated IMC XML API Method. """ method = ExternalMethod("ConfigResolveParent") method.Cookie = self.__cookie method.Dn = dn method.InHierarchical = (("false", "true")[in_hierarchical in ImcUtils.AFFIRMATIVE_LIST]) response = self.xml_query(method, WriteXmlOption.DIRTY, dump_xml) if response != None: return response return None
def config_resolve_parent(self, dn, in_hierarchical=YesOrNo.FALSE, dump_xml=None): """ Auto-generated IMC XML API Method. """ method = ExternalMethod("ConfigResolveParent") method.Cookie = self.__cookie method.Dn = dn method.InHierarchical = (( "false", "true")[in_hierarchical in ImcUtils.AFFIRMATIVE_LIST]) response = self.xml_query(method, WriteXmlOption.DIRTY, dump_xml) if response != None: return response return None
def config_resolve_class(self, class_id, in_hierarchical=YesOrNo.FALSE, dump_xml=None): """ Auto-generated IMC XML API Method. """ method = ExternalMethod("ConfigResolveClass") meta_class_id = CoreUtils.find_class_id_in_mo_meta_ignore_case(class_id) if meta_class_id != None: class_id = ImcUtils.word_l(meta_class_id) else: class_id = ImcUtils.word_l(class_id) method.ClassId = class_id method.Cookie = self.__cookie method.InHierarchical = (("false", "true")[in_hierarchical in ImcUtils.AFFIRMATIVE_LIST]) response = self.xml_query(method, WriteXmlOption.DIRTY, dump_xml) if response != None: return response return None
def config_resolve_children(self, class_id, in_dn, in_hierarchical=YesOrNo.FALSE, dump_xml=None): """ Auto-generated IMC XML API Method. """ method = ExternalMethod("ConfigResolveChildren") meta_class_id = CoreUtils.find_class_id_in_mo_meta_ignore_case( class_id) if meta_class_id != None: class_id = ImcUtils.word_l(meta_class_id) else: class_id = ImcUtils.word_l(class_id) method.ClassId = class_id method.Cookie = self.__cookie method.InDn = in_dn method.InHierarchical = (( "false", "true")[in_hierarchical in ImcUtils.AFFIRMATIVE_LIST]) response = self.xml_query(method, WriteXmlOption.DIRTY, dump_xml) if response != None: return response return None
def xml_query(self, method, options, dump_xml=None): """ xml_query method opens a connection to URL, sends the xmlQuery string to URL location, and returns result. Prepares objects from XML query result and returns external method response. """ #import sys #if not sys.version_info < (2, 5): # from functools import partial # import ssl # ssl.wrap_socket = partial(ssl.wrap_socket, ssl_version=ssl.PROTOCOL_TLSv1) if dump_xml == None: dump_xml = self.__dump_xml try: #xml_doc = xml.dom.minidom.Document() #xml_doc.appendChild(method.write_xml(xml_doc, options)) #print method.__dict__ xml_doc = method.write_xml(option=options) uri = self.uri() + '/nuova' if dump_xml in ImcUtils.AFFIRMATIVE_LIST: print '%s ====> %s' % (self.__imc, ET.tostring(xml_doc)) if self.__proxy is None: if self.__nossl: req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) opener = urllib2.build_opener( ImcUtils.SmartRedirectHandler()) resp = opener.open(req) if type(resp) is list: if len(resp) == 2 and (resp[0] == 302 or resp[0] == 301): uri = resp[1] req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) resp = urllib2.urlopen(req) else: req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) opener = urllib2.build_opener(ImcUtils.TLS1Handler()) resp = opener.open(req) else: proxy_handler = urllib2.ProxyHandler({ 'http': self.__proxy, 'https': self.__proxy }) if self.__nossl: req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) opener = urllib2.build_opener( proxy_handler, ImcUtils.SmartRedirectHandler()) resp = opener.open(req) if type(resp) is list: if len(resp) == 2 and (resp[0] == 302 or resp[0] == 301): uri = resp[1] req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) opener = urllib2.build_opener(proxy_handler) resp = opener.open(req) else: req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) opener = urllib2.build_opener(ImcUtils.TLS1Handler(), proxy_handler) resp = opener.open(req) rsp = resp.read() if dump_xml in ImcUtils.AFFIRMATIVE_LIST: print '%s <==== %s' % (self.__imc, rsp) response = ExternalMethod(method.prop_mo_meta.name) root_element = ET.fromstring(rsp) response.load_from_xml(root_element, self) return response except Exception: raise
def xml_query(self, method, options, dump_xml=None): """ xml_query method opens a connection to URL, sends the xmlQuery string to URL location, and returns result. Prepares objects from XML query result and returns external method response. """ #import sys #if not sys.version_info < (2, 5): # from functools import partial # import ssl # ssl.wrap_socket = partial(ssl.wrap_socket, ssl_version=ssl.PROTOCOL_TLSv1) if dump_xml == None: dump_xml = self.__dump_xml try: #xml_doc = xml.dom.minidom.Document() #xml_doc.appendChild(method.write_xml(xml_doc, options)) #print method.__dict__ xml_doc=method.write_xml(option=options) uri = self.uri() + '/nuova' if dump_xml in ImcUtils.AFFIRMATIVE_LIST: print '%s ====> %s' % (self.__imc, ET.tostring(xml_doc)) if self.__proxy is None: if self.__nossl: req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) opener = urllib2.build_opener(ImcUtils.SmartRedirectHandler()) resp = opener.open(req) if type(resp) is list: if len(resp) == 2 and (resp[0] == 302 or resp[0] == 301): uri = resp[1] req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) resp = urllib2.urlopen(req) else: req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) opener = urllib2.build_opener(ImcUtils.TLS1Handler()) resp = opener.open(req) else: proxy_handler = urllib2.ProxyHandler({'http': self.__proxy, 'https': self.__proxy}) if self.__nossl: req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) opener = urllib2.build_opener(proxy_handler, ImcUtils.SmartRedirectHandler()) resp = opener.open(req) if type(resp) is list: if len(resp) == 2 and (resp[0] == 302 or resp[0] == 301): uri = resp[1] req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) opener = urllib2.build_opener(proxy_handler) resp = opener.open(req) else: req = urllib2.Request(url=uri, data=ET.tostring(xml_doc)) opener = urllib2.build_opener(ImcUtils.TLS1Handler(), proxy_handler) resp = opener.open(req) rsp = resp.read() if dump_xml in ImcUtils.AFFIRMATIVE_LIST: print '%s <==== %s' % (self.__imc, rsp) response = ExternalMethod(method.prop_mo_meta.name) root_element = ET.fromstring(rsp) response.load_from_xml(root_element, self) return response except Exception: raise