API Explorer
API Explorer
Introduction
What's New
Appliance Management
Application Data Management
Asset Management
Asset Metadata
Authentication and Authorization
Cloud Disaster Recovery
Compliance
Copy Management
Credentials Management
Discovery
File Level Restore
Installation
Inventory Source Management
Kubernetes Data 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

PowerProtect Data Manager (v19.8) REST API

Introduction to PowerProtect Data Manager REST API

Dell EMC PowerProtect Data Manager provides software defined data protection, deduplication, operational agility, self-service and IT governance for physical, virtual and cloud environments.

In addition to the HTML-based UI, PowerProtect Data Manager provides a REST API to enable customers to support their own business cases based on the platform.

Basic concepts

REST API endpoint

The PowerProtect Data Manager REST API endpoint:

https://<PPDM-IP/FQDN>:8443/api/<API-VERSION>/<RESOURCE>;

The current API version is v2.

Unless otherwise specified, the supported payload of the request and response is JSON format .

PowerProtect Data Manager concepts

Concept Description
Inventory Source Represents external servers that can act as either the source of protection or the target of protection. Contains necessary information about network and login credentials. Examples: vCenters, Data Domains.
Storage System Storage representatives, linked to inventory source. Contains more information about the storage system. For example: storage type, capacity, usage. Can be set as the target storage for protection.
Asset Objects to protect. Examples: Virtual Machines, File Systems, Databases.
Protection Policy Defines everything that is required for the complete protection life cycle. Can define the protection stages (Backup, Replication, Cloud Tier, Cloud DR) and the assets that you want to protect.
Activity Represents asynchronous work that PowerProtect Data Manager handles. Examples: Protection Jobs, Restore Jobs.
Alert Named as is. Anything that needs your attention.
Audit Log Records critical operations and changes being done to the system.
Compliance Defines a Service Level Agreement (SLA) when creating a protection policy. PowerProtect Data Manager checks SLAs against the protection results and generates Compliance reports.

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": [
        {
          "backupType": "AUTO_FULL",
          "schedule": {
            "frequency": "HOURLY"
          }
        }
      ]
    },
    {
      "id": "f8769244-3efb-457f-9bc7-40c1b8e6353d",
      "type": "REPLICATION",
      "operations": [
        {
          "backupType": "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": [
    {
      "backupType": "FULL",
      "schedule": {
        "frequency": "HOURLY",
        "startTime": "2019-08-28T12:00:00Z",
        "duration": "PT10H",
        "interval": 12
      }
    }
  ]
}

Best practices

Backward and forward compatibility

As additional features are added to the product, APIs may change. Observe these common practices when dealing with API changes:

  • Deprecated APIs and fields: Do not use them. Deprecated APIs and fields are removed when the infrastructure no longer supports them.
  • Handling requests and responses in JSON: Exercise flexibility and tolerance with unrecognized fields and enumerations. New fields and enumerations might be added in support of new features such as a new asset type or new protection type. If you do not use them, ignore these fields and enumerations when they are not recognized.

Contact

Contact support here: https://support.emc.com/products/40720

Note: This document might contain language that is not consistent with Dell’s current guidelines. Dell plans to update the document over subsequent future releases to revise the language accordingly.

Note: This document might contain language from third-party content that is not under Dell’s control and is not consistent with the current guidelines for Dell’s own content. When such third-party content is updated by the relevant third parties, this document will be revised accordingly.