Getting Started
Introduction to Dell EMC PowerProtect DD Management Center REST API
Dell EMC PowerProtect DD Management Center is a scalable, virtual, system-based solution for centralized management of multiple Data Domain or PowerProtect systems and virtual data protection system (DD VE instances).
Note: In this guide, “DDMC system” or “the system” refers to PowerProtect DD Management Center that is running DDMC OS 7.3 or later, as well as earlier Data Domain Management Center systems. “DD system,” or “the protection system,” refers to PowerProtect DD Series Appliances or Data Domain systems that are running DD OS 6.1, 6.2, 6.3, 7.0, 7.1, 7.2, 7.3, 7.4, or 7.5.
Basic concepts
REST API endpoint
The DDMC system REST API endpoint:
- Earlier than DDMC OS 7.2:
https://<DDMC-SYSTEM-IP/FQDN>:3009/rest/<API-VERSION>/<RESOURCE>
The API version can be v1.0, v2.0, v3.0, and so on.
- DDMC OS 7.2 or later:
https://<DDMC-SYSTEM-IP/FQDN>:3009/api/<API-VERSION>/<RESOURCE>
The current API version is v1.
The old REST API endpoint is still supported.
Template, query parameters, and object IDs
The resource URI can contain template or query parameters.
A template parameter specifies the resource on which the operation is to be performed. Template parameters should be replaced by object IDs, which are unique identifiers that are associated with DDMC objects. Object IDs are URL-encoded and are returned as part of a RESTful response. API users must use object IDs in GET details, and in PUT and DELETE URIs to refer to a specific object.
For example, the SYSTEM-ID template parameter in the following request should be replaced by the URL-encoded ID of the PowerProtect DD system for which we want to fetch a list of users.
GET https://<DDMC-SYSTEM-IP/FQDN>:3009/rest/v1.0/dd-systems/{SYSTEM-ID}/users
Note: On a DDMC system, a SYSTEM-ID of 0 is not the DDMC system itself. It is invalid.
For example, the following request returns Invalid System ID:
GET https://<DDMC-SYSTEM-IP/FQDN>:3009/rest/v1.0/dd-systems/0/users
If the intent is to get user details of a DD system, use the URL-encoded ID of the DD system:
GET https://<DDMC-SYSTEM-IP/FQDN>:3009/rest/v1.0/dd-systems/bb5bed4adc90eebb%3A4496a0e4def16e94/users
Use the system resource URI to get details of the DDMC system:
GET https://<DDMC-SYSTEM-IP/FQDN>:3009/rest/v1.0/system
The ID in the GET https://<DDMC SYSTEM IP>:3009/rest/v1.0/dd-systems/{SYSTEM-ID}/users/{ID}
request is also a template parameter and represents the URL-encoded unique ID of the user for whom to fetch detailed information.
The following list provides examples of URL-encoded IDs:
- Data Domain system ID, URL-encoded system UUID:
bb5bed4adc90eebb%3A4496a0e4def16e94
- MTree ID, URL-encoded MTree name:
%2Fdata%2Fcol1%2Fnas-archive
- Export ID, URL-encoded export path:
%2Fdata%2Fcol1%2Fengineering%2Fsantaclara
- CIFS share, URL-encoded share name:
nas-archive
Query parameters provide additional criteria to which the response data must conform. Query parameters are part of the URL query string and must contain URL-encoded values. For example, the following query fetches a list of users on a specific PowerProtect DD system starting at page one, and assuming each page has five users:
GET https://<DDMC-SYSTEM-IP/FQDN>:3009/rest/v1.0/dd-systems/bb5bed4adc90eebb%3A4496a0e4def16e94/users?page=1&size=5
If a request is sent with an incomplete URI, a list of related links may be returned so that the client can correct itself. For example, if the client sends a GET /rest/v1.0/dd-systems/bb5bed4adc90eebb%3A4496a0e4def16e94/protocols
request, it receives the following response:
{
"details": "success",
"code": 0,
"link": [
{
"rel": "parent",
"href": "/rest/v1.0/dd-systems/bb5bed4adc90eebb%3A4496a0e4def16e94"
},
{
"rel": "vdisk",
"href": "/rest/v1.0/dd-systems/bb5bed4adc90eebb%3A4496a0e4def16e94/protocols/vdisk"
},
{
"rel": "nfs",
"href": "/rest/v1.0/dd-systems/bb5bed4adc90eebb%3A4496a0e4def16e94/protocols/nfs"
},
{
"rel": "ddboost",
"href": "/rest/v1.0/dd-systems/bb5bed4adc90eebb%3A4496a0e4def16e94/protocols/ddboost"
},
{
"rel": "cifs",
"href": "/rest/v1.0/dd-systems/bb5bed4adc90eebb%3A4496a0e4def16e94/protocols/cifs"
}
]
}
Data formats
The DDMC system REST API supports XML and JSON data formats. The client can choose the data format in its request and response. In the HTTP header, use Content-Type header to specify the request format, and use Accept header to specify the expected response format.
Content-Type: application/xml or application/json
Accept: application/xml or application/json
The DDMC system, as the server, uses the following rules to determine the format of requests and responses:
- If Content-Type is set, the server expects the input data to be in the specified format. If the Accept header is specified, the server response must be in the specified data type format.
- If the Content-Type header is specified but the Accept is not, the format of the response data is the same as the request data.
- If neither the Content-Type nor the Accept headers is specified, the default format for both request and response types is assumed to be application/json.
PowerProtect Data Domain Management Center concepts
Concept | Description |
---|---|
Alert | Named as is. Anything that needs your attention. |
Audit Log | Records critical operations and changes being done to the system. |
Monitoring Systems | Enables examining a wide array of operational information about managed systems. |
Launch DD System Manager | DDMC lets you launch a DD System Manager session, for the selected Data Domain or PowerProtect system, to perform configuration or troubleshooting. |
Administering Secure Multi-Tenancy | DDMC can configure and monitor Secure Multi-Tenancy (SMT) for DD Boost backup and replication storage on multiple Data Domain systems. |
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://www.dell.com/support/home/en-us/product-support/product/idp-other/docs