API Explorer
API Explorer
Getting Started
Recovery and Reuse Management
Authentication and Authorization
Application Data Management
Asset Management
Compliance
Asset Metadata
Secrets Manager
Cloud Disaster Recovery
Copy Management
Appliance Management
Telemetry Setting
Credentials Management
Storage Management
Discovery
Monitoring
File Level Restore
User Security Management
Inventory Source Management
Licenses Management
Location Management
Log Management
Virtual Machine Data Management
Protection Policies
Remote Service
Search Clusters
Server Disaster Recovery
Upgrade
Whitelist Management

Protection policies

A protection policy enables you to specify protection sources, targets, and associated strategies. It can control the complete life cycle of the protection of your assets.

A protection policy consists of the following hierarchies (omitting many low-level attributes):

{
  "id": "cf7b8c93-547e-44f2-8601-c8a52e5b4beb",
  "name": "vm-protection",
  "stages": [
    {
      "id": "767103d4-a257-142f-df09-93ccbf7eabe2",
      "type": "PROTECTION",
      "operations": [
        {
          "type": "AUTO_FULL",
          "schedule": {
            "frequency": "HOURLY"
          }
        }
      ]
    },
    {
      "id": "f8769244-3efb-457f-9bc7-40c1b8e6353d",
      "type": "REPLICATION",
      "operations": [
        {
          "type": "AUTO_FULL",
          "schedule": {
            "frequency": "DAILY"
          }
        }
      ]
    }
  ]
}

Protection policy object

This object specifies the attributes at the policy level, including the policy metadata, protected asset types, and so on.

{
  "id": "cf7b8c93-547e-44f2-8601-c8a52e5b4beb",
  "name": "single-vm-protection",
  "description": "",
  "assetType": "VMWARE_VIRTUAL_MACHINE",
  "type": "ACTIVE",
  "enabled": false,
  "passive": false,
  "forceFull": false,
  "priority": 1,
  "credentials": null,
  "encrypted": false,
  "dataConsistency": "CRASH_CONSISTENT",
  "complianceInterval": null,
  "details": {
    "vm": {
      "protectionEngine": "VMDIRECT",
      "metadataIndexingEnabled": false
    }
  },
  "stages": []
}

Note 1: In this case, “assetType” is a single enum instead of an array. This designation implies that one policy can protect only one type of asset and not mixed types.

Note 2: Assets are not listed in the policy object itself. Instead, each asset has a reverse link to the policy by using the “id” (see GET assets API). This design implies that one asset can belong only to one policy while one policy can protect many assets.

Stage

Stage specifies how to protect an asset, including the protection type, associated operations, and hierarchies. A protection policy may include one or more stages. Some of the stages may depend on other stages when they need to handle the backups that previous stages create.

{
  "stages": [
    {
      "id": "767103d4-a257-142f-df09-93ccbf7eabe2",
      "type": "PROTECTION",
      "passive": false,
      "retention": {
        "interval": 1,
        "unit": "DAY",
        "storageSystemRetentionLock": false
      },
      "target": {
        "storageSystemId": "50b797f2-873a-4c35-a651-0546399bed3b",
        "dataTargetId": "ca6b6a0b-d495-41f6-9b91-1182351184cf",
        "preferredInterface": "10.62.74.70"
      },
      "attributes": {
        "protection": {}
      },
      "operations": []
    }
  ]
}

Note: “sourceStageId” builds up the dependency between stages. For example, a Stage of type “PROMOTION” may depend on the “PROTECTION” stage, which generates a backup.

Operation

Operation specifies the protection level. For example: a full, incremental, or transaction log protection, and so on. It also specifies the associated schedule.

One stage can specify multiple operations with different schedules.

{
  "operations": [
    {
      "type": "FULL",
      "schedule": {
        "frequency": "HOURLY",
        "startTime": "2019-08-28T12:00:00Z",
        "duration": "PT10H",
        "interval": 12
      }
    }
  ]
}