def get_nitro_bulk_response(self,service ,response): try : result=service.payload_formatter.string_to_resource(perf_cache_redirection_report_l1_responses, response, "perf_cache_redirection_report_l1_response_array") if(result.errorcode != 0) : if (result.errorcode == 444) : service.clear_session(self) response = result.perf_cache_redirection_report_l1_response_array i=0 error = [perf_cache_redirection_report_l1() for _ in range(len(response))] for obj in response : error[i]= obj._message i=i+1 raise nitro_exception(result.errorcode, str(result.message), error) response = result.perf_cache_redirection_report_l1_response_array i=0 perf_cache_redirection_report_l1_objs = [perf_cache_redirection_report_l1() for _ in range(len(response))] for obj in response : if hasattr(obj,'_perf_cache_redirection_report_l1'): for props in obj._perf_cache_redirection_report_l1: result = service.payload_formatter.string_to_bulk_resource(perf_cache_redirection_report_l1_response,self.__class__.__name__,props) perf_cache_redirection_report_l1_objs[i] = result.perf_cache_redirection_report_l1 i=i+1 return perf_cache_redirection_report_l1_objs except Exception as e : raise e
def get_nitro_bulk_response(self, service, response): try: result = service.payload_formatter.string_to_resource( tenant_info_responses, response, "tenant_info_response_array") if (result.errorcode != 0): if (result.errorcode == 444): service.clear_session(self) response = result.tenant_info_response_array i = 0 error = [tenant_info() for _ in range(len(response))] for obj in response: error[i] = obj._message i = i + 1 raise nitro_exception(result.errorcode, str(result.message), error) response = result.tenant_info_response_array i = 0 tenant_info_objs = [tenant_info() for _ in range(len(response))] for obj in response: if hasattr(obj, '_tenant_info'): for props in obj._tenant_info: result = service.payload_formatter.string_to_bulk_resource( tenant_info_response, self.__class__.__name__, props) tenant_info_objs[i] = result.tenant_info i = i + 1 return tenant_info_objs except Exception as e: raise e
def get_nitro_bulk_response(self,service ,response): try : result=service.payload_formatter.string_to_resource(event_resrc_threshold_violation_report_responses, response, "event_resrc_threshold_violation_report_response_array") if(result.errorcode != 0) : if (result.errorcode == 444) : service.clear_session(self) response = result.event_resrc_threshold_violation_report_response_array i=0 error = [event_resrc_threshold_violation_report() for _ in range(len(response))] for obj in response : error[i]= obj._message i=i+1 raise nitro_exception(result.errorcode, str(result.message), error) response = result.event_resrc_threshold_violation_report_response_array i=0 event_resrc_threshold_violation_report_objs = [event_resrc_threshold_violation_report() for _ in range(len(response))] for obj in response : if hasattr(obj,'_event_resrc_threshold_violation_report'): for props in obj._event_resrc_threshold_violation_report: result = service.payload_formatter.string_to_bulk_resource(event_resrc_threshold_violation_report_response,self.__class__.__name__,props) event_resrc_threshold_violation_report_objs[i] = result.event_resrc_threshold_violation_report i=i+1 return event_resrc_threshold_violation_report_objs except Exception as e : raise e
def get_nitro_bulk_response(self, service, response): try: result = service.payload_formatter.string_to_resource( ns_visualizer_lb_bindings_responses, response, "ns_visualizer_lb_bindings_response_array") if (result.errorcode != 0): if (result.errorcode == 444): service.clear_session(self) response = result.ns_visualizer_lb_bindings_response_array i = 0 error = [ ns_visualizer_lb_bindings() for _ in range(len(response)) ] for obj in response: error[i] = obj._message i = i + 1 raise nitro_exception(result.errorcode, str(result.message), error) response = result.ns_visualizer_lb_bindings_response_array i = 0 ns_visualizer_lb_bindings_objs = [ ns_visualizer_lb_bindings() for _ in range(len(response)) ] for obj in response: if hasattr(obj, '_ns_visualizer_lb_bindings'): for props in obj._ns_visualizer_lb_bindings: result = service.payload_formatter.string_to_bulk_resource( ns_visualizer_lb_bindings_response, self.__class__.__name__, props) ns_visualizer_lb_bindings_objs[ i] = result.ns_visualizer_lb_bindings i = i + 1 return ns_visualizer_lb_bindings_objs except Exception as e: raise e
def get_nitro_bulk_response(self, service, response): try: result = service.payload_formatter.string_to_resource( clouduser_responses, response, "clouduser_response_array", class_name=self.__class__) if (result.errorcode != 0): if (result.errorcode == 444): service.clear_session(self) response = result.clouduser_response_array i = 0 error = [clouduser() for _ in range(len(response))] for obj in response: error[i] = obj._message i = i + 1 raise nitro_exception(result.errorcode, str(result.message), error) response = result.clouduser_response_array i = 0 clouduser_objs = [clouduser() for _ in range(len(response))] for obj in response: if hasattr(obj, '_clouduser'): for props in obj._clouduser: result = service.payload_formatter.string_to_bulk_resource( clouduser_response, self.__class__.__name__, props) clouduser_objs[i] = result.clouduser i = i + 1 return response except Exception as e: raise e
def get_nitro_bulk_response(self, service, response): try: result = service.payload_formatter.string_to_resource( rba_submodule_client_data_responses, response, "rba_submodule_client_data_response_array") if (result.errorcode != 0): if (result.errorcode == 444): service.clear_session(self) response = result.rba_submodule_client_data_response_array i = 0 error = [ rba_submodule_client_data() for _ in range(len(response)) ] for obj in response: error[i] = obj._message i = i + 1 raise nitro_exception(result.errorcode, str(result.message), error) response = result.rba_submodule_client_data_response_array i = 0 rba_submodule_client_data_objs = [ rba_submodule_client_data() for _ in range(len(response)) ] for obj in response: if hasattr(obj, '_rba_submodule_client_data'): for props in obj._rba_submodule_client_data: result = service.payload_formatter.string_to_bulk_resource( rba_submodule_client_data_response, self.__class__.__name__, props) rba_submodule_client_data_objs[ i] = result.rba_submodule_client_data i = i + 1 return rba_submodule_client_data_objs except Exception as e: raise e
def get_nitro_bulk_response(self,service ,response): try : result=service.payload_formatter.string_to_resource(authorized_application_responses, response, "authorized_application_response_array") if(result.errorcode != 0) : if (result.errorcode == 444) : service.clear_session(self) response = result.authorized_application_response_array i=0 error = [authorized_application() for _ in range(len(response))] for obj in response : error[i]= obj._message i=i+1 raise nitro_exception(result.errorcode, str(result.message), error) response = result.authorized_application_response_array i=0 authorized_application_objs = [authorized_application() for _ in range(len(response))] for obj in response : if hasattr(obj,'_authorized_application'): for props in obj._authorized_application: result = service.payload_formatter.string_to_bulk_resource(authorized_application_response,self.__class__.__name__,props) authorized_application_objs[i] = result.authorized_application i=i+1 return authorized_application_objs except Exception as e : raise e
def get_nitro_bulk_response(self, service, response): try: result = service.payload_formatter.string_to_resource( devicewise_detail_summary_responses, response, "devicewise_detail_summary_response_array") if (result.errorcode != 0): if (result.errorcode == 444): service.clear_session(self) response = result.devicewise_detail_summary_response_array i = 0 error = [ devicewise_detail_summary() for _ in range(len(response)) ] for obj in response: error[i] = obj._message i = i + 1 raise nitro_exception(result.errorcode, str(result.message), error) response = result.devicewise_detail_summary_response_array i = 0 devicewise_detail_summary_objs = [ devicewise_detail_summary() for _ in range(len(response)) ] for obj in response: if hasattr(obj, '_devicewise_detail_summary'): for props in obj._devicewise_detail_summary: result = service.payload_formatter.string_to_bulk_resource( devicewise_detail_summary_response, self.__class__.__name__, props) devicewise_detail_summary_objs[ i] = result.devicewise_detail_summary i = i + 1 return devicewise_detail_summary_objs except Exception as e: raise e
def get_nitro_bulk_response(self, service, response): try: result = service.payload_formatter.string_to_resource( syslog_purge_setting_responses, response, "syslog_purge_setting_response_array") if (result.errorcode != 0): if (result.errorcode == 444): service.clear_session(self) response = result.syslog_purge_setting_response_array i = 0 error = [syslog_purge_setting() for _ in range(len(response))] for obj in response: error[i] = obj._message i = i + 1 raise nitro_exception(result.errorcode, str(result.message), error) response = result.syslog_purge_setting_response_array i = 0 syslog_purge_setting_objs = [ syslog_purge_setting() for _ in range(len(response)) ] for obj in response: if hasattr(obj, '_syslog_purge_setting'): for props in obj._syslog_purge_setting: result = service.payload_formatter.string_to_bulk_resource( syslog_purge_setting_response, self.__class__.__name__, props) syslog_purge_setting_objs[ i] = result.syslog_purge_setting i = i + 1 return syslog_purge_setting_objs except Exception as e: raise e
def get_nitro_response(self, service, response): try: result = service.payload_formatter.string_to_resource( snmp_info_response, response, self.__class__.__name__) if (result.errorcode != 0): if (result.errorcode == 444): service.clear_session(self) if result.severity: if (result.severity == "ERROR"): raise nitro_exception(result.errorcode, str(result.message), str(result.severity)) else: raise nitro_exception(result.errorcode, str(result.message), str(result.severity)) return result.snmp_info except Exception as e: raise e
def get_nitro_response(self, service, response): try: result = service.payload_formatter.string_to_resource( perf_wsserviceclassstatstable_pass_through_connection_report_response, response, self.__class__.__name__) if (result.errorcode != 0): if (result.errorcode == 444): service.clear_session(self) if result.severity: if (result.severity == "ERROR"): raise nitro_exception(result.errorcode, str(result.message), str(result.severity)) else: raise nitro_exception(result.errorcode, str(result.message), str(result.severity)) return result.perf_wsserviceclassstatstable_pass_through_connection_report except Exception as e: raise e
def get_nitro_bulk_response(self, service, response): try: result = service.payload_formatter.string_to_resource( web_detail_data_collection_config_responses, response, "web_detail_data_collection_config_response_array") if (result.errorcode != 0): if (result.errorcode == 444): service.clear_session(self) response = result.web_detail_data_collection_config_response_array i = 0 error = [ web_detail_data_collection_config() for _ in range(len(response)) ] for obj in response: error[i] = obj._message i = i + 1 raise nitro_exception(result.errorcode, str(result.message), error) response = result.web_detail_data_collection_config_response_array i = 0 web_detail_data_collection_config_objs = [ web_detail_data_collection_config() for _ in range(len(response)) ] for obj in response: if hasattr(obj, '_web_detail_data_collection_config'): for props in obj._web_detail_data_collection_config: result = service.payload_formatter.string_to_bulk_resource( web_detail_data_collection_config_response, self.__class__.__name__, props) web_detail_data_collection_config_objs[ i] = result.web_detail_data_collection_config i = i + 1 return web_detail_data_collection_config_objs except Exception as e: raise e
def __delete_request(self, service, args): try: urlstr = "" ipaddress = service.ipaddress sessionid = service.sessionid version = service.version protocol = service.protocol timeout = service.timeout object_type = self.get_object_type() verify = service.certverify url = self.get_resource_url() if not url: urlstr = protocol + "://" + ipaddress + "/nitro/" + version + "/config/" + object_type else: urlstr = protocol + "://" + ipaddress + url name = self.get_object_id() if name is not None and len(name) > 0: urlstr = urlstr + "/" + nitro_util.encode( nitro_util.encode(name)) else: resource_id = self.get_resource_id() if resource_id: urlstr = urlstr + "/" + resource_id ''' if args is not None : urlstr = urlstr + "/" + args ''' if version == "v2": sessionid = "NITRO_AUTH_TOKEN=" + sessionid else: sessionid = "SESSID=" + sessionid headers = {'Connection': 'keep-alive', 'Cookie': sessionid} self.update_headers(headers) response = '' if protocol == 'https': if service.certverify == True: verify = service.certbundlepath response = requests.delete(urlstr, headers=headers, timeout=timeout, verify=verify) else: response = requests.delete(urlstr, headers=headers, timeout=timeout) if not response.ok: errorcode, message, severity = base_resource.get_error_details_from_response( response) if (errorcode == 444): service.clear_session(self) if severity: if (response.severity == "ERROR"): raise nitro_exception( (errorcode, str(message), str(severity))) else: raise nitro_exception( (errorcode, str(message), str(severity))) else: if response and hasattr(response, "text"): response = self.get_nitro_response(service, response.text) return response except requests.exceptions.ConnectionError: raise Exception("Connection Error") except requests.exceptions.Timeout: raise Exception("Request Timed Out") except Exception as e: raise e
def __post(resourcetype, service, request, option, objtype=""): try: urlstr = "" object_type = "" if objtype: object_type = objtype.get_object_type() else: object_type = resourcetype.get_object_type() if (object_type is not "login" and not service.isLogin()): service.login() ipaddress = service.ipaddress sessionid = service.sessionid version = service.version protocol = service.protocol timeout = service.timeout verify = service.certverify headers = "" content_type = "" if objtype: url = objtype.get_resource_url() else: url = resourcetype.get_resource_url() if not url: urlstr = protocol + "://" + ipaddress + "/nitro/" + version + "/config/" + object_type else: urlstr = protocol + "://" + ipaddress + url if version == "v2": if option: option.onerror = service.onerror option.detailview = False optionstr = option.to_string() if len(optionstr) > 0: urlstr = urlstr + "?" + optionstr if version == "v2": content_type = " Application/ vnd.com.citrix.mas." + object_type + "+" + "json " elif url: content_type = "application/json" else: content_type = "application/x-www-form-urlencoded" if object_type is not "login": if version == "v2": sessionid = "NITRO_AUTH_TOKEN=" + sessionid else: sessionid = "SESSID=" + sessionid if version == "v1" and not url: request = "object=" + request if (sessionid != None and object_type is not "login"): headers = { 'Content-type': content_type, 'Connection': 'keep-alive', 'Cookie': sessionid } elif (object_type is "login"): headers = { 'Content-type': content_type, 'Connection': 'keep-alive' } response = '' if protocol == 'https': if service.certverify == True: verify = service.certbundlepath response = requests.post(urlstr, data=request, headers=headers, timeout=timeout, verify=verify) else: response = requests.post(urlstr, data=request, headers=headers, timeout=timeout) if not response.ok: response = json.loads(response.text) raise nitro_exception((response['errorcode']), str(response['message']), str(response['severity'])) else: if (object_type is "login"): try: cookie = response.headers['set-cookie'] service.sessionid = cookie[cookie.find("=") + 1:cookie.find(";")] response = json.loads(response.text) return response except: response = json.loads(response.text) raise nitro_exception((response['errorcode']), str(response['message']), str(response['severity'])) if objtype: response = objtype.get_nitro_bulk_response( service, response.text) else: response = resourcetype.get_nitro_response( service, response.text) return response except requests.exceptions.ConnectionError: raise Exception("Connection Error") except requests.exceptions.Timeout: raise Exception("Request Timed Out") except Exception as e: raise e
def __get(self, service, option_): try: urlstr = "" object_type = self.get_object_type() ipaddress = service.ipaddress sessionid = service.sessionid version = service.version protocol = service.protocol timeout = service.timeout verify = service.certverify url = self.get_resource_url() if not url: urlstr = protocol + "://" + ipaddress + "/nitro/" + version + "/config/" + object_type else: urlstr = protocol + "://" + ipaddress + url response_received = "" name = self.get_object_id() if name and len(name) > 0: urlstr = urlstr + "/" + nitro_util.encode( nitro_util.encode(name)) if option_: optionstr = option_.to_string() if len(optionstr) > 0: urlstr = urlstr + "?" + optionstr if version == "v2": sessionid = "NITRO_AUTH_TOKEN=" + sessionid else: sessionid = "SESSID=" + sessionid headers = {'Connection': 'keep-alive', 'Cookie': sessionid} self.update_headers(headers) response = '' if protocol == 'https': if service.certverify == True: verify = service.certbundlepath response = requests.get(urlstr, headers=headers, timeout=timeout, verify=verify) else: response = requests.get(urlstr, headers=headers, timeout=timeout) if not response.ok: response = json.loads(response.text) errorcode, message, severity = base_resource.get_error_details_from_response( response) raise nitro_exception((errorcode, str(message), str(severity))) else: response = self.get_nitro_response(service, response.text) return response except requests.exceptions.ConnectionError: raise Exception("Connection Error") except requests.exceptions.Timeout: raise Exception("Request Timed Out") except Exception as e: raise e