Fetching information about services enabled for a tenant
- Authenticate to the cloud platform via the Python shell. - The following variables should be available now: - >>> base_url # the base URL of the API 'https://eu2-cloud.acronis.com/api/2' >>> auth # the 'Authorization' header value with the access token {'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImMwMD...'} >>> tenant_id # the UUID of the tenant to which the token provides access 'ede9f834-70b3-476c-83d9-736f9f8c7dae' 
- [To inspect services enabled for a sub-tenant] Assign either of the following values to the - tenant_idvariable – the UUID of a sub-tenant created via the API or a sub-tenant found by its name:- >>> tenant_id = created_tenant_id >>> tenant_id '0fcd4a69-8a40-4de8-b711-d9c83dc000f7' 
- Send a GET request to the - /tenants/{tenant_id}/applicationsendpoint:- >>> response = requests.get(f'{base_url}/tenants/{tenant_id}/applications', headers=auth) 
- Check the status code of the response: - >>> response.status_code 200 - Status code 200 means that the response body text contains an encoded JSON object consisting of the - itemsmember. The- itemsmember is an array of UUIDs of services that are enabled for this tenant and can be enabled for its sub-tenants. If no services are enabled, this array is empty.- A different status code means that an error has occurred. For the details, refer to “Status and error codes”. 
- Convert the JSON text to an object, and then store the value of the object’s - itemskey in a variable named- application_ids:- >>> application_ids = response.json()['items'] >>> pprint.pprint(application_ids) ['6e6d758d-8e74-3ae3-ac84-50eb0dff12eb', 'b71b2c18-590a-303c-9d5a-8444fbe713ac', '7459244f-68f3-3bf4-9f53-5f63ecc1d91f'] 
- [Optional] Translate these UUIDs to service objects: - Fetch the services information as described in steps 2-4 of “Fetching information about all platform services”. As the result, you should have an - applicationsvariable with the list of service objects.
- Iterate over these objects and collect the ones, which value of the - idkey is present in the- application_idslist, and then store them, for example, as a separate list in a variable named- tenant_applications:- >>> ids = set(application_ids) >>> tenant_applications = [app for app in applications if app['id'] in ids] >>> pprint.pprint(tenant_applications) [{'api_base_url': '/bc/', 'id': '6e6d758d-8e74-3ae3-ac84-50eb0dff12eb', 'name': 'Backup', 'type': 'backup', 'usages': ['workstations', 'servers', 'vms', 'mobiles', 'virtualhosts', 'win_server_essentials', 'mailboxes', 'storage', 'workstation_storage', 'server_storage', 'vm_storage', 'mobile_storage', 'virtualhost_storage', 'win_server_essentials_storage', 'mailbox_storage', ...]}, {'api_base_url': '/pds/', 'id': 'b71b2c18-590a-303c-9d5a-8444fbe713ac', 'name': 'Physical Data Shipping', 'type': 'physical_data_shipping', 'usages': ['drives_shipped_to_cloud', 'drives_shipped_from_cloud']}, {'api_base_url': '/mc/', 'id': '7459244f-68f3-3bf4-9f53-5f63ecc1d91f', 'name': 'Management Portal', 'type': 'platform', 'usages': []}]