def update_network_traffic_analysis_settings(self, options=dict()): """Does a PUT request to /networks/{networkId}/trafficAnalysisSettings. Update the traffic analysis settings 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: update_network_traffic_analysis_settings -- UpdateNetworkTrafficAnalysisSettingsModel -- 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")) # Prepare query URL _url_path = '/networks/{networkId}/trafficAnalysisSettings' _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 = { '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_traffic_analysis_settings'))) 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_insight_monitored_media_server(self, options=dict()): """Does a GET request to /organizations/{organizationId}/insight/monitoredMediaServers/{monitoredMediaServerId}. Return a monitored media server for this organization. Only valid for organizations with Meraki Insight. 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: monitored_media_server_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=options.get("organization_id"), monitored_media_server_id=options.get("monitored_media_server_id")) # Prepare query URL _url_path = '/organizations/{organizationId}/insight/monitoredMediaServers/{monitoredMediaServerId}' _url_path = APIHelper.append_url_with_template_parameters( _url_path, { 'organizationId': options.get('organization_id', None), 'monitoredMediaServerId': options.get('monitored_media_server_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 get_network_device_performance(self, options=dict()): """Does a GET request to /networks/{networkId}/devices/{serial}/performance. Return the performance score for a single device. Only primary MX devices supported. If no data is available, a 204 error code is returned. 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: 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}/devices/{serial}/performance' _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 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_device_switch_port(self, options=dict()): """Does a PUT request to /devices/{serial}/switchPorts/{number}. Update a switch port 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: number -- string -- TODO: type description here. Example: update_device_switch_port -- UpdateDeviceSwitchPortModel -- 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=options.get("serial"), number=options.get("number")) # Prepare query URL _url_path = '/devices/{serial}/switchPorts/{number}' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'serial': options.get('serial', None), 'number': options.get('number', 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_device_switch_port'))) 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_usage_history(self, options=dict()): """Does a GET request to /networks/{networkId}/clients/{clientId}/usageHistory. Return the client's daily usage history. Usage data is in kilobytes. 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: 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}/usageHistory' _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'} # 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 clone_organization(self, options=dict()): """Does a POST request to /organizations/{organizationId}/clone. Create a new organization by cloning the addressed 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: clone_organization -- CloneOrganizationModel -- 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"), clone_organization=options.get("clone_organization")) # Prepare query URL _url_path = '/organizations/{organizationId}/clone' _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.post(_query_url, headers=_headers, parameters=APIHelper.json_serialize(options.get('clone_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 get_network_sm_target_groups(self, options=dict()): """Does a GET request to /networks/{networkId}/sm/targetGroups. List the target groups in 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: with_details -- bool -- Boolean indicating if the the ids of the devices or users scoped by the target group should be included in the response 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}/sm/targetGroups' _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 = {'withDetails': options.get('with_details', 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_ssids_plash_settings(self, options=dict()): """Does a GET request to /networks/{networkId}/ssids/{number}/splashSettings. Display the splash page settings for the given SSID 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: number -- 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"), number=options.get("number")) # Prepare query URL _url_path = '/networks/{networkId}/ssids/{number}/splashSettings' _url_path = APIHelper.append_url_with_template_parameters(_url_path, { 'networkId': options.get('network_id', None), 'number': options.get('number', 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 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 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 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 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_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 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_organization_openapi_spec(self, organization_id): """Does a GET request to /organizations/{organizationId}/openapiSpec. Return the OpenAPI 2.0 Specification of the organization's API documentation in JSON 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}/openapiSpec' _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 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_cellular_gateway_settings_subnet_pool(self, network_id): """Does a GET request to /networks/{networkId}/cellularGateway/settings/subnetPool. Return the subnet pool and mask configured for MGs in 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}/cellularGateway/settings/subnetPool' _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_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_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 get_organization_branding_policies_priorities(self, organization_id): """Does a GET request to /organizations/{organizationId}/brandingPolicies/priorities. Return the branding policy IDs of an organization in priority order. IDs are ordered in ascending order of priority (IDs later in the array have higher priority). 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}/brandingPolicies/priorities' _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 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 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 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 -- float -- 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('t_0', 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 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_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 -- 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 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('t_0', None), 't1': options.get('t_1', 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_clients(self, options=dict()): """Does a GET request to /devices/{serial}/clients. List the clients of a device, up to a maximum of a month ago. The usage of each client is returned in kilobytes. If the device is a switch, the switchport is returned; otherwise the switchport field is null. 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 31 days from today. timespan -- float -- 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. 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}/clients' _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('t_0', 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_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/ Hostname_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: t_0 -- string -- The beginning of the timespan for the data. The maximum lookback period is 30 days from today. timespan -- float -- 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 30 days. 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")) # 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 = { 't0': options.get('t_0', None), '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_events(self, options=dict()): """Does a GET request to /networks/{networkId}/events. List the events for 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: product_type -- string -- The product type to fetch events for. This parameter is required for networks with multiple device types. Valid types are wireless, appliance, switch, systemsManager, camera, and cellularGateway included_event_types -- list of string -- A list of event types. The returned events will be filtered to only include events with these types. excluded_event_types -- list of string -- A list of event types. The returned events will be filtered to exclude events with these types. device_mac -- string -- The MAC address of the Meraki device which the list of events will be filtered with device_serial -- string -- The serial of the Meraki device which the list of events will be filtered with device_name -- string -- The name of the Meraki device which the list of events will be filtered with client_ip -- string -- The IP of the client which the list of events will be filtered with. Only supported for track-by-IP networks. client_mac -- string -- The MAC address of the client which the list of events will be filtered with. Only supported for track-by-MAC networks. client_name -- string -- The name, or partial name, of the client which the list of events will be filtered with sm_device_mac -- string -- The MAC address of the Systems Manager device which the list of events will be filtered with sm_device_name -- string -- The name of the Systems Manager device which the list of events will be filtered with 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}/events' _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 = { 'productType': options.get('product_type', None), 'includedEventTypes': options.get('included_event_types', None), 'excludedEventTypes': options.get('excluded_event_types', None), 'deviceMac': options.get('device_mac', None), 'deviceSerial': options.get('device_serial', None), 'deviceName': options.get('device_name', None), 'clientIp': options.get('client_ip', None), 'clientMac': options.get('client_mac', None), 'clientName': options.get('client_name', None), 'smDeviceMac': options.get('sm_device_mac', None), 'smDeviceName': options.get('sm_device_name', 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 get_network_clients_latency_stats(self, options=dict()): """Does a GET request to /networks/{networkId}/clients/latencyStats. Aggregated latency info for this network, grouped by clients 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 180 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 -- 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 7 days. ssid -- int -- Filter results by SSID vlan -- int -- Filter results by VLAN ap_tag -- string -- Filter results by AP Tag fields -- string -- Partial selection: If present, this call will return only the selected fields of ["rawDistribution", "avg"]. All fields will be returned by default. Selected fields must be entered as a comma separated string. 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/latencyStats' _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('t_0', None), 't1': options.get('t_1', None), 'timespan': options.get('timespan', None), 'ssid': options.get('ssid', None), 'vlan': options.get('vlan', None), 'apTag': options.get('ap_tag', None), 'fields': options.get('fields', 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)