예제 #1
0
	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
예제 #2
0
 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
예제 #4
0
 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
예제 #5
0
 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
예제 #6
0
 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
예제 #7
0
	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
예제 #8
0
 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
예제 #9
0
 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
예제 #10
0
파일: snmp_info.py 프로젝트: j-tb/nitro-ide
 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
예제 #13
0
    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
예제 #14
0
    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
예제 #15
0
    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