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
예제 #4
0
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
예제 #5
0
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
예제 #6
0
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
예제 #7
0
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