Updating a location

  1. Authenticate to the cloud platform via the Python shell.

    The following variables should be available now:

    >>> base_url  # the base URL of the API
    >>> 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
  2. Assign the location_id variable the UUID of a location created via the API or a location found in tenant’s locations:

    >>> location_id = created_location_id
    >>> location_id
  3. Fetch the revision number of the location as described in the chapters above. The following variable should be available now:

    >>> version
  4. Define a variable named location_data, and then assign the location information to update to this variable:

    >>> location_data = {
    ...     "name": "Moscow Data Center",
    ...     "version": version
    ... }


    Value type






    The new name of the location.




    Revision number.

  5. Convert the location_data object to a JSON text:

    >>> location_data = json.dumps(location_data, indent=4)
  6. Send a PUT request with the JSON text to the /locations/{location_id} endpoint:

    >>> response = requests.put(
    ...     f'{base_url}/locations/{location_id}',
    ...     headers={'Content-Type': 'application/json', **auth},
    ...     data=location_data,
    ... )
  7. Check the status code of the response:

    >>> response.status_code

    Status code 200 means that the location has been updated.

    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 updated location information formatted as a JSON text. When converted to an object, it will look as follows:

    >>> pprint.pprint(response.json())
    {'id': '8fcd353b-0a40-40f2-9a55-ef8137d48800',
     'name': 'Moscow Data Center',
     'owner_tenant_id': '0bb386ae-e66d-4e7b-84fb-cddcf60002de',
     'platform_owned': True,
     'readonly': False,
     'version': 1}