def get_network_switch_stack(self, options=dict()): """Does a GET request to /networks/{networkId}/switchStacks/{switchStackId}. Show a switch stack Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: switch_stack_id -- string -- TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters( network_id=options.get("network_id"), switch_stack_id=options.get("switch_stack_id")) # Prepare query URL _url_path = '/networks/{networkId}/switchStacks/{switchStackId}' _url_path = APIHelper.append_url_with_template_parameters( _url_path, { 'networkId': options.get('network_id', None), 'switchStackId': options.get('switch_stack_id', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def update_organization(self, options=dict()): """Does a PUT request to /organizations/{organizationId}. Update an organization Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: organization_id -- string -- TODO: type description here. Example: update_organization -- UpdateOrganizationModel -- TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(organization_id=options.get("organization_id")) # Prepare query URL _url_path = '/organizations/{organizationId}' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'organizationId': options.get('organization_id', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json', 'content-type': 'application/json; charset=utf-8' } # Prepare and execute request _request = self.http_client.put(_query_url, headers=_headers, parameters=APIHelper.json_serialize(options.get('update_organization'))) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_device_camera_analytics_recent(self, options=dict()): """Does a GET request to /devices/{serial}/camera/analytics/recent. Returns most recent record for analytics zones Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: serial -- string -- TODO: type description here. Example: object_type -- ObjectTypeEnum -- [optional] The object type for which analytics will be retrieved. The default object type is person. The available types are [person, vehicle]. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(serial=options.get("serial")) # Prepare query URL _url_path = '/devices/{serial}/camera/analytics/recent' _url_path = APIHelper.append_url_with_template_parameters( _url_path, {'serial': options.get('serial', None)}) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = {'objectType': options.get('object_type', None)} _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def claim_network_devices(self, options=dict()): """Does a POST request to /networks/{networkId}/devices/claim. Claim a device into a network Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: claim_network_devices -- ClaimNetworkDevicesModel -- TODO: type description here. Example: Returns: void: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters( network_id=options.get("network_id"), claim_network_devices=options.get("claim_network_devices")) # Prepare query URL _url_path = '/networks/{networkId}/devices/claim' _url_path = APIHelper.append_url_with_template_parameters( _url_path, {'networkId': options.get('network_id', None)}) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'content-type': 'application/json; charset=utf-8'} # Prepare and execute request _request = self.http_client.post( _query_url, headers=_headers, parameters=APIHelper.json_serialize( options.get('claim_network_devices'))) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context)
def delete_network_pii_request(self, options=dict()): """Does a DELETE request to /networks/{networkId}/pii/requests/{requestId}. Delete a restrict processing PII request ## ALTERNATE PATH ``` /organizations/{organizationId}/pii/requests/{requestId} ``` Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: request_id -- string -- TODO: type description here. Example: Returns: void: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id"), request_id=options.get("request_id")) # Prepare query URL _url_path = '/networks/{networkId}/pii/requests/{requestId}' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': options.get('network_id', None), 'requestId': options.get('request_id', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare and execute request _request = self.http_client.delete(_query_url) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context)
def delete_organization_admin(self, options=dict()): """Does a DELETE request to /organizations/{organizationId}/admins/{id}. Revoke all access for a dashboard administrator within this organization Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: organization_id -- string -- TODO: type description here. Example: id -- string -- TODO: type description here. Example: Returns: void: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters( organization_id=options.get("organization_id"), id=options.get("id")) # Prepare query URL _url_path = '/organizations/{organizationId}/admins/{id}' _url_path = APIHelper.append_url_with_template_parameters( _url_path, { 'organizationId': options.get('organization_id', None), 'id': options.get('id', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare and execute request _request = self.http_client.delete(_query_url) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context)
def get_network_pii_requests(self, network_id): """Does a GET request to /networks/{networkId}/pii/requests. List the PII requests for this network or organization ## ALTERNATE PATH ``` /organizations/{organizationId}/pii/requests ``` Args: network_id (string): TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=network_id) # Prepare query URL _url_path = '/networks/{networkId}/pii/requests' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': network_id }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json' } # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_bluetooth_settings(self, network_id): """Does a GET request to /networks/{networkId}/bluetoothSettings. Return the Bluetooth settings for a network. <a href="https://documentation.meraki.com/MR/Bluetooth/Bluetooth_Low_Energ y_(BLE)">Bluetooth settings</a> must be enabled on the network. Args: network_id (string): TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=network_id) # Prepare query URL _url_path = '/networks/{networkId}/bluetoothSettings' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': network_id }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json' } # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def remove_network_device(self, options=dict()): """Does a POST request to /networks/{networkId}/devices/{serial}/remove. Remove a single device Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: serial -- string -- TODO: type description here. Example: Returns: void: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id"), serial=options.get("serial")) # Prepare query URL _url_path = '/networks/{networkId}/devices/{serial}/remove' _url_path = APIHelper.append_url_with_template_parameters( _url_path, { 'networkId': options.get('network_id', None), 'serial': options.get('serial', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare and execute request _request = self.http_client.post(_query_url) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context)
def get_network_traffic_shaping_dscp_tagging_options(self, network_id): """Does a GET request to /networks/{networkId}/trafficShaping/dscpTaggingOptions. Returns the available DSCP tagging options for your traffic shaping rules. Args: network_id (string): TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=network_id) # Prepare query URL _url_path = '/networks/{networkId}/trafficShaping/dscpTaggingOptions' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': network_id }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json' } # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_switch_settings_qos_rules_order(self, network_id): """Does a GET request to /networks/{networkId}/switch/settings/qosRules/order. Return the quality of service rule IDs by order in which they will be processed by the switch Args: network_id (string): TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=network_id) # Prepare query URL _url_path = '/networks/{networkId}/switch/settings/qosRules/order' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': network_id }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json' } # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def split_network(self, network_id): """Does a POST request to /networks/{networkId}/split. Split a combined network into individual networks for each type of device Args: network_id (string): TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=network_id) # Prepare query URL _url_path = '/networks/{networkId}/split' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': network_id }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json' } # Prepare and execute request _request = self.http_client.post(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def create_organization(self, create_organization): """Does a POST request to /organizations. Create a new organization Args: create_organization (CreateOrganizationModel): TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(create_organization=create_organization) # Prepare query URL _url_path = '/organizations' _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json', 'content-type': 'application/json; charset=utf-8' } # Prepare and execute request _request = self.http_client.post( _query_url, headers=_headers, parameters=APIHelper.json_serialize(create_organization)) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_device_switch_ports(self, serial): """Does a GET request to /devices/{serial}/switchPorts. List the switch ports for a switch Args: serial (string): TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(serial=serial) # Prepare query URL _url_path = '/devices/{serial}/switchPorts' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'serial': serial }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json' } # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_organization_security_intrusion_settings(self, organization_id): """Does a GET request to /organizations/{organizationId}/security/intrusionSettings. Returns all supported intrusion settings for an organization Args: organization_id (string): TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(organization_id=organization_id) # Prepare query URL _url_path = '/organizations/{organizationId}/security/intrusionSettings' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'organizationId': organization_id }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json' } # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def delete_organization(self, organization_id): """Does a DELETE request to /organizations/{organizationId}. Delete an organization Args: organization_id (string): TODO: type description here. Example: Returns: void: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(organization_id=organization_id) # Prepare query URL _url_path = '/organizations/{organizationId}' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'organizationId': organization_id }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare and execute request _request = self.http_client.delete(_query_url) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context)
def unbind_network(self, network_id): """Does a POST request to /networks/{networkId}/unbind. Unbind a network from a template. Args: network_id (string): TODO: type description here. Example: Returns: void: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=network_id) # Prepare query URL _url_path = '/networks/{networkId}/unbind' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': network_id }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare and execute request _request = self.http_client.post(_query_url) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context)
def get_network_traffic(self, options=dict()): """Does a GET request to /networks/{networkId}/traffic. The traffic analysis data for this network. <a href="https://documentation.meraki.com/MR/Monitoring_and_Reporting/Host name_Visibility">Traffic Analysis with Hostname Visibility</a> must be enabled on the network. Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: timespan -- string -- The timespan for the data. Must be an integer representing a duration in seconds between two hours and one month. (Mandatory.) device_type -- string -- Filter the data by device type: combined (default), wireless, switch, appliance. When using combined, for each rule the data will come from the device type with the most usage. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id"), timespan=options.get("timespan")) # Prepare query URL _url_path = '/networks/{networkId}/traffic' _url_path = APIHelper.append_url_with_template_parameters( _url_path, {'networkId': options.get('network_id', None)}) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 'timespan': options.get('timespan', None), 'deviceType': options.get('device_type', None) } _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_air_marshal(self, options=dict()): """Does a GET request to /networks/{networkId}/airMarshal. List Air Marshal scan results from a network Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: t_0 -- string -- The beginning of the timespan for the data. The maximum lookback period is 31 days from today. timespan -- int -- The timespan for which the information will be fetched. If specifying timespan, do not specify parameter t0. The value must be in seconds and be less than or equal to 31 days. The default is 7 days. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id")) # Prepare query URL _url_path = '/networks/{networkId}/airMarshal' _url_path = APIHelper.append_url_with_template_parameters( _url_path, {'networkId': options.get('network_id', None)}) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 't0': options.get('t0', None), 'timespan': options.get('timespan', None) } _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_splash_login_attempts(self, options=dict()): """Does a GET request to /networks/{networkId}/splashLoginAttempts. List the splash login attempts for a network Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: ssid_number -- SsidNumberEnum -- Only return the login attempts for the specified SSID login_identifier -- string -- The username, email, or phone number used during login timespan -- int -- The timespan, in seconds, for the login attempts. The period will be from [timespan] seconds ago until now. The maximum timespan is 3 months Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id")) # Prepare query URL _url_path = '/networks/{networkId}/splashLoginAttempts' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': options.get('network_id', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 'ssidNumber': options.get('ssid_number', None), 'loginIdentifier': options.get('login_identifier', None), 'timespan': options.get('timespan', None) } _query_builder = APIHelper.append_url_with_query_parameters(_query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json' } # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_clients(self, options=dict()): """Does a GET request to /networks/{networkId}/clients. List the clients that have used this network in the timespan Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: t_0 -- string -- The beginning of the timespan for the data. The maximum lookback period is 31 days from today. timespan -- int -- The timespan for which the information will be fetched. If specifying timespan, do not specify parameter t0. The value must be in seconds and be less than or equal to 31 days. The default is 1 day. per_page -- int -- The number of entries per page returned. Acceptable range is 3 - 1000. Default is 10. starting_after -- string -- A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it. ending_before -- string -- A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id")) # Prepare query URL _url_path = '/networks/{networkId}/clients' _url_path = APIHelper.append_url_with_template_parameters( _url_path, {'networkId': options.get('network_id', None)}) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 't0': options.get('t0', None), 'timespan': options.get('timespan', None), 'perPage': options.get('per_page', None), 'startingAfter': options.get('starting_after', None), 'endingBefore': options.get('ending_before', None) } _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def update_network_client_policy(self, options=dict()): """Does a PUT request to /networks/{networkId}/clients/{clientId}/policy. Update the policy assigned to a client on the network. Clients can be identified by a client key or either the MAC or IP depending on whether the network uses Track-by-IP. Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: client_id -- string -- TODO: type description here. Example: update_network_client_policy -- UpdateNetworkClientPolicyModel -- TODO: type description here. Example: Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id"), client_id=options.get("client_id")) # Prepare query URL _url_path = '/networks/{networkId}/clients/{clientId}/policy' _url_path = APIHelper.append_url_with_template_parameters( _url_path, { 'networkId': options.get('network_id', None), 'clientId': options.get('client_id', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json', 'content-type': 'application/json; charset=utf-8' } # Prepare and execute request _request = self.http_client.put( _query_url, headers=_headers, parameters=APIHelper.json_serialize( options.get('update_network_client_policy'))) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_client_traffic_history(self, options=dict()): """Does a GET request to /networks/{networkId}/clients/{clientId}/trafficHistory. Return the client's network traffic data over time. Usage data is in kilobytes. This endpoint requires detailed traffic analysis to be enabled on the Network-wide > General page. Clients can be identified by a client key or either the MAC or IP depending on whether the network uses Track-by-IP. Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: client_id -- string -- TODO: type description here. Example: per_page -- int -- The number of entries per page returned. Acceptable range is 3 - 1000. starting_after -- string -- A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it. ending_before -- string -- A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it is not limited to those. This parameter should not be defined by client applications. The link for the first, last, prev, or next page in the HTTP Link header should define it. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id"), client_id=options.get("client_id")) # Prepare query URL _url_path = '/networks/{networkId}/clients/{clientId}/trafficHistory' _url_path = APIHelper.append_url_with_template_parameters( _url_path, { 'networkId': options.get('network_id', None), 'clientId': options.get('client_id', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 'perPage': options.get('per_page', None), 'startingAfter': options.get('starting_after', None), 'endingBefore': options.get('ending_before', None) } _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_wireless_rf_profiles(self, options=dict()): """Does a GET request to /networks/{networkId}/wireless/rfProfiles. List the non-basic RF profiles for this network Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: include_template_profiles -- bool -- If the network is bound to a template, this parameter controls whether or not the non-basic RF profiles defined on the template should be included in the response alongside the non-basic profiles defined on the bound network. Defaults to false. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id")) # Prepare query URL _url_path = '/networks/{networkId}/wireless/rfProfiles' _url_path = APIHelper.append_url_with_template_parameters( _url_path, {'networkId': options.get('network_id', None)}) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 'includeTemplateProfiles': options.get('include_template_profiles', None) } _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_pii_sm_owners_for_key(self, options=dict()): """Does a GET request to /networks/{networkId}/pii/smOwnersForKey. Given a piece of Personally Identifiable Information (PII), return the Systems Manager owner ID(s) associated with that identifier. These owner IDs can be used with the Systems Manager API endpoints to retrieve owner details. Exactly one identifier will be accepted. ## ALTERNATE PATH ``` /organizations/{organizationId}/pii/smOwnersForKey ``` Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: username -- string -- The username of a Systems Manager user email -- string -- The email of a network user account or a Systems Manager device mac -- string -- The MAC of a network client device or a Systems Manager device serial -- string -- The serial of a Systems Manager device imei -- string -- The IMEI of a Systems Manager device bluetooth_mac -- string -- The MAC of a Bluetooth client Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id")) # Prepare query URL _url_path = '/networks/{networkId}/pii/smOwnersForKey' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': options.get('network_id', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 'username': options.get('username', None), 'email': options.get('email', None), 'mac': options.get('mac', None), 'serial': options.get('serial', None), 'imei': options.get('imei', None), 'bluetoothMac': options.get('bluetooth_mac', None) } _query_builder = APIHelper.append_url_with_query_parameters(_query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json' } # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_bluetooth_client(self, options=dict()): """Does a GET request to /networks/{networkId}/bluetoothClients/{bluetoothClientId}. Return a Bluetooth client. Bluetooth clients can be identified by their ID or their MAC. Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: bluetooth_client_id -- string -- TODO: type description here. Example: include_connectivity_history -- bool -- Include the connectivity history for this client connectivity_history_timespan -- int -- The timespan, in seconds, for the connectivityHistory data. By default 1 day, 86400, will be used. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id"), bluetooth_client_id=options.get("bluetooth_client_id")) # Prepare query URL _url_path = '/networks/{networkId}/bluetoothClients/{bluetoothClientId}' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': options.get('network_id', None), 'bluetoothClientId': options.get('bluetooth_client_id', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 'includeConnectivityHistory': options.get('include_connectivity_history', None), 'connectivityHistoryTimespan': options.get('connectivity_history_timespan', None) } _query_builder = APIHelper.append_url_with_query_parameters(_query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = { 'accept': 'application/json' } # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_organization_uplinks_loss_and_latency(self, options=dict()): """Does a GET request to /organizations/{organizationId}/uplinksLossAndLatency. Return the uplink loss and latency for every MX in the organization from at latest 2 minutes ago Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: organization_id -- string -- TODO: type description here. Example: t_0 -- string -- The beginning of the timespan for the data. The maximum lookback period is 365 days from today. t_1 -- string -- The end of the timespan for the data. t1 can be a maximum of 5 minutes after t0. The latest possible time that t1 can be is 2 minutes into the past. timespan -- float -- The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be less than or equal to 5 minutes. The default is 5 minutes. uplink -- UplinkEnum -- Optional filter for a specific WAN uplink. Valid uplinks are wan1, wan2, cellular. Default will return all uplinks. ip -- string -- Optional filter for a specific destination IP. Default will return all destination IPs. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters( organization_id=options.get("organization_id")) # Prepare query URL _url_path = '/organizations/{organizationId}/uplinksLossAndLatency' _url_path = APIHelper.append_url_with_template_parameters( _url_path, {'organizationId': options.get('organization_id', None)}) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 't0': options.get('t_0', None), 't1': options.get('t_1', None), 'timespan': options.get('timespan', None), 'uplink': options.get('uplink', None), 'ip': options.get('ip', None) } _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_camera_video_link(self, options=dict()): """Does a GET request to /networks/{networkId}/cameras/{serial}/videoLink. Returns video link to the specified camera. If a timestamp is supplied, it links to that timestamp. Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: serial -- string -- TODO: type description here. Example: timestamp -- string -- [optional] The video link will start at this timestamp. The timestamp is in UNIX Epoch time (milliseconds). If no timestamp is specified, we will assume current time. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id"), serial=options.get("serial")) # Prepare query URL _url_path = '/networks/{networkId}/cameras/{serial}/videoLink' _url_path = APIHelper.append_url_with_template_parameters( _url_path, { 'networkId': options.get('network_id', None), 'serial': options.get('serial', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = {'timestamp': options.get('timestamp', None)} _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_network_client_latency_history(self, options=dict()): """Does a GET request to /networks/{networkId}/clients/{clientId}/latencyHistory. Return the latency history for a client. Clients can be identified by a client key or either the MAC or IP depending on whether the network uses Track-by-IP. The latency data is from a sample of 2% of packets and is grouped into 4 traffic categories: background, best effort, video, voice. Within these categories the sampled packet counters are bucketed by latency in milliseconds. Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: network_id -- string -- TODO: type description here. Example: client_id -- string -- TODO: type description here. Example: t_0 -- string -- The beginning of the timespan for the data. The maximum lookback period is 791 days from today. t_1 -- string -- The end of the timespan for the data. t1 can be a maximum of 791 days after t0. timespan -- int -- The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be less than or equal to 791 days. The default is 1 day. resolution -- int -- The time resolution in seconds for returned data. The valid resolutions are: 86400. The default is 86400. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(network_id=options.get("network_id"), client_id=options.get("client_id")) # Prepare query URL _url_path = '/networks/{networkId}/clients/{clientId}/latencyHistory' _url_path = APIHelper.append_url_with_template_parameters( _url_path, { 'networkId': options.get('network_id', None), 'clientId': options.get('client_id', None) }) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 't0': options.get('t0', None), 't1': options.get('t1', None), 'timespan': options.get('timespan', None), 'resolution': options.get('resolution', None) } _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)
def get_device_camera_analytics_overview(self, options=dict()): """Does a GET request to /devices/{serial}/camera/analytics/overview. Returns an overview of aggregate analytics data for a timespan Args: options (dict, optional): Key-value pairs for any of the parameters to this API Endpoint. All parameters to the endpoint are supplied through the dictionary with their names being the key and their desired values being the value. A list of parameters that can be used are:: serial -- string -- TODO: type description here. Example: t_0 -- string -- The beginning of the timespan for the data. The maximum lookback period is 365 days from today. t_1 -- string -- The end of the timespan for the data. t1 can be a maximum of 7 days after t0. timespan -- int -- The timespan for which the information will be fetched. If specifying timespan, do not specify parameters t0 and t1. The value must be in seconds and be less than or equal to 7 days. The default is 1 hour. object_type -- ObjectTypeEnum -- [optional] The object type for which analytics will be retrieved. The default object type is person. The available types are [person, vehicle]. Returns: mixed: Response from the API. Successful operation Raises: APIException: When an error occurs while fetching the data from the remote API. This exception includes the HTTP Response code, an error message, and the HTTP body that was received in the request. """ # Validate required parameters self.validate_parameters(serial=options.get("serial")) # Prepare query URL _url_path = '/devices/{serial}/camera/analytics/overview' _url_path = APIHelper.append_url_with_template_parameters( _url_path, {'serial': options.get('serial', None)}) _query_builder = Configuration.base_uri _query_builder += _url_path _query_parameters = { 't0': options.get('t0', None), 't1': options.get('t1', None), 'timespan': options.get('timespan', None), 'objectType': options.get('object_type', None) } _query_builder = APIHelper.append_url_with_query_parameters( _query_builder, _query_parameters, Configuration.array_serialization) _query_url = APIHelper.clean_url(_query_builder) # Prepare headers _headers = {'accept': 'application/json'} # Prepare and execute request _request = self.http_client.get(_query_url, headers=_headers) CustomHeaderAuth.apply(_request) _context = self.execute_request(_request) self.validate_response(_context) # Return appropriate type return APIHelper.json_deserialize(_context.response.raw_body)