Start execution of a policy
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' >>> auth # the 'Authorization' header value with the access token {'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImMwMD...'}
Fetch the protection policies as described in Fetching a list of policies and protection plans, then define the
policy_id
variable and assign it with the ID of a protection policy. As an example, the ID of the first policy will be taken:>>> policy_id = policies[0]['id'] >>> policy_id 33965f81-7293-45d4-9f13-dc4281d7bdfd
Note
Execution of the
policy.protection.total
policy will start execution of its enabled children policies.[Optional] Fetch the resources as described in Fetching a list of all resources, then define the
resource_id
variable and assign it with the ID of a resource. As an example, the ID of the first resource will be taken:>>> resource_id = resources[0]['id'] >>> resource_id '5c350066-2ba6-4eeb-aa91-1213dd35f033'
Note
If resources are not specified in the request, the policy will be executed on all resources to which it is applied.
Define a variable named
policy_exec_data
, and then assign an object containing the following JSON parameters to this variable:>>> policy_exec_data = { ... 'state': 'running', ... 'policy_id': policy_id, ... 'context_ids': [resource_id] ... }
For the list of available JSON parameters, refer to the API reference.
Convert the
policy_exec_data
object to a JSON text:>>> policy_exec_data = json.dumps(policy_exec_data, indent=4)
Send a PUT request with the JSON text to the
/policy_management/v4/applications/run
endpoint:>>> response = requests.put( ... f'{base_url}/policy_management/v4/applications/run', ... headers={'Content-Type': 'application/json', **auth}, ... data=policy_exec_data, ... )
Check the status code of the response:
>>> response.status_code 202
Status code 202 means that the request was successful. If you received error code
422
andRunNowRespBody
contains a message related to application status or licensing, make sure that the provided policy is enabled and the resource has correct service quota assigned.A different status code means that an error has occurred. For the details, refer to “Status and error codes”.