Switching the tier level of a partner 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'
Assign either of the following values to the
tenant_id
variable – the UUID of a partner tenant created via the API or a partner tenant found by its name:>>> tenant_id = created_tenant_id >>> tenant_id '0fcd4a69-8a40-4de8-b711-d9c83dc000f7'
Obtain the list of services enabled for the tenant, which UUID is specified in the
tenant_id
variable, as described in steps 3-6 of “Fetching information about services enabled for a tenant”. As the result, you should have atenant_applications
variable with the list of service objects.In this list, find the
platform
service (the value of a service object’stype
key) and store its UUID (the value of a service object’sid
key) in a variable namedapplication_id
:>>> application_id = None >>> for application in tenant_applications: ... if application['type'] == 'platform': ... application_id = application['id'] ... break ... >>> application_id '6e6d758d-8e74-3ae3-ac84-50eb0dff12eb'
Define a variable named
setting_name
, and then assign a name of the setting to this variable:>>> setting_name = 'tier_level_value'
Define a variable named
setting_value
, and then assign an object with thevalue
key containing the tier level to this variable:>>> setting_value = { ... 'value': 7 ... }
Convert the
setting_value
object to a JSON text:>>> setting_value = json.dumps(setting_value, indent=4) >>> print(setting_value) { "value": 7 }
Send a PUT request with the JSON text to the
/applications/{application_id}/settings/tenants/{tenant_id}/{setting_name}
endpoint:>>> response = requests.put( ... f'{base_url}/applications/{application_id}/settings/tenants/{tenant_id}/{setting_name}', ... headers={'Content-Type': 'application/json', **auth}, ... data=setting_value, ... )
Check the status code of the response:
>>> response.status_code 200
Status code 200 means that the platform has assigned tenant with the new tenant tier level.
A different status code means that an error has occurred. For the details, refer to “Status and error codes”.
Also, the response body contains the tier level setting object formatted as a JSON text. When converted to an object, it will look as follows:
>>> pprint.pprint(response.json()) {'effective': None, 'name': 'tier_level_value', 'own': {'exclusive': False, 'lock': False, 'value': 7}}