Beispiel #1
0
def copy_sdi(user, copy_from, new_name):
    client = Client()
    post_data = {
        "user": user,
        "name": new_name,
        "desdcription": "this is the description",
        "remove_persistence": 0,
        "deep_copy": 0,
    }
    api_url = f'https://{client.url}/api/sdis/{copy_from}/copy/'
    response = requests.post(api_url,
                             headers=client.headers,
                             data=post_data,
                             verify=False)
    exists = 'An SDI with this name already exists.'
    copying = 'The source SDI is currently being copied.'
    while response.status_code == 400:
        if response.json()[0]['message'] == exists:
            print("The SDI allready exists")
            break

        if (response.json()[0]['message'] == copying):
            print("The SDI is still Copying")
            time.sleep(2)
            response = requests.post(api_url,
                                     headers=client.headers,
                                     data=post_data,
                                     verify=False)

    return response
Beispiel #2
0
def start_machine(sdi_id, machine_id):
    client = Client()
    api_url = f'https://{client.url}/api/sdis/{sdi_id}/machines/{machine_id}/start/'
    response = requests.put(api_url,
                            headers=client.headers,
                            data={},
                            verify=False)
    return response
def create_user_single_use_login_token(user_id):
    client = Client()
    post_data = {
        "user": user_id
    }
    api_url = f'https://{client.url}/api/accounts/login/token/'
    response = requests.post(api_url, headers=client.headers, data=post_data,
                             verify=False)
    return response
def create_user(username, password, tenancy=1):
    client = Client()
    post_data = {
        "username": username,
        "password": password,
        "tenancy": tenancy,
        "is_active": 1
    }
    api_url = f'https://{client.url}/api/accounts/users/'
    response = requests.post(api_url, headers=client.headers, data=post_data, verify=False)
    return response
Beispiel #5
0
def get_sdi_status(sdi_id):
    client = Client()
    api_url = f'https://{client.url}/api/sdis/{sdi_id}'
    response = requests.get(api_url, headers=client.headers,
                            verify=False).json()
    state = ""
    status = response.get('status')
    if status:
        state = response['status']['state']
        if state == 0:
            state = "stopped"
        elif state == 1:
            state = "starting"
        elif state == 2:
            state = "running"
        elif state == 3:
            state = "stopping"
    else:
        state = "error"

    return {'state': state}
Beispiel #6
0
def create_machine(sdi_id, name, memory, sockets, cores, role):
    client = Client()
    api_url = f'https://{client.url}/api/sdis/{sdi_id}/machines/'
    post_data = {
        "name": name,
        "description": "",
        "memory": memory,
        "sockets": sockets,
        "cores": cores,
        "threads": 1,
        "role": role,
        "boot_device": "disk",
        "boot_menu": 0,
        "cpu_type": "qemu64",
        "video_card": "vmware",
        "bios_manufacturer": "",
    }
    response = requests.post(api_url,
                             headers=client.headers,
                             data=post_data,
                             verify=False)
    return response
Beispiel #7
0
def start_sdi(sdi_id):
    client = Client()
    api_url = f'https://{client.url}/api/sdis/{sdi_id}/start'
    response = requests.post(api_url, headers=client.headers, verify=False)
    return response
Beispiel #8
0
def get_sdi_by_user(user_pk):
    client = Client()
    api_url = f'https://{client.url}/api/sdis/{user_pk}'
    response = requests.get(api_url, headers=client.headers, verify=False)
    return response
Beispiel #9
0
def get_sdi_persistent_ports(sdi_id):
    client = Client()
    api_url = f'https://{client.url}/api/sdis/{sdi_id}/ports/'
    response = requests.get(api_url, headers=client.headers, verify=False)
    return response
Beispiel #10
0
def get_sdi_overview(sdi_id):
    client = Client()
    api_url = f'https://{client.url}/api/sdis/{sdi_id}/overview'
    response = requests.get(api_url, headers=client.headers, verify=False)
    return response
Beispiel #11
0
def get_machine_details(sdi_id, machine_id):
    client = Client()
    api_url = f'https://{client.url}/api/sdis/{sdi_id}/machines/{machine_id}/'
    response = requests.get(api_url, headers=client.headers, verify=False)
    return response
Beispiel #12
0
def delete_sdi(sdi_id):
    client = Client()
    api_url = f'https://{client.url}/api/sdis/{sdi_id}'
    response = requests.delete(api_url, headers=client.headers, verify=False)
    return response
Beispiel #13
0
def get_tenancies():
    client = Client()
    api_url = f'https://{client.url}/api/accounts/tenancies/'
    response = requests.get(api_url, headers=client.headers, verify=False)
    return response
Beispiel #14
0
def get_user_single_use_login_token():
    client = Client()
    api_url = f'https://{client.url}/api/accounts/login/token/'
    response = requests.get(api_url, headers=client.headers, verify=False)
    return response
Beispiel #15
0
def get_user_disks(user_id):
    client = Client()
    api_url = f'https://{client.url}/api/accounts/users/{user_id}/disks/'
    response = requests.get(api_url, headers=client.headers, verify=False)
    return response