def post_and_wait(url, data): token = get_auth_token() url = create_url(path=url) headers = { 'x-auth-token': token['token'], 'content-type': 'application/json' } try: response = requests.post(url, headers=headers, data=json.dumps(data), verify=False) except requests.exceptions.RequestException as cerror: print("Error processing request", cerror) sys.exit(1) logging.debug("POST Result{}".format(json.dumps(response.json()))) if 'message' in response.json()['response']: return response.json() taskid = response.json()['response']['taskId'] print("Waiting for Task %s" % taskid) task_result = wait_on_task(taskid, token) return task_result
def create_project(project_name): token = get_auth_token() url = create_url(path="pnp-project") print("POST URL %s" % url) print("Creating project %s" % project_name) headers = { 'x-auth-token': token['token'], 'content-type': 'application/json' } body = [{"siteName": project_name}] try: response = requests.post(url, headers=headers, data=json.dumps(body), verify=False) except requests.exceptions.RequestException as cerror: print("Error processing request", cerror) sys.exit(1) taskid = response.json()['response']['taskId'] print("Waiting for Task %s" % taskid) task_result = wait_on_task(taskid, token) return task_result
def delete_project(project_name): token = get_auth_token() url = create_url(path="pnp-project") headers = { 'x-auth-token': token['token'], 'content-type': 'application/json' } try: project_id = project_name_to_id(project_name) except ValueError as v: print("NO project: %s" % project_name) return {} delete_url = url + '/%s?deleteRule=1&deleteDevice=1' % project_id print("DELETE: %s" % delete_url) try: response = requests.delete(delete_url, headers=headers, verify=False) response.raise_for_status() except requests.exceptions.RequestException as cerror: print("Error processing request", cerror) sys.exit(1) taskid = response.json()['response']['taskId'] print("Waiting for Task %s" % taskid) task_result = wait_on_task(taskid, token) return task_result
def wait_on_tasks(tasklist): response_list = [] token = get_auth_token() for task in tasklist: task_result = wait_on_task(task, token, timeout=90, retry_interval=2) response_list.append(task_result) return response_list
def delete_and_wait(url): if FAKE: return fake_post[url] token = get_auth_token() url = create_url(path=url) headers= { 'x-auth-token': token['token'], 'content-type' : 'application/json'} try: response = requests.delete(url, headers=headers, verify=False) except requests.exceptions.RequestException as cerror: print ("Error processing request", cerror) sys.exit(1) taskid = response.json()['response']['taskId'] print ("Waiting for Task %s" % taskid) task_result = wait_on_task(taskid, token) return task_result
def create_project_rule(project_name, serial, platform, host, config_file_id=None): token = get_auth_token() url = create_url(path="pnp-project") headers = { 'x-auth-token': token['token'], 'content-type': 'application/json' } project_id = project_name_to_id(project_name) post_url = url + '/%s/device' % project_id print("POST URL %s" % post_url) body = [{ "serialNumber": serial, "platformId": platform, "hostName": host, "pkiEnabled": True }] if config_file_id is not None: body[0]['configId'] = config_file_id print(json.dumps(body, indent=2)) try: response = requests.post(post_url, headers=headers, data=json.dumps(body), verify=False) response.raise_for_status() except requests.exceptions.RequestException as cerror: print("Error processing request", cerror) if response.json(): print(json.dumps(response.json(), indent=2)) sys.exit(1) taskid = response.json()['response']['taskId'] print("Waiting for Task %s" % taskid) task_result = wait_on_task(taskid, token) return task_result
def put_and_wait(url, data): token = get_auth_token() url = create_url(path=url) headers = { 'x-auth-token': token['token'], 'content-type': 'application/json' } try: response = requests.put(url, headers=headers, data=json.dumps(data), verify=False) except requests.exceptions.RequestException as cerror: print("Error processing request", cerror) sys.exit(1) taskid = response.json()['response']['taskId'] print("Waiting for Task %s" % taskid) task_result = wait_on_task(taskid, token, timeout=900, retry_interval=60) return task_result