API Explorer
API Explorer
Getting Started
Appliance Management
Application Data Management
Asset Management
Asset Metadata
Authentication and Authorization
Cloud Disaster Recovery
Compliance
Copy Management
Credentials Management
Discovery
File Level Restore
Inventory Source Management
Licenses Management
Location Management
Log Management
Monitoring
Protection Policies
Recovery and Reuse Management
Remote Service
Search Clusters
Secrets Manager
Server Disaster Recovery
Storage Management
Telemetry Setting
Upgrade
User Security Management
Virtual Machine Data Management
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": "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
      }
    }
  ]
}