Dell EMC VMAX 100K V9.1 Storage REST API Change Log PDF

1 of 185
1 of 185

Summary of Content for Dell EMC VMAX 100K V9.1 Storage REST API Change Log PDF

Internal Use  Confidential 

Dell EMC Unisphere for PowerMax 9.1

REST API Change Log

Internal Use  Confidential 

Copyright 2014-2019 Dell Inc. or its subsidiaries. All rights reserved Published September 2019 Dell believes the information in this publication is accurate as of its publication date. The information is subject to change without notice. THE INFORMATION IN THIS PUBLICATION IS PROVIDED AS-IS. DELL MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. USE, COPYING, AND DISTRIBUTION OF ANY DELL SOFTWARE DESCRIBED IN THIS PUBLICATION REQUIRES AN APPLICABLE SOFTWARE LICENSE. Dell technologies, Dell, EMC, Dell EMC, and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be the property of their respective owners. Published in the USA. Dell EMC Hopkinton, Massachusetts 01748-9103 1-508-435-1000 in North America 1-866-464-7381 www.DellEMC.com

Internal Use  Confidential 

TableofContents

1  Design Overview ...................................................................................................................................... 6 

1.1  Overall .............................................................................................................................................. 6 

1.2  Performance ..................................................................................................................................... 6 

1.3  SLO Provisioning .............................................................................................................................. 6 

1.4  Provisioning ...................................................................................................................................... 7 

1.5  Replication ........................................................................................................................................ 7 

1.6  Migration ........................................................................................................................................... 7 

1.7  WLP .................................................................................................................................................. 7 

1.8  System ............................................................................................................................................. 7 

1.9  Version ............................................................................................................................................. 7 

2  Design Details .......................................................................................................................................... 8 

2.1  Overall .............................................................................................................................................. 8 

2.2  Performance ..................................................................................................................................... 9 

2.2.1  registrationdetails ...................................................................................................................... 9 

2.2.2  register .................................................................................................................................... 10 

2.2.3  backup ..................................................................................................................................... 11 

2.2.4  StorageGroup .......................................................................................................................... 13 

2.2.5  Disk ......................................................................................................................................... 16 

2.2.6  DiskTechPool .......................................................................................................................... 18 

2.2.7  ExternalDisk ............................................................................................................................ 20 

2.2.8  ExternalDiskGroup .................................................................................................................. 23 

2.2.9  Host ......................................................................................................................................... 24 

2.2.10  Initiator .................................................................................................................................... 26 

2.2.11  InitiatorByPort .......................................................................................................................... 28 

2.2.12  Array ........................................................................................................................................ 30 

2.2.13  realtime ................................................................................................................................... 32 

2.3  SLO Provisioning ............................................................................................................................ 57 

2.3.1  symmetrix ................................................................................................................................ 57 

2.3.2  storagegroup ........................................................................................................................... 60 

2.3.3  volume ..................................................................................................................................... 76 

Internal Use  Confidential 

2.3.4  initiator ..................................................................................................................................... 78 

2.3.5  host ......................................................................................................................................... 79 

2.3.6  portgroup ................................................................................................................................. 80 

2.3.7  srp ........................................................................................................................................... 82 

2.4  Provisioning .................................................................................................................................... 83 

2.4.1  storagegroup ........................................................................................................................... 83 

2.5  Replication ...................................................................................................................................... 88 

2.5.1  rdf_group ................................................................................................................................. 88 

2.5.2  storagegroup ........................................................................................................................... 98 

2.5.3  capabilities ............................................................................................................................ 102 

2.6  Migration ....................................................................................................................................... 104 

2.6.1  storagegroup ......................................................................................................................... 104 

2.7  VVol .............................................................................................................................................. 106 

2.8  WLP .............................................................................................................................................. 107 

2.8.1  capabilities ............................................................................................................................ 107 

2.8.2  symmetix ............................................................................................................................... 107 

2.8.3  provisioningtemplate ............................................................................................................. 113 

2.9  System ......................................................................................................................................... 117 

2.9.1  version ................................................................................................................................... 117 

2.9.2  settings .................................................................................................................................. 117 

2.9.3  database_backup .................................................................................................................. 125 

2.9.4  health .................................................................................................................................... 128 

2.9.5  symmetrix .............................................................................................................................. 131 

2.9.6  director/port/ipinterface ......................................................................................................... 133 

2.9.7  remote_machine_table .......................................................................................................... 139 

2.9.8  disk ........................................................................................................................................ 153 

2.9.9  director/port ........................................................................................................................... 154 

2.9.10  tag ......................................................................................................................................... 159 

2.9.11  alert ....................................................................................................................................... 162 

2.9.12  symmetrix/alert ...................................................................................................................... 165 

2.10  DSA .............................................................................................................................................. 168 

Internal Use  Confidential 

2.11  Management ................................................................................................................................ 169 

2.12  Common ....................................................................................................................................... 170 

2.13  Version ......................................................................................................................................... 170 

2.13.1  version ................................................................................................................................... 170 

3  Appendix .............................................................................................................................................. 172 

3.1  Basic Authentication ..................................................................................................................... 172 

3.2  Request Types ............................................................................................................................. 172 

3.2.1  GET (OBJECT) ..................................................................................................................... 172 

3.2.2  GET (LIST) ............................................................................................................................ 173 

3.2.3  POST .................................................................................................................................... 175 

3.2.4  PUT ....................................................................................................................................... 178 

3.2.5  DELETE ................................................................................................................................ 180 

3.3  Common Objects .......................................................................................................................... 181 

3.3.1  Iterator ................................................................................................................................... 181 

3.3.2  Job ........................................................................................................................................ 183 

3.3.3  Configuration Management Type .......................................................................................... 185 

3.4  Automatic Cleanup of REST API jobs .......................................................................................... 185 

Internal Use  Confidential 

1 Design Overview

This document describes the changes in the 9.1 release of the public Unisphere for PowerMax REST (Representational State Transfer) API. This overview gives a concise description of the changes. Details for each of the changes are provided in the relevant resource sections. For common REST API behavior, see the Appendix.

1.1 Overall Invalid Urls that used to return a Response Code of 500 (Internal Server Error) will now return a

Response code of 404 (Not Found) In this document symmetrix and Symmetrix is a synonym to storage array.

1.2 Performance Add New Rest Enpoints for

o registrationdetails(GET) o register(POST) o backup(POST)

Expose VAAI and Power Path metrics Expose SCM_Balance metric for Array category Provide the ability to extract Real Time System Level Performance Data from RESTAPI Provide the ability to extract Real Time SG Level Performance Data from RESTAPI Real Time data (System level and Storage Group) in the 9.0 version of Unipshere for PowerMax

was only available in the Unisphere UI. Many customers are requesting that this data be extractable via RESTAPI.

System level data is collected at 5-second intervals. This includes Array, Directors (BE/FE/RDF/External) and Ports (BE/FE/RDF).

Storage Group level data is collected at 30-second intervals. There is currently a restriction of at most 5 SGs for a single Unisphere for PowerMax 9.0 array per Unisphere install can be registered for Real Time performance data collection.

Real Time device level performance data is not be exposed via RESTAPI.

1.3 SLO Provisioning Ability to add rdf pairing and add volumes to remote Symm/SG when adding vols to a local sg Ability to remove rdf pairing and remove volumes from remote SG when removing vols from a local

sg Add oracle instance name attribute Volume GET. Add fabric_name attribute Initiator GET. Make FBA the default for the emulation field of createStorageGroupParam on SG POST Remove Create_empty_storage_group from SG POST Add custom_cascaded_storageGroupId to SloBasedStorageGroupParamType volumeAttribute has been changed into an array volumeAttributes Remove "VPSaved" attribute from SG GET Add mobility_id_enabled attribute to Volume GET and filter option to Volume GET (List) Add initiator_name param to host LIST Modify portId field on Port Group GET Add enable_mobility_id flag to addVolumeParam Storage Group PUT Storage group PUT. addVolumeParam in expandStorageGroupParam has been modified to contain

an array of volumeAttributes

Internal Use  Confidential 

1.4 Provisioning Ability to add rdf pairing and add thin volumes to remote Symm/SG when adding thin vols to a local

sg Ability to remove rdf pairing and remove thin volumes from remote SG when removing thin vols from

a local sg Add allocated_cap_gb attribute SG GET

1.5 Replication Add witness_capable and virtual_witness_capable attributes to Symmetrix capabilities GET.Add

device_polarity attribute to SRDF Group GET. Add capacity_gb, tracks, nonSharedTracks, source_volume_name, linked_volume_name attributes

to Snapshot Generation GET. Add sl_snapshot_name attribute to Snapshot GET. Ability to create SRDF groups. Ability to delete SRDF groups. Ability to add ports to an SRDF group. Ability to remove ports from an SRDF group. Ability to change the label on an SRDF group. Ability to create SRDF pairs. Ability to delete SRDF pairs. Ability to create an SG from an SRDF group.

1.6 Migration

Add offline attribute to StorageGroup GET. Ability to create an MDM session.

1.7 WLP General purpose WLP endpoints such as WLP-related array capabilities Endpoints supporting array headroom and new workload suitability Endpoints supporting storage group service level compliance Support for creating, viewing, and otherwise managing Unisphere for PowerMax Provisioning

Templates

1.8 System Removal of system/version URL Add array and object attributes to Alert GET (Object). Add corresponding query params to Alert

GET(List) Add array and object attributes to Alert GET (Object) under system>symmetrix. Add corresponding

query params to Alert GET(List) under system>symmetrix. From v. 9.1 of Unisphere for Powermax onwards a user will be able to export a set of configured

settings to a zip file, but also import previously exported settings to any instance of Unisphere. In order to facilitate the feature new enpoints will be added:

o /91/system/settings/exportfile (POST) o /91/system/settings/importfile (POST)

1.9 Version Add new endpoint restapi/version.

Internal Use  Confidential 

2 Design Details

2.1 Overall Invalid Urls that used to return a Response Code of 500 (Internal Server Error) will now return a

Response code of 404 (Not Found) In this document symmetrix and Symmetrix is a synonym for a storage array.

Internal Use  Confidential 

2.2 Performance

2.2.1 registrationdetails

Resource Array

Request Type: GET

New Endpoint Description:

This GET queries a list of registrationDetailsInfo.You have the option of passing a local symmId or ALL which will return either a list of one registrationDetailsInfo for the passed in symmId or list of registrationDetailsInfo for all local registered symms.

Modify Endpoint Description:

Add

Not Applicable

Modify

Not Applicable

Remove

Not Applicable

URL: restapi/performance/Array/registrationdetails/{000197200498}

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm that is registered for stats collection

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

symmetrixId String No The Id of the Symmetrix to be queried

Response Parameters:

Sample JSON Request:

http://localhost:8080/univmax/restapi/performance/Array/registrationdetails/000197200498

2.2.1.1 Sample JSON Response:

{

"registrationDetailsInfo": [

{

Internal Use  Confidential 

"symmetrixId": "000197200498",

"realtime": false,

"diagnostic": false,

"collectionintervalmins": 5

}

]

}

2.2.2 register

Resource Array

Request Type: POST

New Endpoint Description:

This POST registers a symmId for diagnostic and realtime SPA performance metrics. SymmetrixId will accept a local registered symmId or ALL which will register all local symms. Diagnostic and realtime accept true or false. You can only set realtime to true if diagnostic is true

Modify Endpoint Description:

Add

Not Applicable

Modify

Not Applicable

Remove

Not Applicable

URL: http://localhost:8080/univmax/restapi/performance/Array/register

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

symmetrixId String No The Id of a local Symmetrix

Internal Use  Confidential 

diagnostic boolean No True to register for false to not

realtime boolean No True to register for false to not. If True then diagnostic also must be True.

Response Parameters:

Object ArrayRegisterResultType

Name Type Optional Description

message

String[] YES Info of the registeration

2.2.2.1 Sample JSON Request:

http://localhost:8080/univmax/restapi/performance/Array/register

{

"symmetrixId": "000197800128",

"diagnostic": true,

"realtime": true

}

2.2.2.2 Sample JSON Response:

{

"message": [

"Successfully registered 000197800128 array(s)."

]

}

2.2.3 backup

Resourc e Array

Request Type: POST

New Endpoint Descripti

on: This POST backups the SPA performance database

Modify Endpoint Add

Internal Use  Confidential 

Descripti on:

Not Applicable

Modify

Not Applicable

Remove

Not Applicable

URL: http://localhost:8080/univmax/restapi/performance/Array/backup

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre- requisite

s: symmetrixId must be a local symm

Path Paramet

ers: N/A

Query Paramet

ers: N/A

Request Paramet

ers:

Object urlParam

Name Type Optio nal

Description

symmetrixId String No The Id of a local Symmetrix

filename String No The name you want included in the generated backup filename . Generated file format will be as follows 000197800128_201805151221_GMT_restapibackup_ SPABackup.dat

lastdayofdiagno stic

boole an

No True to include last 24hrs of diagnostic data in the backup

Namedrealtimet races

Boole an

No True to include any named real time traces present in database in the backup

Respons e

Paramet ers:

Object ArrayBackupResultType

Name Type Optional Description

message

String[] YES Info of the registeration

Internal Use  Confidential 

2.2.3.1 Sample JSON Request:

{

"symmetrixId": "000197800128",

"filename": "restapibackup",

"lastdayofdiagnostic": false,

"namedrealtimetraces": false

}

2.2.3.2 Sample JSON Response:

{

"message": [

"Successful backup of 000197800128 array."

]

}

2.2.4 StorageGroup

Resource StorageGroup

Request Type: POST

New Endpoint Description:

Not Applicable

Modify Endpoint Description:

Add

This POST returns the newly exposed VAAI and Power Path metrics

Modify

Not Applicable

Remove

Not Applicable

URL: univmax/restapi/performance/StorageGroup/metrics

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm and Storage Group ID must exist

Path Parameters: N/A

Internal Use  Confidential 

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

symmetrixId String No The Id of a local Symmetrix

startDate long No Starting Date in milliseconds since epoch

endDate long No End Date in milliseconds since epoch

dataFormat String No Average or Maximum

storageGroupId String No Storage Group ID

metrics List< StorageGroupMetric>

No List of Metrics as defined in RESTAPI documentation

Response Parameters:

2.2.4.1 Sample JSON Request:

"symmetrixId": "000197200498",

"endDate": 1526385600000,

"dataFormat": "Average",

"storageGroupId": "sghn_eagnmnmep120b_default",

"metrics": [

"VAAIUnmapCommandCount",

"VAAIWriteSameCommandCount",

"VAAIXCopyCommandCount",

"VAAITotalCommandCount",

"VAAIWriteSameKB",

"VAAIUnmapKB",

"VAAIXCopyKB",

"VAAIWriteSameMB",

"VAAIUnmapMB",

"VAAIXCopyMB",

"VAAITotalTime",

Internal Use  Confidential 

"TotalResponseTime",

"PPReadRespTime",

"PPWriteRespTime"

],

"startDate": 1526385300000

}

2.2.4.2 Sample JSON Response:

"resultList": {

"result": [

{

"VAAIUnmapCommandCount": 0,

"VAAIWriteSameCommandCount": 0,

"VAAIXCopyCommandCount": 0,

"VAAITotalCommandCount": 0,

"VAAIWriteSameKB": 0,

"VAAIUnmapKB": 0,

"VAAIXCopyKB": 0,

"VAAIWriteSameMB": 0,

"VAAIUnmapMB": 0,

"VAAIXCopyMB": 0,

"VAAITotalTime": 0,

"TotalResponseTime": 0,

"PPReadRespTime": 0,

"PPWriteRespTime": 0,

"timestamp": 1526385300000

}

],

"from": 1,

"to": 2

Internal Use  Confidential 

},

"id": "ce86ea1b-4311-402b-9d19-091f502ffb04_0",

"count": 2,

"expirationTime": 1532447498362,

"maxPageSize": 1000

}

2.2.5 Disk

Resource Disk

Request Type: POST

New Endpoint Description:

Modify Endpoint Description:

Add

This POST returns the newly exposed VAAI metric

Modify

Not Applicable

Remove

Not Applicable

URL: univmax/restapi/performance/Disk/metrics

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm and Disk ID must exist

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

symmetrixId String No The Id of a local Symmetrix

startDate long No Starting Date in milliseconds since epoch

endDate long No End Date in milliseconds since epoch

Internal Use  Confidential 

dataFormat String No Average or Maximum

diskid String No Disk ID

metrics List< DiskMetric>

No List of Metrics as defined in RESTAPI documentation

Response Parameters:

2.2.5.1 Sample JSON Request:

"symmetrixId": "000197200498",

"endDate": 1526385600000,

"dataFormat": "Average",

"diskId": "0",

"metrics": [

"UnmapCommandCount"

],

"startDate": 1526385300000

}

2.2.5.2 Sample JSON Response:

"resultList": {

"result": [

{

"UnmapCommandCount": 0,

"timestamp": 1526385300000

},

{

"UnmapCommandCount": 0,

"timestamp": 1526385600000

}

],

Internal Use  Confidential 

"from": 1,

"to": 2

},

"id": "b781395f-5af2-4dc5-b699-b7c57778380c_0",

"count": 2,

"expirationTime": 1532449171388,

"maxPageSize": 1000

}

2.2.6 DiskTechPool

Resource DiskTechPool

Request Type: POST

New Endpoint Description:

Not Applicable

Modify Endpoint Description:

Add

This POST returns the newly exposed VAAI metric

Modify

Not Applicable

Remove

Not Applicable

URL: univmax/restapi/performance/DiskTechPool/metrics

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm and Disk Technology must exist

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

symmetrixId String No The Id of a local Symmetrix

Internal Use  Confidential 

startDate long No Starting Date in milliseconds since epoch

endDate long No End Date in milliseconds since epoch

dataFormat String No Average or Maximum

diskTechnology String No Existing Disk Technology

metrics List< DiskTechPoolMetric>

No List of Metrics as defined in RESTAPI documentation

Response Parameters:

2.2.6.1 Sample JSON Request:

{

"symmetrixId": "000197200498",

"diskTechnology": "EFD",

"endDate": 1526385600000,

"dataFormat": "Average",

"metrics": [

"UnmapCommandCount"

],

"startDate": 1526385300000

}

2.2.6.2 Sample JSON Response:

{

"resultList": {

"result": [

{

"UnmapCommandCount": 0,

"timestamp": 1526385300000

},

{

"UnmapCommandCount": 0,

"timestamp": 1526385600000

Internal Use  Confidential 

}

],

"from": 1,

"to": 2

},

"id": "7572257a-e033-4395-8774-b6556878b2c3_0",

"count": 2,

"expirationTime": 1532449925645,

"maxPageSize": 1000

}

2.2.7 ExternalDisk

Resource ExternalDisk

Request Type: POST

New Endpoint Description:

Not Applicable

Modify Endpoint Description:

Add

This POST returns the newly exposed VAAI metric

Modify

Not Applicable

Remove

Not Applicable

URL: univmax/restapi/performance/ExternalDisk/metrics

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm and diskid must exist

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Object urlParam

Internal Use  Confidential 

Name Type Optional Description

symmetrixId String No The Id of a local Symmetrix

startDate long No Starting Date in milliseconds since epoch

endDate long No End Date in milliseconds since epoch

dataFormat String No Average or Maximum

diskid String No Existing diskid

metrics List< ExternalDiskMetric>

No List of Metrics as defined in RESTAPI documentation

Response Parameters:

2.2.7.1 Sample JSON Request:

{

"symmetrixId": "000196700153",

"endDate": 1516362000000,

"dataFormat": "Average",

"diskId": "8000",

"metrics": [

"UnmapCommandCount"

],

"startDate": 1516275900000

}

2.2.7.2 Sample JSON Response:

{

"resultList": {

"result": [

{

"UnmapCommandCount": 0,

"timestamp": 1516280700000

Internal Use  Confidential 

],

"from": 1,

"to": 1

},

"id": "ccd218b7-91ad-402c-9437-3c707ddf74b4_0",

"count": 1,

"expirationTime": 1532603117947,

"maxPageSize": 1000

}

Internal Use  Confidential 

2.2.8 ExternalDiskGroup

Resource ExternalDiskGroup

Request Type: POST

New Endpoint Description:

Not Applicable

Modify Endpoint Description:

Add

This POST returns the newly exposed VAAI metric

Modify

Not Applicable

Remove

Not Applicable

URL: univmax/restapi/performance/ExternalDiskGroup/metrics

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm and diskgroupid must exist

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

symmetrixId String No The Id of a local Symmetrix

startDate long No Starting Date in milliseconds since epoch

endDate long No End Date in milliseconds since epoch

dataFormat String No Average or Maximum

diskgroupid String No Existing diskgroupid

metrics List< ExternalDiskGroupMetric>

No List of Metrics as defined in RESTAPI documentation

Response Parameters:

Internal Use  Confidential 

2.2.8.1 Sample JSON Request:

{

"symmetrixId": "000196700153",

"endDate": 1516283100000,

"dataFormat": "Average",

"diskGroupId": "512",

"metrics": [

"UnmapCommandCount"

],

"startDate": 1516275900000

}

2.2.8.2 Sample JSON Response:

{

"resultList": {

"result": [

{

"UnmapCommandCount": 0,

"timestamp": 1516275900000

}

],

"from": 1,

"to": 1

},

"id": "982eabe3-fe4e-4930-b312-8e509beb48d5_0",

"count": 1,

"expirationTime": 1532604124118,

"maxPageSize

2.2.9 Host

Resource Host

Internal Use  Confidential 

Request Type: POST

New Endpoint Description:

Modify Endpoint Description:

Add

This POST returns the newly exposed VAAI metrics

Modify

Remove

URL: univmax/restapi/performance/Host/metrics

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm and hostid must exist

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

symmetrixId String No The Id of a local Symmetrix

startDate long No Starting Date in milliseconds since epoch

endDate long No End Date in milliseconds since epoch

dataFormat String No Average or Maximum

hostid String No Existing hostid

metrics List< HostMetric>

No List of Metrics as defined in RESTAPI documentation

Response Parameters:

2.2.9.1 Sample JSON Request:

{

"symmetrixId": "000197200107",

"endDate": 1501748700000,

"dataFormat": "Average",

"hostId": "l4se2142_036d",

Internal Use  Confidential 

"metrics": [

"BandwidthLimitExceededSecs",

"BandwidthLimit"

],

"startDate": 1501689000000

}

2.2.9.2 Sample JSON Response:

"resultList": {

"result": [

{

"BandwidthLimitExceededSecs": 0,

"BandwidthLimit": 0,

"timestamp": 1501689000000

}

],

"from": 1,

"to": 1

},

"id": "a3a6ab8c-241b-41ab-881f-4dcb9417be2f_0",

"count": 1,

"expirationTime": 1532515468236,

"maxPageSize": 1000

}

2.2.10 Initiator

Resource Initiator

Request Type: POST

New Endpoint Description:

Internal Use  Confidential 

Modify Endpoint Description:

Add

This POST returns the newly exposed VAAI metric

Modify

Remove

URL: univmax/restapi/performance/Initiator/metrics

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm and initiatorid must exist

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

symmetrixId String No The Id of a local Symmetrix

startDate long No Starting Date in milliseconds since epoch

endDate long No End Date in milliseconds since epoch

dataFormat String No Average or Maximum

initiatorid String No Existing initiatorid

metrics List< InitiatorMetric>

No List of Metrics as defined in RESTAPI documentation

Response Parameters:

2.2.10.1 Sample JSON Request:

{

"symmetrixId": "000197200107",

"endDate": 1501748700000,

"dataFormat": "Average",

"initiatorId": "10000090fa1ce1d4",

"metrics": [

Internal Use  Confidential 

"BandwidthLimitExceededSecs"

],

"startDate": 1501689000000

}

2.2.10.2 Sample JSON Response:

{

"resultList": {

"result": [

{

"BandwidthLimitExceededSecs": 0,

"timestamp": 1501689000000

}

],

"from": 1,

"to": 1

},

"id": "549e63e7-fbff-40be-a7a3-c4c3179a394d_0",

"count": 1,

"expirationTime": 1532516290226,

"maxPageSize": 1000

}

2.2.11 InitiatorByPort

Resource InitiatorByPort

Request Type: POST

New Endpoint Description:

Modify Endpoint Description:

Add

This POST returns the newly exposed VAAI metric

Internal Use  Confidential 

Modify

Remove

URL: univmax/restapi/performance/InitiatorByPort/metrics

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm and initiatorbyportid must exist

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

symmetrixId String No The Id of a local Symmetrix

startDate long No Starting Date in milliseconds since epoch

endDate long No End Date in milliseconds since epoch

dataFormat String No Average or Maximum

initiatorbyportid String No Existing initiatorid

metrics List< InitiatorByPortMetric>

No List of Metrics as defined in RESTAPI documentation

Response Parameters:

2.2.11.1 Sample JSON Request:

{

"symmetrixId": "000197200107",

"endDate": 1501748700000,

"dataFormat": "Average",

"metrics": [

"BandwidthLimitExceededSecs"

],

"startDate": 1501689000000,

Internal Use  Confidential 

"initiatorByPortId": "FA-9E:4:10000090fa0721d4"

}

2.2.11.2 Sample JSON Response:

{

"resultList": {

"result": [

{

"BandwidthLimitExceededSecs": 0,

"timestamp": 1501689000000

}

],

"from": 1,

"to": 1

},

"id": "4244444e-aead-4c18-84c9-7615a78ee624_0",

"count": 1,

"expirationTime": 1532516713586,

"maxPageSize": 1000

}

2.2.12 Array

Resource Array

Request Type: POST

New Endpoint Description:

Modify Endpoint Description:

Add

This POST returns the newly exposed SCM_Balance metric

Modify

Internal Use  Confidential 

Remove

URL: univmax/restapi/performance/Array/metrics

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: symmetrixId must be a local symm

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

symmetrixId String No The Id of a local Symmetrix

startDate long No Starting Date in milliseconds since epoch

endDate long No End Date in milliseconds since epoch

dataFormat String No Average or Maximum

metrics List< ArrayMetric> No List of Metrics as defined in RESTAPI documentation

Response Parameters:

2.2.12.1 Sample JSON Request

{

"symmetrixId": "000197200498",

"endDate": 1526385600000,

"dataFormat": "Average",

"metrics": [

"SCM_Balance"

],

"startDate": 1526371800000

}

Internal Use  Confidential 

2.2.12.2 Sample JSON Response:

{

"resultList": {

"result": [

{

"SCM_Balance": 0,

"timestamp": 1526371800000

},

{

"SCM_Balance": 0,

"timestamp": 1526372100000

},

2.2.13 realtime

2.2.13.1 help/times

Resource RealTime

Request Type: GET

New Endpoint Description:

This Get returns the start(1st) and end(last) dates from Real Time database

Modify Endpoint Description:

Add

Modify

Remove

URL: univmax/restapi/performance/realtime/help/times

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: N/A

Path Parameters: N/A

Internal Use  Confidential 

Query Parameters:

N/A

Request Parameters:

Response Parameters:

2.2.13.1.1 Sample JSON Request

N/A

2.2.13.1.2 Sample JSON Response:

{

"arrayInfo": [

{

"symmetrixId": "000197800128",

"firstAvailableDate": 1551197848503,

"lastAvailableDate": 1551199710435

},

{

"symmetrixId": "000294901279",

"firstAvailableDate": 1551197848544,

"lastAvailableDate": 1551199710521

}

]

}

2.2.13.2 help/categories

Resource RealTime

Request Type: GET

New Endpoint Description:

This Get returns the list of Real Time Categories\Endpoints

Modify Endpoint Description:

Add

Modify

Internal Use  Confidential 

Remove

URL: univmax/restapi/performance/realtime/help/categories

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: N/A

Path Parameters: N/A

Query Parameters:

N/A

Request Parameters:

Response Parameters:

2.2.13.2.1 Sample JSON Request

N/A

2.2.13.2.2 Sample JSON Response:

{

"categoryName": [

"Array",

"BEDirector",

"BEPort",

"ExternalDirector",

"FEDirector",

"FEPort",

"RDFDirector",

"RDFPort",

"StorageGroup"

]

}

Internal Use  Confidential 

2.2.13.2.3 metrics

Resource RealTime

Request Type: GET

New Endpoint Description:

This Get returns the list of Real Time Metrics for a Specific Categories\Endpoints

Modify Endpoint Description:

Add

Modify

Remove

URL: univmax/restapi/performance/realtime/help/{category}/metrics example: univmax/restapi/performance/realtime/help/FEPort/metrics

User Roles: Admin/Storage Admin/Security Admin/Monitor/Auditor/Performance Monitor

Pre-requisites: N/A

Path Parameters: A Category name from List returned by previous call univmax/restapi/performance/realtime/help/categories

Query Parameters:

N/A

Request Parameters:

Response Parameters:

2.2.13.2.3.1 Sample JSON Request

N/A

2.2.13.2.3.2 Sample JSON Response for univmax/restapi/performance/realtime/help/FEPort/metrics :

{

"metricName": [

"IOs",

"MBs",

"MBRead",

"MBWritten",

Internal Use  Confidential 

"PercentBusy",

"Reads",

"Writes"

]

}

Internal Use  Confidential 

2.2.13.3 keys

Resource RealTime

Request Type: POST

New Endpoint Description:

This Post returns the list of Real Time Keys for a Specific Categories\Endpoints

Modify Endpoint Description:

Add

fabric_name

Modify

Remove

URL: http://localhost:8080/univmax/restapi/performance/realtime/keys

User Roles: Admin/Storage Admin/Monitor/Performance Monitor

Pre-requisites: N/A

Path Parameters: A Category name from List returned by previous call

univmax/restapi/performance/realtime/help/categories

Query Parameters:

N/A

Request Parameters:

Object urlParam

Name Type Optional Description

category string N Real Time Category/endpoint name

symmetrixId string Y SymmetrixId of a local symm(not required when category is array)

Response Parameters:

2.2.13.3.1 Sample JSON Request 1 { "category": "Array" }

2.2.13.3.2 Sample JSON Response 1:

{

Internal Use  Confidential 

"keys": [

"000197800128",

"000294901279"

]

}

2.2.13.3.3 Sample JSON Request 2

{

"category": "FEDirector",

"symmetrixId": "000197800128"

}

2.2.13.3.4 Sample JSON Response 2:

{

"keys": [

"FA-1D",

"FA-2D",

"FA-3D",

"FA-4D",

"SE-3E",

"SE-4E"

]

}

2.2.13.3.5 Sample JSON Request 3

{

"category": "FEPort",

"symmetrixId": "000197800128"

}

2.2.13.3.6 Sample JSON Response 3:

{

Internal Use  Confidential 

"keys": [

"FA-1D:4",

"FA-1D:5",

"FA-2D:4",

"FA-2D:5",

"FA-3D:28",

"FA-3D:29",

"FA-3D:30",

"FA-4D:28",

"FA-4D:29",

"FA-4D:30",

"SE-3E:4",

"SE-3E:5",

"SE-3E:6",

"SE-3E:7",

"SE-4E:4",

"SE-4E:5",

"SE-4E:6",

"SE-4E:7"

]

}

2.2.13.3.1 Sample JSON Request 4

Please note that StorageGroup is a special case. We allow the user only register for Real Time metrics for 5 storage groups. If you have not registered any SGs for real time metrics, you will we receive an empty list for keys .

{

"category": "StorageGroup",

"symmetrixId": "000197800128"

}

2.2.13.3.2 Sample JSON Response 4:

{

Internal Use  Confidential 

"keys": [

"EMBEDDED_NAS_DM_SG"

]

}

Internal Use  Confidential 

2.2.13.4 metrics

Resource RealTime

Request Type: POST

New Endpoint Description:

This Post returns the list of Real Time Metrics for a Specific Category\Endpoint

Modify Endpoint Description:

Add

Modify

Remove

URL: univmax/restapi/performance/realtime/metrics

User Roles: Admin/Storage Admin/Monitor/Performance Monitor

Pre-requisites: Registered for Real Time metrics. Please note you must registered for Storage Groups real time metrics separately and are only allowed register for a max of 5 SGs.

Path Parameters: A Category name from List returned by previous call univmax/restapi/performance/realtime/help/categories

Query Parameters: N/A

Request Parameters:

Object urlParam

Name Type Option al

Description

category string N Real Time Category/endpoint name

symmetrixI d

string N SymmetrixId of a local symm

startDate long N Start Time in milliseconds , validate that there will never be more than an hour between start and end date

endDate long N End Date in milliseconds, validate that there will never be more than an hour between start and end date

metrics List

N This List can contain 1 or more metric names return by call univmax/restapi/performance/realtime/help/{category}/ metrics .

If the user would like all metrics for a Real Time category they can simply pass All to the metrics list

Response Parameters:

Internal Use  Confidential 

Object IIterator

Name Type Optional Description

2.2.13.4.1 Sample JSON Request for Array 1

{

"symmetrixId": "000197800128",

"endDate": 1550148055000,

"category": "ARRAY",

"metrics": [

"BEIOs",

"BEReadReqs",

"BEWriteReqs",

"DeviceWPEvents",

"FEReadReqs",

"FEWriteReqs",

"HostMBs",

"FEHitReqs",

"HostIOs",

"FEReadHitReqs",

"FEReadMissReqs",

"FEReqs",

"ReadResponseTime",

"WriteResponseTime",

"SystemWPEvents",

"BEReqs",

"PercentCacheWP",

"WPCount",

"SystemMaxWPLimit",

"FEWriteHitReqs",

"FEWriteMissReqs"

],

"startDate": 1550146255000

Internal Use  Confidential 

}

2.2.13.4.2 Sample JSON Response 1:(NB:~Partial Resultset in Response to save space)

{

"resultList": {

"result": [

{

"BEIOs": 117.78432,

"BEReadReqs": 0,

"BEWriteReqs": 42.2289,

"FEReadReqs": 15.610865,

"FEWriteReqs": 26.37143,

"HostMBs": 3.3647778,

"FEHitReqs": 41.86801,

"FEReadHitReqs": 15.610865,

"FEReadMissReqs": 0,

"FEReqs": 41.982296,

"WriteResponseTime": 0.3987842,

"BEReqs": 42.2289,

"PercentCacheWP": 0.07100946,

"WPCount": 646,

"SystemMaxWPLimit": 909738,

"FEWriteHitReqs": 26.257143,

"FEWriteMissReqs": 0.114285715,

"SystemWPEvents": 0,

"HostIOs": 184.94809,

"ReadResponseTime": 0.1207381,

"DeviceWPEvents": 0,

"timestamp": 1550146201373

},

{

Internal Use  Confidential 

"BEIOs": 154.57843,

"BEReadReqs": 0.11764706,

"BEWriteReqs": 62.934784,

"FEReadReqs": 10.382294,

"FEWriteReqs": 7.257143,

"HostMBs": 3.394673,

"FEHitReqs": 17.239437,

"FEReadHitReqs": 10.382294,

"FEReadMissReqs": 0,

"FEReqs": 17.639437,

"WriteResponseTime": 0.39710933,

"BEReqs": 63.052433,

"PercentCacheWP": 0.07056977,

"WPCount": 642,

"SystemMaxWPLimit": 909738,

"FEWriteHitReqs": 6.857143,

"FEWriteMissReqs": 0.4,

"SystemWPEvents": 0,

"HostIOs": 213.26239,

"ReadResponseTime": 0.116833925,

"DeviceWPEvents": 0,

"timestamp": 1550146206373

}

],

"from": 1,

"to": 360

},

"id": "a7f06184-996e-4502-8c8d-3887bcee6322_0",

"count": 360,

"expirationTime": 1550148106311,

"maxPageSize": 1000

Internal Use  Confidential 

}

2.2.13.4.3 Sample JSON Request 2 for Array same as previous call but with All in metrics list

{

"symmetrixId": "000197800128",

"endDate": 1550148055000,

"category": "ARRAY",

"metrics": [

"All"

],

"startDate": 1550146255000

}

2.2.13.4.4 Sample JSON Response 2:(NB:~Partial Resultset in Response to save space)

{

"resultList": {

"result": [

{

"BEIOs": 117.78432,

"BEReadReqs": 0,

"BEWriteReqs": 42.2289,

"FEReadReqs": 15.610865,

"FEWriteReqs": 26.37143,

"HostMBs": 3.3647778,

"FEHitReqs": 41.86801,

"FEReadHitReqs": 15.610865,

"FEReadMissReqs": 0,

"FEReqs": 41.982296,

"WriteResponseTime": 0.3987842,

"BEReqs": 42.2289,

Internal Use  Confidential 

"PercentCacheWP": 0.07100946,

"WPCount": 646,

"SystemMaxWPLimit": 909738,

"FEWriteHitReqs": 26.257143,

"FEWriteMissReqs": 0.114285715,

"SystemWPEvents": 0,

"HostIOs": 184.94809,

"ReadResponseTime": 0.1207381,

"DeviceWPEvents": 0,

"timestamp": 1550146201373

},

{

"BEIOs": 154.57843,

"BEReadReqs": 0.11764706,

"BEWriteReqs": 62.934784,

"FEReadReqs": 10.382294,

"FEWriteReqs": 7.257143,

"HostMBs": 3.394673,

"FEHitReqs": 17.239437,

"FEReadHitReqs": 10.382294,

"FEReadMissReqs": 0,

"FEReqs": 17.639437,

"WriteResponseTime": 0.39710933,

"BEReqs": 63.052433,

"PercentCacheWP": 0.07056977,

"WPCount": 642,

"SystemMaxWPLimit": 909738,

"FEWriteHitReqs": 6.857143,

"FEWriteMissReqs": 0.4,

"SystemWPEvents": 0,

"HostIOs": 213.26239,

Internal Use  Confidential 

"ReadResponseTime": 0.116833925,

"DeviceWPEvents": 0,

"timestamp": 1550146206373

}

],

"from": 1,

"to": 360

},

"id": "a7f06184-996e-4502-8c8d-3887bcee6322_0",

"count": 360,

"expirationTime": 1550148106311,

"maxPageSize": 1000

}

2.2.13.4.5 Sample JSON Request for FEDirector 3

{

"symmetrixId": "000197800128",

"instanceId":"FA-1D",

"endDate": 1550148055000,

"category": "FEDirector",

"metrics": [

"AvgReadRT16To32",

"AvgReadRT1To2",

"AvgReadRT2To4",

"AvgReadRT32To64",

"AvgReadRT4To8",

"AvgReadRT8To16",

"AvgReadRTOver64",

"AvgWriteRT0To1",

"AvgWriteRT16To32",

"AvgWriteRT1To2",

"AvgWriteRT2To4",

Internal Use  Confidential 

"AvgWriteRT32To64",

"AvgWriteRT4To8",

"AvgWriteRT8To16",

"AvgWriteRTOver64",

"DeviceWPEvents",

"HostMBs",

"HitReqs",

"HostIOs",

"AvgOptimizedReadMissSize",

"OptimizedMBReadMisses",

"OptimizedReadMisses",

"PercentBusy",

"ReadReqs",

"ReadHitReqs",

"ReadMissReqs",

"ReadRTCountRange0To1",

"ReadRTCountRange16To32",

"ReadRTCountRange1To2",

"ReadRTCountRange2To4",

"ReadRTCountRange32To64",

"ReadRTCountRange4To8",

"ReadRTCountRange8To16",

"ReadRTCountRangeover64",

"Reqs",

"ReadResponseTime",

"WriteResponseTime",

"SystemWPEvents",

"TotalReadCount",

"TotalWriteCount",

"WriteReqs",

"WriteHitReqs",

Internal Use  Confidential 

"WriteMissReqs",

"WriteRTCountRange0To1",

"WriteRTCountRange16To32",

"WriteRTCountRange1To2",

"WriteRTCountRange2To4",

"WriteRTCountRange32To64",

"WriteRTCountRange4To8",

"WriteRTCountRange8To16",

"WriteRTCountRangeover64"

],

"startDate": 1550146255000

}

2.2.13.4.6 Sample JSON Response 3:(NB:~Partial Resultset in Response to save space)

{

"resultList": {

"result": [

{

"HostMBs": 0.06571301,

"WriteResponseTime": 0.33212766,

"AvgReadRT16To32": 0,

"AvgReadRT1To2": 0,

"AvgReadRT2To4": 0,

"AvgReadRT32To64": 0,

"AvgReadRT4To8": 0,

"AvgReadRT8To16": 0,

"AvgReadRTOver64": 0,

"AvgWriteRT0To1": 0.33212766,

"AvgWriteRT16To32": 0,

"AvgWriteRT1To2": 0,

"AvgWriteRT2To4": 0,

Internal Use  Confidential 

"AvgWriteRT32To64": 0,

"AvgWriteRT4To8": 0,

"AvgWriteRT8To16": 0,

"AvgWriteRTOver64": 0,

"HitReqs": 0,

"AvgOptimizedReadMissSize": 0,

"OptimizedMBReadMisses": 0,

"OptimizedReadMisses": 0,

"PercentBusy": 0.057694785,

"ReadReqs": 0,

"ReadHitReqs": 0,

"ReadMissReqs": 0,

"ReadRTCountRange0To1": 9.75,

"ReadRTCountRange16To32": 0,

"ReadRTCountRange1To2": 0,

"ReadRTCountRange2To4": 0,

"ReadRTCountRange32To64": 0,

"ReadRTCountRange4To8": 0,

"ReadRTCountRange8To16": 0,

"ReadRTCountRangeover64": 0,

"SystemWPEvents": 0,

"TotalReadCount": 9.75,

"TotalWriteCount": 3.9166667,

"WriteHitReqs": 0,

"WriteMissReqs": 0,

"WriteRTCountRange0To1": 3.9166667,

"WriteRTCountRange16To32": 0,

"WriteRTCountRange1To2": 0,

"WriteRTCountRange2To4": 0,

"WriteRTCountRange32To64": 0,

"WriteRTCountRange4To8": 0,

Internal Use  Confidential 

"WriteRTCountRange8To16": 0,

"WriteRTCountRangeover64": 0,

"WriteReqs": 0,

"HostIOs": 0,

"ReadResponseTime": 0.12397436,

"DeviceWPEvents": 0,

"Reqs": 0,

"timestamp": 1550147992217

},

{

"HostMBs": 0.06571301,

"WriteResponseTime": 0.33212766,

"AvgReadRT16To32": 0,

"AvgReadRT1To2": 0,

"AvgReadRT2To4": 0,

"AvgReadRT32To64": 0,

"AvgReadRT4To8": 0,

"AvgReadRT8To16": 0,

"AvgReadRTOver64": 0,

"AvgWriteRT0To1": 0.33212766,

"AvgWriteRT16To32": 0,

"AvgWriteRT1To2": 0,

"AvgWriteRT2To4": 0,

"AvgWriteRT32To64": 0,

"AvgWriteRT4To8": 0,

"AvgWriteRT8To16": 0,

"AvgWriteRTOver64": 0,

"HitReqs": 13.514286,

"AvgOptimizedReadMissSize": 0,

"OptimizedMBReadMisses": 0,

"OptimizedReadMisses": 0,

Internal Use  Confidential 

"PercentBusy": 0.057694785,

"ReadReqs": 8.171429,

"ReadHitReqs": 8.171429,

"ReadMissReqs": 0,

"ReadRTCountRange0To1": 9.75,

"ReadRTCountRange16To32": 0,

"ReadRTCountRange1To2": 0,

"ReadRTCountRange2To4": 0,

"ReadRTCountRange32To64": 0,

"ReadRTCountRange4To8": 0,

"ReadRTCountRange8To16": 0,

"ReadRTCountRangeover64": 0,

"SystemWPEvents": 0,

"TotalReadCount": 9.75,

"TotalWriteCount": 3.9166667,

"WriteHitReqs": 5.3428574,

"WriteMissReqs": 0.17142858,

"WriteRTCountRange0To1": 3.9166667,

"WriteRTCountRange16To32": 0,

"WriteRTCountRange1To2": 0,

"WriteRTCountRange2To4": 0,

"WriteRTCountRange32To64": 0,

"WriteRTCountRange4To8": 0,

"WriteRTCountRange8To16": 0,

"WriteRTCountRangeover64": 0,

"WriteReqs": 5.5142856,

"HostIOs": 83.85714,

"ReadResponseTime": 0.12397436,

"DeviceWPEvents": 0,

"Reqs": 13.685715,

"timestamp": 1550147997217

Internal Use  Confidential 

}

],

"from": 1,

"to": 360

},

"id": "a7f06184-996e-4502-8c8d-3887bcee6322_0",

"count": 360,

"expirationTime": 1550148106311,

"maxPageSize": 1000

}

2.2.13.4.7 Sample JSON Request for FEPort 4

{

"symmetrixId": "000197800128",

"endDate": 1550148055000,

"category": "FEPort",

"instanceId": "FA-1D:4",

"metrics": [

"All"

],

"startDate": 1550146255000

}

2.2.13.4.8 Sample JSON Response for FEPort 4:(NB:~Partial Resultset in Response to save space)

{

"resultList": {

"result": [

{

"PercentBusy": 0.0006556511,

"IOs": 1.0714285,

"MBs": 0.0053710938,

Internal Use  Confidential 

"MBRead": 0,

"MBWritten": 0.0053710938,

"Reads": 0,

"Writes": 1.0714285,

"timestamp": 1550146201500

},

{

"PercentBusy": 0.00040097666,

"IOs": 1,

"MBs": 0.003284801,

"MBRead": 0,

"MBWritten": 0.003284801,

"Reads": 0,

"Writes": 1,

"timestamp": 1550146206500

}

],

"from": 1,

"to": 360

},

"id": "a7f06184-996e-4502-8c8d-3887bcee6322_0",

"count": 360,

"expirationTime": 1550148106311,

"maxPageSize": 1000

}

2.2.13.4.9 Sample JSON Request for Storage Group 5

{

"symmetrixId": "000197800128",

"endDate": 1550149947000,

"category": "StorageGroup",

Internal Use  Confidential 

"instanceId": "EMBEDDED_NAS_DM_SG",

"metrics": [

"HostMBs",

"HostIOs",

"HostReads",

"HostReadMisses",

"ResponseTime",

"ReadResponseTime",

"WriteResponseTime",

"HostWrites",

"HostWriteMisses"

],

"startDate": 1550146255000

}

2.2.13.4.10 Sample JSON Response for Storage Group 5 :

{

"resultList": {

"result": [

{

"HostMBs": 0,

"WriteResponseTime": 0,

"HostIOs": 0,

"HostReads": 0,

"HostReadMisses": 0,

"ResponseTime": 0,

"HostWrites": 0,

"HostWriteMisses": 0,

"ReadResponseTime": 0,

"timestamp": 1550149867725

},

Internal Use  Confidential 

{

"HostMBs": 0.015477718,

"WriteResponseTime": 0.3070766,

"HostIOs": 2.6394124,

"HostReads": 0,

"HostReadMisses": 0,

"ResponseTime": 0.3070766,

"HostWrites": 2.6394124,

"HostWriteMisses": 0,

"ReadResponseTime": 0,

"timestamp": 1550149897725

}

],

"from": 1,

"to": 694

},

"id": "eb9ec4d8-9bb9-4c87-8dab-b38b31660f80_0",

"count": 694,

"expirationTime": 1550149966716,

"maxPageSize": 1000

}

Internal Use  Confidential 

2.3 SLO Provisioning

2.3.1 symmetrix

2.3.1.1 GET (List)

Resource symmetrix

Request Type: GET

New Endpoint Description:

Modify Endpoint Description:

Add

Adding the following filters (query Params):

tag

Modify

Remove

URL: /91/sloprovisioning/symmetrix/

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: No change

Query Parameters: Attribute Name Type Description

tag String Optional value that filters returned list to display Storage Group names that have a specified Tag Name example: equal to "tag=bronze" or contains "tag= bro"

Request Parameters: Not applicable

Response Parameters:

No change

2.3.1.2 PUT

Resource symmetrix

Request Type:

PUT

Internal Use  Confidential 

New Endpoint

Description:

Modify Endpoint

Description:

Add

Add the following modify actions to the Symmetrix:

Tag Management

Modify

Remove

URL: /91/sloprovisioning/symmetrix/{symmetrixId}

User Roles: Administrator/Storage Administrator

Prerequisite: Not applicable

Path Parameters:

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

Query Parameters:

Not applicable

Request Parameters:

Object editSymmetrixParam

extends:

ConfigurationManagementParamType (See the Appendix for details.)

Attribute Name Type Optional Description

editSymmetrixActionParam

EditSymmetrixActionParamType

No Select one of the Edit Options to modify the specified symmetrix

Object EditSymmetrixActionParamType

Attribute Name Type Optional Description

tagManagementParam

TagManagementParamType

Yes Add/Remove Tags from the specified Symmetrix

Internal Use  Confidential 

Object TagManagementParamType

Attribute Name Type Optional Description

addTagsParam

AddTagsParamType

Yes The Add Tag Details

removeTagsParam

RemoveTagsParamType

Yes The Remove Tag Details

Object AddTagsParamType

Attribute Name Type Optional Description

tag_name

Array

No The List of Tag Names to be added to the Symmetrix

Object RemoveTagsParamType

Attribute Name Type Optional Description

tag_name

Array

No The List of Tag Names to be removed from the Symmetrix

SimpleType TagId:String

restriction value

minLength 1

maxLength 1

pattern "[a-zA-Z0-9_\-]+"

Response Parameters: SYNCHRONOUS:

Object symmetrix

Attribute Name Type Optional Description

No Change

ASYNCHRONOUS:

Object job

Attribute Name Type Optional Description

No Change

Internal Use  Confidential 

2.3.2 storagegroup

2.3.2.1 GET (List)

Resource storagegroup

Request Type: GET

New Endpoint Description:

Modify Endpoint Description:

Add

Adding the following filters (query Params):

tag

Modify

Remove

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/storagegroup/

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: No change

Query Parameters: Attribute Name Type Description

tag String Optional value that filters returned list to display Storage Group names that have a specified Tag Name example: equal to "tag=bronze" or contains "tag= bro"

Request Parameters: Not applicable

Response Parameters:

No change

2.3.2.2 GET (Object)

Resource storagegroup

Request Type:

GET

New Endpoint

Internal Use  Confidential 

Description:

Modify Endpoint

Description:

Add

Modify

Remove

VPSaved

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters:

No change

Query Parameters:

No change

Request Parameters:

Not applicable

Response Parameters:

Object StorageGroupType

Attribute Name Type Optional Description

VPSaved string Yes The VP saved percent of a Storage Group. Being removed as already shown in "vp_saved_percent"

2.3.2.2.1 Sample JSON response

{ "VPSaved": "100.0%"

.

.

.

}

Internal Use  Confidential 

2.3.2.3 PUT

Resource storagegroup

Request Type:

PUT

New Endpoint Descripti

on:

Modify Endpoint Descripti

on:

Add

Add the following modify actions to the storage Group:

Tag Management

When adding volumes, if the SG is SRDF protected, volumes can be added to the remote Symms/SGs.

When removing volumes, if the SG is SRDF protected, volumes can be reoved to the remote Symms/SGs.

Add the following attributes:

enable_mobility_id

Modify

volumeAttribute has been changed into an array volumeAttributes in which the user can set the number of volumes to be used and the identifier for these volumes

addVolumeParam in expandStorageGroupParam has been changed to include an array of volumeAttributes

Remove

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}

User Roles:

Administrator/Storage Administrator

Prerequis ite:

Not applicable

Path Paramete

rs:

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

storageGroupId String Unique identifier of the Storage Group

Query Paramete

rs:

Not applicable

Internal Use  Confidential 

Request Paramete

rs:

Object editStorageGroupParam

extends:

ConfigurationManagementParamType (See the Appendix for details.)

Attribute Name Type Optiona l

Descriptio n

editStorageGroupActionPara m

EditStorageGroupActionParamTy pe

No Select one of the Edit Options to modify the specified Storage Group

Object EditSymmetrixActionParamType

Attribute Name Type Optional Description

tagManagementParam

TagManagementParamType

(Described earlier in sloprovisioning Symmetrix PUT)

Yes Add/Remove Tags from the specified Storage Group

Object SloBasedStorageGroupParamType

Attribute Name Type Optional Description

volumeAttributes Array Yes Specify number of vols/type and volume identifiers

Object VolumeAttributeType

Attribute Name Type Optional Description

volume_size String No The size of the volume

capacityUnit String enum:

CYL

MB

GB

TB

No Unit of capacity

Internal Use  Confidential 

num_of_vols int No The number of volumes to be created/used

volumeIdentifier VolumeIdentifierType Yes Used to set an identifier on the volume(s)

Object addVolumeParam

Attribute Name Type Optional Description

enable_mobility_id boolean Yes Enables Mobility ID on volumes being added to the Storage Group

Object RemoteSymmSGInfoParam

Attribute Name Type Optional Description

remote_symmetrix_1_id

String No The id of the remote symm

remote_symmetrix_1_sgs

Array

Yes Remote Sgs to add the volumes to

remote_symmetrix_2_id

String Yes The id of the hop 2 symm

remote_symmetrix_2_sgs

Array

Yes Hop 2 Sgs to add/remove the volumes to

force Boolean Yes If the SG is SRDF protected,and the remote symm/sgs are not specified, the force is needed to add/remove local volumes

Object AddVolumeParam

Internal Use  Confidential 

Attribute Name Type Attribute Name Type

remoteSymmSGInfo Param

RemoteSymmSGInf oParam

remoteSymmSGInfo Param

RemoteSymmSGInf oParam

Object AddSpecificVolumeParam

Attribute Name Type Attribute Name Type

remoteSymmSGInfo Param

RemoteSymmSGInf oParam

remoteSymmSGInfo Param

RemoteSymmSGInf oParam

Object RemoveVolumeParam

Attribute Name Type Attribute Name Type

remoteSymmSGInfo Param

RemoteSymmSGInf oParam

remoteSymmSGInfo Param

RemoteSymmSGInf oParam

Object ExpandStorageGroupType

Attribute Name Type Optional Description

addVolumeParam

Array Yes Changed addVolumeParam into an array of addVolumeParam

Respons e

Paramete rs:

SYNCHRONOUS:

Object storagegroup

Attribute Name Type Optional Description

No Change

ASYNCHRONOUS:

Object job

Attribute Name Type Optional Description

No Change

2.3.2.3.1 Sample JSON response

{

"editStorageGroupActionParam": {

"expandStorageGroupParam": {

"addNewStorageGroupParam": {

Internal Use  Confidential 

"srpId": "SRP_1",

"sloBasedStorageGroupParam": [

{

"sloId": "none",

"volumeAttributes":[ {

"num_of_vols": 1,

"volume_size": "1000",

"capacityUnit": "CYL",

"volumeIdentifier": {

"volumeIdentifierChoice": "identifier_name",

"identifier_name": "name"

}

},

{

"num_of_vols": 1,

"volume_size": "1100",

"capacityUnit": "CYL",

"volumeIdentifier": {

"volumeIdentifierChoice": "identifier_name",

"identifier_name": "othername"

}

}]

}

]

}

}

}

}

2.3.2.3.2 Sample JSON response

{

Internal Use  Confidential 

"editStorageGroupActionParam": {

"expandStorageGroupParam": {

"addVolumeParam": {

"volumeAttributes":[{

"num_of_vols": 1,

"volume_size": "1",

"capacityUnit": "GB",

"volumeIdentifier": {

"identifier_name": "testdddd1",

"volumeIdentifierChoice": "identifier_name"

}

} ],

enable_mobility_id": true

}

}

}

}

2.3.2.3.3 Sample JSON response

{

"editStorageGroupActionParam": {

"expandStorageGroupParam": {

"addVolumeParam":{

"volumeAttributes":[{

"num_of_vols": 1,

"volume_size": "1",

"capacityUnit": "GB",

"volumeIdentifier": {

"identifier_name": "name1",

"volumeIdentifierChoice": "identifier_name"

}

},

Internal Use  Confidential 

{

"num_of_vols": 1,

"volume_size": "66",

"capacityUnit": "GB",

"volumeIdentifier": {

"identifier_name": "name2",

"volumeIdentifierChoice": "identifier_name"

}

}],

"create_new_volumes": true,

"enable_mobility_id": true,

"emulation": "FBA",

"remoteSymmSGInfoParam": {

"remote_symmetrix_1_id": "000197800128",

"remote_symmetrix_1_sgs": [

"sgName"

]

}

}

}

}

}

2.3.2.3.4 Sample JSON request - Remove volumes and remove volumes from remote

{

"editStorageGroupActionParam": {

"removeVolumeParam": {

"volumeId": [

"05345"

],

"remoteSymmSGInfoParam": {

"remote_symmetrix_2_id": "000297000455",

"remote_symmetrix_1_id": "000297000453",

"remote_symmetrix_1_sgs": [ "Remote_SG" ],

"force": false,

Internal Use  Confidential 

"remote_symmetrix_2_sgs": [ "Hop2_SG" ]

}

}

}

}

2.3.2.3.5 Sample JSON request - Add specific volumes and add vols to remote

{

"editStorageGroupActionParam": {

"expandStorageGroupParam": {

"addSpecificVolumeParam": {

"volumeId": [

"05345"

],

"remoteSymmSGInfoParam": {

"remote_symmetrix_2_id": "000297000455",

"remote_symmetrix_1_id": "000297000453",

"remote_symmetrix_1_sgs": [ "Remote_SG"],

"remote_symmetrix_2_sgs": [ "Hop2_SG"]

}

}

}

}

}

2.3.2.3.6 Sample JSON request - Add volumes and add vols to remote

{

"editStorageGroupActionParam": {

"expandStorageGroupParam": {

"addVolumeParam": {

"num_of_vols": 1,

"volumeAttribute": {

"volume_size": "1",

"capacityUnit": "1"

},

"remoteSymmSGInfoParam": {

"remote_symmetrix_2_id": "000297000455",

"remote_symmetrix_1_id": "000297000453",

"remote_symmetrix_1_sgs": [ "Remote_SG"],

"remote_symmetrix_2_sgs": ["Hop2_SG" ]

}

}

Internal Use  Confidential 

}

}

}

2.3.2.4 POST

Resource storagegroup

Request Type:

POST

New Endpoint

Description :

Modify Endpoint

Description :

Add

The optional field custom_cascaded_storageGroupId has been added to SloBasedStorageGroupParamType. This field allows the user to give a child storage group a name of their choosing. If this field has not entered, the name will be generated as it was before.

Modify

volumeAttribute has been changed into an array volumeAttributes in which the user can set the number of volumes to be used and the identifier for these volumes

The emulation field (In createStorageGroupParam) which was previously mandatory is now optional. The default for this field is FBA

Remove

Create_empty_storage_group has been removed. If the storage group has no volumes or children an empty storage group will be created.

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/storagegroup

User Roles:

Administrator/Storage Administrator

Prerequisit e:

Not applicable

Path Parameters

:

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

Query Parameters

:

Not applicable

Internal Use  Confidential 

Request Parameters

:

Object createStorageGroupParam

extends:

ConfigurationManagementParamType (See the Appendix for details.)

Attribute Name Type Optiona l

Description

storageGroupId String No Unique identifier of the new storage group instance

create_empty_storage_grou p

boolean Yes An empty storage group is created if you set this parameter to true. This parameter overrides any other create setting.

sloBasedStorageGroupPara m

SloBasedStorageGroupParamTy pe

Yes This parameter is required to create a SLO- based storage group. Multiple occurrence s create multiple child storage groups.

emulation String Yes This is an optional parameter to set the emulation of the storage group.

Other existing attributes

Internal Use  Confidential 

Object SloBasedStorageGroupParamT ype

Attribute Name Type Option al

Descriptio n

sloId

String No The SLO that is to be associate d with the storage group

volumeAttributes

Array No Size of each volume that is to be added to the storage group

custom_cascaded_storageGro upId

String Yes Set the name of a child storage group. If no name is set a name will be generated

Num_of_vols int No The number of volumes to be added to the group

Other Existing Attributes

Object VolumeAttributeType

Attribute Name Type Optional Description

volume_size String No The size of the volume

capacityUnit String enum:

CYL

MB

GB

TB

No Unit of capacity

Internal Use  Confidential 

num_of_vols int No The number of volumes to be created/used

volumeIdentifier VolumeIdentifierType Yes Used to set an identifier on the volume(s)

Object VolumeIdentifierType

Attribute Name Type Optional Description

volumeIdentifierChoice VolumeIdentiferChoiceType No The type of volume identifier to be used

identifier_name String Yes The volume identifier name

Append_number String Yes The number to be appended

Response Parameters

:

SYNCHRONOUS:

Object storageGroup

Attribute Name Type Optional Description

No change

ASYNCHRONOUS:

Object job

Attribute Name Type Optional Description

No change

2.3.2.4.1 Sample JSON request - Create empty storage group JSON

{

"srpId": "SRP_1",

"storageGroupId": storageGroupName"

}

2.3.2.4.2 Sample JSON request - Create storage group with single volume type and identifer

{

"srpId": "SRP_1",

"storageGroupId": "storageGroupName",

"sloBasedStorageGroupParam": [

Internal Use  Confidential 

{

"sloId": "none",

"volumeAttributes":[ {

"volume_size": "1000",

"num_of_vols": 3,

"capacityUnit": "CYL",

"volumeIdentifier": {

"volumeIdentifierChoice": "identifier_name",

"identifier_name": "name"

}

}]

}

]

}

2.3.2.4.3 Sample JSON request - create storage group with multiple volume types and identifers

{

"srpId": "SRP_1",

"storageGroupId": "storageGroupName",

"sloBasedStorageGroupParam": [

{

"sloId": "none",

"volumeAttributes":[ {

"volume_size": "1000",

"num_of_vols": 3,

"capacityUnit": "CYL",

"volumeIdentifier": {

"volumeIdentifierChoice": "identifier_name",

"identifier_name": "name"

}

},

{

Internal Use  Confidential 

"volume_size": "200",

"num_of_vols": 2,

"capacityUnit": "CYL",

"volumeIdentifier": {

"volumeIdentifierChoice": "second_identifier_name",

"identifier_name": "name"

}

}

]

}

]

}

2.3.2.4.4 Sample JSON request - Create cascaded storage group with custom child storage group name JSON

{

"srpId": "SRP_1",

"storageGroupId": "StorageGroup",

"sloBasedStorageGroupParam": [

{

"sloId": "none",

"volumeAttributes":[ {

"num_of_vols": 1,

"volume_size": "1000",

"capacityUnit": "CYL"

},

{

"num_of_vols": 2,

"volume_size": "1000",

"capacityUnit": "CYL"

}]

Internal Use  Confidential 

},

{

"custom_cascaded_storageGroupId": "ChildStorageGroup",

"sloId": "none",

"volumeAttributes":[ {

"num_of_vols": 1,

"volume_size": "1000",

"capacityUnit": "CYL"

}]

}

]

}

2.3.3 volume

2.3.3.1 GET (LIST)

Resource volume

Request Type: GET

New Endpoint Description:

Modify Endpoint Description:

Add

Adding the following filter options:

type

mobility_id_enabled

Modify

Remove

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/volume

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: No change

Internal Use  Confidential 

Query Parameters: Attribute Name Type Description

type String An optional value that filters the returned list so it displays volume names that contain the specified type only, for example, equal to "type=TDEV " or contain "type=< like>rdf"

mobility_id_enabled Boolean An optional value that filters the returned list so it displays volume names that are Mobility ID enabled, for example, mobility_id_enabled=true

Request Parameters: Not applicable

Response Parameters: No Change

2.3.3.2 GET (Object)

Resource volume

Request Type:

GET

New Endpoint

Description:

Modify Endpoint

Description:

Add

oracle_instance_name

mobility_id_enabled

Modify

Remove

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/volume/{volumeId}

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters:

No change

Query Parameters:

No change

Request Parameters:

Not applicable

Response Parameters:

Object StorageGroupType

Internal Use  Confidential 

Attribute Name Type Optional Description

oracle_instance_name string Yes The oracle instance name of the volume. Applicable to PowerPath volumes

mobility_id_enabled boolean Yes Whether the volume is Mobility ID enabled or not

2.3.3.2.1 Sample JSON response

{

"oracle_instance_name": Ora3223

mobility_id_enabled: true

.

.

}

2.3.4 initiator

2.3.4.1 GET (Object)

Resource initiator

Request Type:

GET

New Endpoint

Description:

Modify Endpoint

Description:

Add

fabric_name

Modify

Remove

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/initiator/{initiatorId}

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Internal Use  Confidential 

Prerequisite :

Not applicable

Path Parameters:

No change

Query Parameters:

No change

Request Parameters:

Not applicable

Response Parameters:

Object StorageGroupType

Attribute Name Type Optional Description

fabric_name string Yes The name of the fabric that the initiator is part of. Applicable to PowerPath initiators

2.3.4.1.1 Sample JSON response

{

"fabric_name": 1

.

.

.

}

2.3.5 host

2.3.5.1 GET (List)

Resource host

Request Type:

GET

New Endpoint

Description:

Modify Endpoint

Description:

Add

Adding the following filters (query Params):

initiator_name

Modify

Internal Use  Confidential 

Remove

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/host/

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters:

No change

Query Parameters:

No change

Request Parameters:

Not applicable

Response Parameters:

Object HostFilter

Attribute Name Type Optional Description

initiator_name string Yes Optional value that filters returned list to display Hosts that have initiators with names that have been specified example: equal to "initiator_name= 10000000c953fa05" or contains " initiator_name = 0c953"A filter.

2.3.6 portgroup

2.3.6.1 GET (Object)

Resource portgroup

Request Type:

GET

New Endpoint

Description:

Modify Endpoint

Description:

Add

Modify

Internal Use  Confidential 

Modify the portId field to show the port name instead of full portId. example: 4 instead of FA-2D:4

Remove

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/portgroup /{portgroupname}

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite :

Not applicable

Path Parameters:

No change

Query Parameters:

No change

Request Parameters:

Not applicable

Response Parameters:

Object portgroup

Attribute Name Type Optional Description

portId string Yes This value is inside the symmetrixPortKey field. It now shows just the port name instead of the full port id example: 4 instead of FA- 2D:4

Internal Use  Confidential 

2.3.7 srp

2.3.7.1 GET (srp)

Resource srp

Request Type:

GET

New Endpoint

Description:

Modify Endpoint

Description:

Add

Added fba_srp_capacity, fba_srp_efficiency, ckd_srp_capacity, ckd_srp_efficiency

Modify

Moved effective_used_capacity_percent from root to srp_capacity

Moved compression_state from root to srp_efficiency

Remove

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/srp/{srpId}

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite :

Not applicable

Path Parameters:

No change

Query Parameters:

No change

Request Parameters:

Not applicable

Response Parameters:

Object srp

Attribute Name Type Optional Description

fba_srp_capacity srp_capacity Yes Only populated for mixed srp.

Same values as srp_capacity.

ckd_srp_capacity srp_capacity Yes Only populated for mixed srp.

Same values as srp_capacity.

fba_ srp_efficiency srp_efficiency Yes Only populated for mixed srp.

Same values as srp_efficiency.

Internal Use  Confidential 

ckd_ srp_efficiency srp_efficiency Yes Only populated for mixed srp.

Same values as srp_efficiency.

2.4 Provisioning

2.4.1 storagegroup

2.4.1.1 GET (Object)

Resource storagegroup

Request Type:

GET

New Endpoint

Description:

Modify Endpoint

Description:

Add

allocated_cap_gb

Modify

Remove

URL: /91/provisioning/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite :

Not applicable

Path Parameters:

No change

Query Parameters:

No change

Request Parameters:

Not applicable

Response Parameters:

Object StorageGroupType

Attribute Name Type Optional Description

Internal Use  Confidential 

allocated_cap_gb double Yes The allocated capacity of the storage group

2.4.1.1.1 Sample JSON response

{

"allocated_cap_gb": 4,

.

.

}

2.4.1.2 PUT

Resource storagegroup

Request Type:

PUT

New Endpoint Description:

Modify Endpoint

Description:

Add

Add new functionality to an existing storage group

When adding thin volumes, if the SG is SRDF protected, thin volumes can be added to the remote Symms/SGs.

When removing thin volumes, if the SG is SRDF protected, thin volumes can be removed to the remote Symms/SGs.

Modify

Remove

URL: /91/sloprovisioning/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}

User Roles: Administrator/Storage Administrator

Prerequisite: symmetrixId must be the R1 symm

Path Parameters:

No change

Internal Use  Confidential 

Query Parameters:

Not applicable

Request Parameters:

Object RemoteSymmSGInfoParam

Attribute Name Type Optional Description

remote_symmetrix_1_id

String No The id of the remote symm

remote_symmetrix_1_sgs

Array

Yes Remote Sgs to add the volumes to

remote_symmetrix_2_id

String Yes The id of the hop 2 symm

remote_symmetrix_2_sgs

Array

Yes Hop 2 Sgs to add/remove the volumes to

force Boolean Yes If the SG is SRDF protected,and the remote symm/sgs are not specified, the force is needed to add/remove local volumes

Response Parameters: SYNCHRONOUS:

Object storagegroup

Attribute Name Type Optional Description

No change

ASYNCHRONOUS:

Object job

Attribute Name Type Optional Description

No change

2.4.1.2.1 Sample Remove Volumes and remove volumes from remote JSON Request

{

"editStorageGroupActionParam": {

"removeVolumeParam": {

"volumeId": [

"05345"

Internal Use  Confidential 

],

"remoteSymmSGInfoParam": {

"remote_symmetrix_2_id": "000297000455",

"remote_symmetrix_1_id": "000297000453",

"remote_symmetrix_1_sgs": [ "Remote_SG" ],

"force": false,

"remote_symmetrix_2_sgs": [ "Hop2_SG" ]

}

}

}

}

2.4.1.2.2 Sample Add Specific Volumes and add vols to remote JSON Request

{

"editStorageGroupActionParam": {

"addVolumeParam": {

"volumeId": [

"05345"

],

"remoteSymmSGInfoParam": {

"remote_symmetrix_2_id": "000297000452",

"remote_symmetrix_1_id": "000297000451",

"remote_symmetrix_1_sgs": [

"Remote_SG"

],

"remote_symmetrix_2_sgs": [

"Hop2_SG"

]

}

}

}

}

2.4.1.2.3 Sample Add Thin Volumes and add vols to remote JSON Request

{

"editStorageGroupActionParam": {

"expandStorageGroupParam": {

"virtualVolumesParam": {

"num_of_vols": 1,

"emulation": "FBA",

"poolId": "Thin_Pool",

"volumeAttribute": {

"volume_size": "10",

"capacityUnit": "GB"

Internal Use  Confidential 

},

"remoteSymmSGInfoParam": {

"remote_symmetrix_2_id": "000297000452",

"remote_symmetrix_1_id": "000297000451",

"remote_symmetrix_1_sgs": [

"Remote_SG"

],

"remote_symmetrix_2_sgs": [

"Hop2"

]

}

}

}

}

}

Internal Use  Confidential 

2.5 Replication

2.5.1 rdf_group

2.5.1.1 GET (Object)

Resource rdf_group

Request Type:

GET

New Endpoint Description:

Modify Endpoint

Description:

Add

device_polarity

Modify

Remove

URL: /91/replication/symmetrix/{symmetrixId}/rdf_group/{rdfgNumId}

User Roles: Monitor and above

Prerequisite: Not applicable

Path Parameters:

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

rdfgNumId String Number of the SRDF Group

Query Parameters:

Not applicable

Request Parameters:

Not applicable

Response Parameters:

Object RdfGroup

Name Type Optional Description

device_polarity RdfTypes Yes The SRDF Polarity of the volumes in the group

2.5.1.1.1 Sample JSON response

{

"rdfgNumber": 2,

"label": "TestRDFG",

Internal Use  Confidential 

"remoteRdfgNumber": 2,

"remoteSymmetrix": "000196700153",

"numDevices": 10,

"totalDeviceCapacity": 6.74,

"localPorts": [

"RF-1E:7",

"RF-3E:7"

],

"remotePorts": [

"RF-3F:7",

"RF-1F:7"

],

"modes": [

"Adaptive Copy"

],

"type": "Dynamic",

"metro": false,

"async": false,

"witness": false,

"witnessProtectedPhysical": false,

"witnessProtectedVirtual": false,

"witnessConfigured": false,

"witnessEffective": false,

"biasConfigured": false,

"biasEffective": false,

"witnessDegraded": false,

"localOnlinePorts": [

"RF-1E:7",

"RF-3E:7"

],

"remoteOnlinePorts": [

Internal Use  Confidential 

"RF-3F:7",

"RF-1F:7"

],

"device_polarity": "RDF1"

}

2.5.1.2 POST

Resource rdf_group

Request Type POST

New Endpoint Description: Add the ability to create an SRDF group

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/replication/symmetrix/{symmetrixId}/rdf_group

User Roles StorageAdmin

Prerequisite Not applicable

Path Parameters

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

Query Parameters

Not applicable

Request Parameters

Object RdfGroupCreate

Name Type Optional Description

label String No The label for the SRDF group

local_rdfg_number int No The specific action for the type of input parameters to create the SG

local_ports RdfDirectorPort No Local SRDF ports to be used in the SRDF group

remote_rdfg_number int No The SRDF group number from the remote Symmetrix perspective

remote_ports RdfDirectorPort No Remote SRDF ports to be used in the SRDF group

Internal Use  Confidential 

metro_witness boolean Yes Create the group as an SRDF/Metro Witness group

Response Parameters

RdfGroup

2.5.1.2.1 Sample JSON response - Create SRDF group

{

"label" : "TestGroup",

"local_rdfg_number" : 66,

"remote_rdfg_number" : 66,

"metro_witness" : true,

"local_ports" : [ {

"symmetrixID" : "000197900049",

"directorNumber" : 67,

"directorId" : "RF-3E",

"portNumber" : 7,

"wwn" : "50000973b000c487",

"online" : true

} ],

"remote_ports" : [ {

"symmetrixID" : "000196700153",

"directorNumber" : 83,

"directorId" : "RF-3F",

"portNumber" : 7,

"wwn" : "5000097350026487",

"online" : true

} ]

}

2.5.1.3 PUT

Resource rdf_group

Request Type PUT

New Endpoint Description:

Internal Use  Confidential 

Modify Endpoint

Description:

Add

RdfGroupAction.add_ports

RdfGroupAction.remove_ports

RdfGroupAction.set_label

add_ports

remove_ports

set_label

Modify

Remove

URL /91/replication/symmetrix/{symmetrixId}/rdf_group/{rdfgNumId}

User Roles StorageAdmin

Prerequisite Not applicable

Path Parameters

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

rdfgNumId String The SRDF Group Number

Query Parameters

Not applicable

Request Parameters

Object RdfGroupCreate

Name Type Optional Description

action RdfGroupAction No The action to be performed.

add_ports RdfGroupAddPort sParam

Yes Add ports to the SRDF group.

remove_ports RdfGroupRemov ePortsParam

Yes

Remove ports from the SRDF group. There must be at least one port on each side remaining after this operation.

set_label RdfGroupSetLab elParam

Yes Change the label of the SRDF group.

Object RdfGroupAction

Name Type Optional Description

add_ports String Yes Populated for action to add ports

remove_ports String Yes Populated for action to remove ports

set_label String Yes Populated for action to set the group label

Internal Use  Confidential 

Object RdfGroupAddPortsParam

Name Type Optional Description

ports RdfDirectorPort No SRDF ports to be added to the SRDF group

star boolean Yes Use the SRDF/Star option

Object RdfGroupRemovePortsParam

Name Type Optional Description

ports RdfDirectorPort No SRDF ports to be removed from the SRDF group

star boolean Yes Use the SRDF/Star option

Object RdfGroupSetLabelParam

Name Type Optional Description

label String No The new label for the SRDF group

star boolean Yes Use the SRDF/Star option

Response Parameters:

RdfGroup

2.5.1.4 DELETE

Resource rdf_group

Request Type: DELETE

New Endpoint Description:

Ability to delete an SRDF group

Modify Endpoint Description:

Add

Modify

Remove

URL: /91/replication/symmetrix/{symmetrixId}/rdf_group/{rdfgNumId}

User Roles: StorageAdmin

Prerequisite: Not applicable

Path Parameters: Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

Internal Use  Confidential 

rdfgNumId String The SRDF Group number for the local Symmetrix.

Query Parameters:

Attribute Name Type Description

force String Attempts to force the operation even though one or more volumes may not be in the normal, expected state(s) for the specified operation.

symforce String Requests the Symmetrix array force operation be executed when normally it is rejected. Use extreme caution when using option.

CAUTION: Use care when applying symforce, as data could be lost or corrupted. Use of this option is not recommended, except in an emergency.

NOTE: To enable symforce, a parameter called SYMAPI_ALLOW_RDF_SYMFORCE in the options file must be set to TRUE and restart the Unisphere server to pick up the change.

star String Targets the action at volumes in STAR mode.

Request Parameters:

Not applicable

Response Parameters:

No content

2.5.1.5 volume

2.5.1.5.1 POST

Resource volume

Request Type POST

New Endpoint Description: Ability to create pairs in an SRDF group

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/replication/symmetrix/{symmetrixId}/rdf_group/{rdfgNumId}/volume

Internal Use  Confidential 

User Roles StorageAdmin

Prerequisite Not applicable

Path Parameters

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

rdfgNumId String The number of the SRDF Group in which you want to create pairs.

Query Parameters

Not applicable

Request Parameters

Object SrdfPairsCreate

Name Type Optional Description

rdfMode RdfMode no The SRDF mode of the new pairs

rdfType RdfType no The SRDF type for the volumes on this array

invalidateR1 boolean yes Invalidate the R1 volume as part of the pair creation

invalidateR2 boolean yes Invalidate the R2 volume as part of the pair creation

establish boolean yes Perform an SRDF esablish after the pairs are created

restore boolean yes Perform an SRDF restore after the pairs are created.

format boolean yes

No data synchronization is done between source and target dynamic SRDF pairs after all tracks are cleared on what will become the R1 and R2 side.

exempt boolean yes

Allows devices to be added, removed, or suspended without affecting the state of the SRDF/A or SRDF/Metro session or requiring that other devices in the session be suspended. Used for an SRDF group supporting an active SRDF/A session or an active SRDF/Metro session.

noWD boolean yes

It applies to the R2 devices for all createpair actions, as well as to the R1 devices for the createpair - invalidate R1 action.

remote boolean yes

bias boolean yes

Used with establish/restore to indicate that SRDF/Metro configuration will use bias instead of witness protection.

recoverpoint boolean yes Allows the operation even though one or more devices are tagged for RecoverPoint.

localDeviceListCriteri aParam

SrdfPairsCreateLi stCriteria

yes A list of the local devices to be SRDF paired and any associated attributes

localDeviceAutoCrite riaParam

SrdfPairsCreateA utoCriteria

yes A criteria for local devices to be SRDF paired and any assocaited attributes

Internal Use  Confidential 

Object SrdfPairsCreateListCriteria

Name Type Optional Description

localDeviceList String no A list of the local devices to be SRDF paired

remoteThinPoolNam e

String yes The thin pool to bind the remote volumes to. Only used for up to 5876

Object SrdfPairsCreateAutoCriteria

Name Type Optional Description

pairCount int no The number of pairs to be created

emulation EmulationType no The volume emulation type

capacity double no The capacity value for each volume

capacityUnit CapacityUnitType no The capacity unit for the volumes

localThinPoolName String yes The thin pool to bind the local volumes to. Only used for up to 5876

remoteThinPoolNam e

String yes The thin pool to bind the remote volumes to. Only used for up to 5876

Response Parameters

Object RdfDevicePairsList

Name Type Optional Description

devicePair RdfDevicePair no The SRDF pairing information for device pairs

2.5.1.5.2 Sample JSON response - Create SRDF pairs using SrdfPairsCreateListCriteria

{

"rdfMode": "AdaptiveCopyDisk",

"rdfType": "RDF1",

"invalidateR2": true,

"localDeviceListCriteriaParam": {

"localDeviceList":["01234"]

}

}

2.5.1.5.3 Sample JSON response - Create SRDF pairs using SrdfPairsCreateAutoCriteria

{

"rdfMode": "AdaptiveCopyDisk",

"rdfType": "RDF1",

"invalidateR2": true,

"localDeviceAutoCriteriaParam": {

Internal Use  Confidential 

"emulation": "FBA",

"pairCount": 2,

"capacityUnit": "GB",

"capacity": 2.3

}

}

2.5.1.5.4 DELETE

Resource volume

Request Type: DELETE

New Endpoint Description:

Ability to delete a pair from an SRDF group

Modify Endpoint Description:

Add

Modify

Remove

URL: /91/replication/symmetrix/{symmetrixId}/rdf_group/{rdfgNumId}/volume/{volumeId}

User Roles: StorageAdmin

Prerequisite: Not applicable

Path Parameters: Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

rdfgNumId String The number of the SRDF Group.

volumeId String The ID of the volume to delete the pair of.

Query Parameters:

Attribute Name Type Description

half_delete String Deletes one-half of the designated dynamic SRDF pair.

keep_r2 String Sets the winner side of the SRDF/Metro group to the R1 or the R2 side, as specified.

Internal Use  Confidential 

force String Attempts to force the operation even though one or more volumes may not be in the normal, expected state(s) for the specified operation.

symforce String Requests the Symmetrix array force operation be executed when normally it is rejected. Use extreme caution when using option.

CAUTION: Use care when applying symforce, as data could be lost or corrupted. Use of this option is not recommended, except in an emergency.

NOTE: To enable symforce, a parameter called SYMAPI_ALLOW_RDF_SYMFORCE in the options file must be set to TRUE and restart the

Unisphere server to pick up the change.

star String Targets the action at volumes in STAR mode.

bypass String Bypasses any existing Symmetrix exclusive locks during an SRDF operation.

WARNING: Only use this flag if you are certain no other SRDF operation is in progress at the local and/or remote Symmetrix arrays.

Request Parameters:

Not applicable

Response Parameters:

No content

2.5.2 storagegroup

2.5.2.1 POST

Resource storagegroup

Request Type POST

New Endpoint Description: Create a Storage Group from the volumes in an SRDF Group. The SG will not have an

SRP or SL associated with it.

Modify Endpoint

Description:

Add

Modify

Remove

Internal Use  Confidential 

URL /91/replication/symmetrix/{symmetrixId}/storagegroup

User Roles StorageAdmin

Prerequisite Not applicable

Path Parameters

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

Query Parameters

Not applicable

Request Parameters

Object StorageGroupCreate

Name Type Optional Description storage_group_nam e

String no The name of the storage group to be created on the local array

action SgCreateAction no The specific action for the type of input parameters to create the SG

create_sg_from_rdfg RdfgSgCreatePar am

yes

Specified when wanting to create a Storage Group from an SRDF group. Contains information list the SRDF group number, the (optional) remote SG name to create and the SRDF type of the SRDF group contains both R1s and R2s.

Object SgCreateAction

Name Type Optional Description

CreateSgFromRdfg String No Populated for action to create SG from Rdfg

Object RdfgSgCreateParam

Name Type Optional Description

rdf_group_number long no The SRDF Group number

rdf_type RdfType yes The SRDF Type to use remote_storage_gro up_name

String yes The name of the remote SG to create

Response Parameters

StorageGroup

2.5.2.1.1 Sample JSON request - Create SRDF pairs using SrdfPairsCreateAutoCriteria

{

"create_sg_from_rdfg": {

"rdf_group_number": 7

},

Internal Use  Confidential 

"storage_group_name": "testSG",

"action": "CreateSgFromRdfg"

}

2.5.2.2 snapshot

2.5.2.2.1 GET (List)

Resource snapshot

Request Type GET

New Endpoint Description:

Creates a storage group

Modify Endpoint

Description:

Add

sl_snapshot_name

Modify

Remove

URL /91/replication/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}/snapshot

User Roles Monitor and above

Prerequisite Not applicable

Path Parameters

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

storageGroupId String The Storage Group Name

Query Parameters

Attribute Name Type Description

exclude_manual_s naps

String Excludes Manual Snapshots from the Response.

exclude_sl_snaps String Excludes zDP Snapshots from the Response.

Request Parameters:

Not applicable

Response Parameters

Object StorageGroupSnapshotList

Name Type Optional Description

sl_snapshot_name String Yes The names of the snapshots for the

Internal Use  Confidential 

Storage Group created by a snapshot policy.

2.5.2.2.2 generation

2.5.2.2.2.1 GET (Object)

Resource generation

Request Type GET

New Endpoint Description:

Modify Endpoint

Description:

Add

tracks

nonSharedTracks

SnapVXSnapshotGenerationSourceVolume.capacity_gb

LinkedSnapshots.source_volume_name

LinkedSnapshots.linked_volume_name

Modify

Remove

URL /91/replication/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}/snapshot/{snaps hotId}/generation/{generationNumber}

User Roles Monitor and above

Prerequisite Not applicable

Path Parameters

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

storageGroupId String The Storage Group Name

snapshotId String The Snapshot Name

generationNumber long Generation Number

Query Parameters

Not applicable

Response Parameters

Object SnapVXSnapshotGeneration

Name Type Optional Description

Internal Use  Confidential 

sourceVolume SnapVXSnapshotGenerati onSourceVolume

No The source volumes of the snapshot generation.

tracks long Yes The number of source tracks that have been overwritten by the host.

nonSharedTracks long Yes The number of tracks uniquely allocated for this snapshots delta. This is an approximate indication of the number of tracks that will be returned to the SRP if this snapshot is terminated.

linkedStorageGroup LinkedSnapshots Yes Linked Storage Group and volume information. Only populated if the generation is linked.

Object SnapVXSnapshotGenerationSourceVolume

Name Type Optional Description

capacity_gb

float No The capacity of the snapshot volume in GB.

Object LinkedSnapshots

Name Type Optional Description

source_volume_name String No The source volumes name.

linked_volume_name String No The linked volumes name.

2.5.3 capabilities

2.5.3.1 GET (List)

Resource capabilities/symmetrix

Request Type:

GET

Internal Use  Confidential 

New Endpoint Description:

Modify Endpoint

Description:

Add

witness_capable

virtual_witness_capable

Modify

Remove

URL: /91/replication/capabilities/symmetrix

User Roles: Monitor and above

Prerequisite: Not applicable

Path Parameters:

Not applicable

Query Parameters:

Not applicable

Request Parameters:

Not applicable

Response Parameters:

Object SymmetrixCapabilityList

Name Type Optional Description

symmetrixCapabilities List Yes Collection of capabilities per array

Object SymmetrixCapability

Name Type Optional Description

witness_capable boolean No Does the array support SRDF witness.

virtual_witness_capable boolean No Does the array support SRDF virtual witness.

Internal Use  Confidential 

2.6 Migration

2.6.1 storagegroup

2.6.1.1 GET (Object)

Resource storagegroup

Request Type GET

New Endpoint Description:

Modify Endpoint

Description:

Add

offline

Modify

Remove

URL /91/migration/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}

User Roles Monitor

Prerequisite Not applicable

Path Parameters

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

storageGroupId String The Storage Group Name

Query Parameters

Not applicable

Request Parameters

Not applicable

Response Parameters

Object StorageGroup

Name Type Optional Description

offline boolean No Is the migration session an MDM session.

2.6.1.2 POST

Resource storagegroup

Request Type POST

New Endpoint Description:

Internal Use  Confidential 

Modify Endpoint

Description:

Add

offline

moveIdentity

Modify

Remove

URL /91/migration/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}

User Roles StorageAdmin

Prerequisite Not applicable

Path Parameters

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

storageGroupId String The Storage Group Name

Query Parameters

Not applicable

Request Parameters

Object MigrationCreate

Name Type Optional Description

offline boolean Yes Create an MDM session by specifying this flag

moveIdentity boolean Yes If creating an MDM session, use this to transfer the volume WWNs from source to target

Response Parameters

StorageGroup

Internal Use  Confidential 

2.7 VVol N/A

Internal Use  Confidential 

2.8 WLP

2.8.1 capabilities

2.8.1.1 symmetrix

2.8.1.1.1 GET (List)

Resource symmetrix

Request Type:

GET

New Endpoint

Description:

Generate workload planning capability list for each authorized Symmetrix.

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/capabilities/symmetrix

User Roles: At least Monitor

Parameter Details:

See generated REST API docs for parameter details.

2.8.2 symmetix

2.8.2.1 GET (List)

Resource symmetrix

Request Type:

GET

New Endpoint

Description:

This call queries for a list of workload planning eligible authorized Symmetrix.

Modify Endpoint

Description:

Add

Modify

Internal Use  Confidential 

Remove

URL: /91/wlp/symmetrix

User Roles: At least Monitor

Parameter Details:

See generated REST API docs for parameter details.

2.8.2.2 GET (Object)

Resource symmetrix

Request Type:

GET

New Endpoint

Description:

Get the workload planner data processing and data exclusion details for a Symmetrix.

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/symmetrix/{symmetrixId}

User Roles: At least Monitor

Parameter Details:

See generated REST API docs for parameter details.

2.8.2.3 PUT

Resource symmetrix

Request Type:

PUT

New Endpoint

Description:

Exclude data from workload planner calculations.

Exclude data from workload planner calculations.

Internal Use  Confidential 

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/symmetrix/{symmetrixId}

User Roles: At least Storage Admin

Parameter Details:

See generated REST API docs for parameter details.

2.8.2.4 storagegroup

2.8.2.4.1 GET (List)

Resource storagegroup

Request Type:

GET

New Endpoint

Description:

This call queries for a list of workload planning eligible storage groups.

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/symmetrix/{symmetrixId}/storagegroup

User Roles: At least Monitor

Parameter Details:

See generated REST API docs for parameter details.

Internal Use  Confidential 

2.8.2.4.2 changeslo

2.8.2.4.2.1 POST

Resource changeslo

Request Type:

POST

New Endpoint

Description:

Test performance impact of modifying an existing storage group. Generate admissibility scores and recommended front-end ports for a given workload or workloads. Admissibility scores are a representation of the observed performance impact on the system before and the predicted impact after a new workload is added to the system. The scores are separated into Front End, Back End, Cache, and (if applicable) RDF scores.

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}/changeslo

User Roles: At least Storage Admin

Parameter Details:

See generated REST API docs for parameter details.

2.8.2.5 characterization

2.8.2.5.1 GET (List)

Resource characterization

Request Type:

GET

New Endpoint

Description:

Return a workload characterization that can be used as input to the suitability API.

Modify Endpoint

Description:

Add

Modify

Internal Use  Confidential 

Remove

URL: /91/wlp/symmetrix/{symmetrixId}/characterization

User Roles: At least Monitor

Parameter Details:

See generated REST API docs for parameter details.

2.8.2.6 headroom

2.8.2.6.1 GET (List)

Resource headroom

Request Type:

GET

New Endpoint

Description:

Headroom values for an array. Hybrid Arrays will return a headroom value in GB for every SRP/Service Level/Workload Type/Emulation combination. All Flash Arrays will return a system-level headroom in IOPS value, and a system-level headroom in GB value for each emulation.

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/symmetrix/{symmetrixId}/headroom

User Roles: At least Monitor

Parameter Details:

See generated REST API docs for parameter details.

2.8.2.7 utilization

2.8.2.7.1 GET (List)

Resource utilization

Request Type:

GET

Internal Use  Confidential 

New Endpoint

Description:

Returns system-component utilization values for the past two weeks. The utilizations shown are normalized to a best practice limit for each component type. By default, only most limiting (highest utilization) value is shown for a given timestamp.

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/symmetrix/{symmetrixId}/utilization

User Roles: At least Monitor

Parameter Details:

See generated REST API docs for parameter details.

2.8.2.8 admissibility

2.8.2.8.1 POST

Resource admissibility

Request Type:

POST

New Endpoint

Description:

Generate admissibility scores and recommended front-end ports for a given workload or workloads. Admissibility scores are a representation of the observed performance impact on the system before and the predicted impact after a new workload is added to the system. The scores are separated into Front End, Back End, Cache, and (if applicable) RDF scores.

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/symmetrix/{symmetrixId}/admissibility

Internal Use  Confidential 

User Roles: At least Storage Admin

Parameter Details:

See generated REST API docs for parameter details.

2.8.2.9 admissibility_lookup

2.8.2.9.1 POST

Resource admissilibity_lookup

Request Type:

POST

New Endpoint

Description:

Lookup a storage group workload characterization and test admissibility onto a new Symmetrix array. Generate admissibility scores and recommended front-end ports for a given workload or workloads. Admissibility scores are a representation of the observed performance impact on the system before and the predicted impact after a new workload is added to the system. The scores are separated into Front End, Back End, Cache, and (if applicable) RDF scores.

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/symmetrix/{symmetrixId}/admissibility_lookup

User Roles: At least Storage Admin

Parameter Details:

See generated REST API docs for parameter details.

2.8.3 provisioningtemplate

2.8.3.1 GET (List)

Resource provisioningtemplate

Request Type:

GET

New Endpoint

Description:

This call queries for a list of all saved provisioning templates.

Internal Use  Confidential 

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/provisioningtemplate

User Roles: At least Monitor on at least one array

Parameter Details:

See generated REST API docs for parameter details.

2.8.3.2 GET (Object)

Resource provisioningtemplate

Request Type:

GET

New Endpoint

Description:

Get details of a provisioning template.

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/provisioningtemplate/{templateId}

User Roles: At least Monitor on at least one array

Parameter Details:

See generated REST API docs for parameter details.

2.8.3.3 POST

Resource provisioningtemplate

Request Type:

POST

Internal Use  Confidential 

New Endpoint

Description:

Create a provisioning template from an existing storage group

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/provisioningtemplate

User Roles: At least Storage Admin on the source array

Parameter Details:

See generated REST API docs for parameter details.

2.8.3.4 PUT

Resource provisioningtemplate

Request Type:

PUT

New Endpoint

Description:

Update an existing provisioning template

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/provisioningtemplate/{templateId}

User Roles: At least Storage Admin on at least one array

Parameter Details:

See generated REST API docs for parameter details.

2.8.3.5 DELETE

Resource provisioningtemplate

Internal Use  Confidential 

Request Type:

DELETE

New Endpoint

Description:

This call deletes a saved provisioning template.

Modify Endpoint

Description:

Add

Modify

Remove

URL: /91/wlp/provisioningtemplate/{templateId}

User Roles: At least Storage Admin on at least one array

Parameter Details:

See generated REST API docs for parameter details.

Internal Use  Confidential 

2.9 System

2.9.1 version

2.9.1.1 GET (Object)

Resource version

Request Type:

GET

New Endpoint

Description:

Modify Endpoint

Description:

Add

Modify

Remove

Removing the version endpoint from System. Attributes are now avaible as part of info resource.

URL: /91/system/version

User Roles: No change

Prerequisite: Not applicable

Path Parameters:

No change

Query Parameters:

No change

Request Parameters:

Not applicable

Response Parameters:

Not applicable

2.9.2 settings

2.9.2.1 exportfile

2.9.2.1.1 POST

Resource exportfile

Request Type POST

Internal Use  Confidential 

New Endpoint Description: Allows for exporting application and system settings for specified array to a single zip file.

Unisphere settings include:

Alert Notification Settings (SMTP configuration, SNMP target list, Email Recipient List)

Performance Preferences Performance Metrics Custom Performance Templates

System specific settings include:

Alert Policy Settings System (a.k.a Symmetrix) Thresholds and Alerts Performance Thresholds and Alerts Alert Notification Level Settings

Any of the listed setting types can be excluded from the export by specifying an appropriate flag. In case system settings are excluded from export, system id no longer has to be provided in the request body.

The exported zip file will be signed using the password provided to ensure the exported file was not tempered with.

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/settings/exportfile

User Roles Admin, Storage Admin

Prerequisite N/A

Path Parameters

N/A

Internal Use  Confidential 

Request Parameters

Object ExportSettingsParamType

Name Type Optional Description

source_array SymmetrixIdType Yes Id of array for which the system settings should be exported

file_password String No Password with wich the exported file content will be singed with

exclude_unisphere_ setting_options

List

Yes Exclude options for unisphere settings

exclude_system_sett ing_options

List

Yes Exclude options for system settings

Object UnisphereSettingsOptionsType

Name Type Optional Description

all enum string Yes Option to exclude all settings of this type(listed below) from exported file

alert_notification_set tings

enum string Yes Option to not include alert notification settings in the exported file

performance_prefere nce_settings

enum string Yes Option to not include performance preferences settings in the exported file

performance_user_t emplates

enum string Yes Option to not include performance user templates in the exported file

performance_metric _settings

enum string Yes Option to not include performance metrics in the exported file

Object SystemSettingsOptionsType

Name Type Optional Description

alert_policy_settings boolean Yes Option to not include alert policy settings in the exported file

system_threshold_s ettings

boolean Yes Option to not include system threshold settings in the exported file

performance_thresh old_settings

boolean Yes Option to not include performance threshold settings in the exported file

alert_level_notificatio n_settings

boolean Yes Option to not include alert level notification settings in the exported file

Query Parameters

N/A

Response Parameters SYNCHRONOUS:

Object MediaType.APPLICATION_OCTET_STREAM (zip file)

Attribute Name Type Optional Description

ASYNCHRONOUS:

Object

Internal Use  Confidential 

Attribute Name Type Optional Description

Samples Sample Request Body

Request body to export all settings:

{

"source_array":"000194900732",

"file_password":"smc"

}

Request body to export only unsiphere settings:

{

"file_password":"smc",

"exclude_system_setting_options":[all]

}

Request body to export only system settings:

{

"source_array":"000194900732",

"file_password":"smc",

"exclude_unisphere_setting_options": [all]

}

Internal Use  Confidential 

Request body to export only selected settings:

{

"source_array":"000194900732",

"file_password":"smc",

"exclude_unisphere_setting_options":[

" alert_notification_settings",

" performance_metric_settings"

],

"exclude_system_setting_options":[

" alert_policy_settings"

" system_threshold_settings"

]

}

2.9.2.1.1.1 Sample JSON Requests

Request body to export all settings:

{

"source_array":"000194900732",

"file_password":"smc"

}

Request body to export only unsiphere settings:

{

"file_password":"smc",

"exclude_system_setting_options":[all]

}

Internal Use  Confidential 

Request body to export only system settings:

{

"source_array":"000194900732",

"file_password":"smc",

"exclude_unisphere_setting_options": [all]

}

Request body to export only selected settings:

{

"source_array":"000194900732",

"file_password":"smc",

"exclude_unisphere_setting_options":[

" alert_notification_settings",

" performance_metric_settings"

],

"exclude_system_setting_options":[

" alert_policy_settings"

" system_threshold_settings"

]

}

2.9.2.2 importfile

2.9.2.2.1 POST

Resource importfile

Request Type POST

New Endpoint Description: Allows for importing a zip file that contains settings that were previously exported from

Unisphere. There is an option available to exlude certain settings that are present in a file from being imported.

The settings that a given file may include:

Unisphere settings

Internal Use  Confidential 

Alert Notification Settings (SMTP configuration, SNMP target list, Email Recipient List)

Performance Preferences Performance Metrics Custom Performance Templates

System specific settings:

Alert Policy Settings System (a.k.a Symmetrix) Thresholds and Alerts Performance Thresholds and Alerts Alert Notification Level Settings

A password that was specified during export needs to be provided during import operation. This is to assure that the imported file was not tempered with.

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/settings/importfile

User Roles Admin, Storage Admin

Prerequisite N/A

Path Parameters

N/A

Request Parameters

Attribute MediaType.MULTIPART_FORM_DATA

Name Type Optional Description

zip_file File No Zip file containg settings to be imported and previously exported from Unisphere

file_password String No Password that was preciously provided during settings export

target_arrays String (comma separated)

Yes List of target arrays to which the settings should be applied. Applicable only in the case when system settings are being imported.

exclude_unisphere_ setting_options

String (comma separated)

Yes Option to exclude unisphere settings from import. When set to false, all unisphere settings will be excluded.

Internal Use  Confidential 

exclude_system_sett ing_options

String (comma separated)

Yes Option to exclude system settings from import. When set to false, all system settings will be excluded.

Possible values SystemSettingsOptionsType

Name Type Optional Description

all String Yes Exclude al options

alert_policy_settings String Yes Option to not import alert policy settings from the file

performance_thresh old_settings

String Yes Option to not import performance threshold settings from the file

system_threshold_s ettings

String Yes Option to not import system threshold settings from the file

alert_level_notificatio n_settings

String Yes Option to not import alert level notification settings from the file

Possible values UnisphereSettingsOptionsType

Name Type Optional Description

all String Yes Exclude al options performance_metric _settings

String Yes Option to not import performance metrics from the file

performance_user_t emplates

String Yes Option to not import performance user templates from the file

performance_prefere nces_settings

String Yes Option to not import performance preferences from the file

alert_notification_set tings

String Yes Option to not import alert notification settings from the file

Query Parameters

N/A

Response Parameters SYNCHRONOUS:

Object

Attribute Name Type Optional Description

ASYNCHRONOUS:

Object

Attribute Name Type Optional Description

Internal Use  Confidential 

Samples

2.9.2.2.1.1 Sample inputs

Sample multipart form data for the request:

zip_file C://Desktop/UnisphereSettings.zip

file_password smc

target_arrays 000194900732, 000297000453

exclude_system_setting_options alert_policy_settings, performance_threshold_settings

exclude_unisphere_setting_options performance_metric_settings, alert_notification_settings

2.9.3 database_backup

2.9.3.1 POST

Resource database_backup

Request Type POST

New Endpoint Description: Add the ability to start a system backup

Modify Endpoint

Description:

Add

Internal Use  Confidential 

Modify

Remove

URL /91/system/database_backup

User Roles

Prerequisite Not applicable

Path Parameters

Request Parameters

Object DatabaseSystemBackupName

Name Type Optional Description System_backup- name

String No

Query Parameters

Not applicable

Response Parameters

Object SystemDatabaseBackupInfo

Name Type Optional Description

file_name String No System database backup job with file name as timestamp+ systemBackupName

status String Yes Backup status which will have same value as job status

description String Yes Backup job description

start_date long Yes Time stamp for job start

end_date long Yes Time stamp for job end

2.9.3.2 GET (List)

Resource

Request Type GET

New Endpoint Description: Add the ability to view all system database backups

Modify Endpoint

Description:

Add

Modify

Remove

Internal Use  Confidential 

URL /91/system/database_backup

User Roles

Prerequisite Not applicable

Path Parameters

Request Parameters

Query Parameters

Not applicable

Response Parameters

Object SystemDatabaseBackupInfoList

Name Type Optional Description System_backup_na me

List No System database backup file names list

2.9.3.3 GET (Object)

Resource

Request Type GET

New Endpoint Description: Add the ability to view specified system database backups by file name  

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/database_backup/{fileName}

User Roles

Prerequisite Not applicable

Path Parameters

fileName

Request Parameters

Query Parameters

Not applicable

Response Parameters

Object SystemDatabaseBackupInfo

Name Type Optional Description

Internal Use  Confidential 

file_name String No System database backup job with file name as timestamp+ systemBackupName

status String Yes Backup status which will have same value as job status

description String Yes Backup job description

start_date long Yes Time stamp for job start

end_date long Yes Time stamp for job end

2.9.4 health

2.9.4.1 GET (List)

Resource health

Request Type GET

Description

New Endpoint Description: Add the ability to view health information of Symmetrix including health check history list,

health score and failed disks Id

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/health/

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Query Parameters

Not applicable

Response Parameters

Object HealthInformation

Name Type Optional Description

healthScores HealthScoreMetri cList

Yes List of health scores

Num_failed_disks Integer Yes Number of failed disks

Internal Use  Confidential 

Health_check List Yes With only one item which is the most recent health check result

2.9.4.2 health_check

2.9.4.2.1 GET (Object)

Resource health_check

Request Type GET

New Endpoint Description: Add the ability to view health check result in details

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/health/health_check/{healthcheckId}

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId, healthcheckId

Request Parameters

Query Parameters

Not applicable

Response Parameters

Object HealthCheckResult

Name Type Optional Description

testResult list Yes

List of health check result if health check is running successfully. It will be formatted like TestItemName:Result

execution_status String Yes Health check status which will have same value as job status

symmetrixId String Yes Symmetrix ID

date long Yes Time start for health check

decription String yes Health check task description

2.9.4.2.2 DELETE

Resource health_check

Internal Use  Confidential 

Request Type DELETE

New Endpoint Description: Add the ability to remove one health check result  

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/health/health_check/{healthcheckId}

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId, healthcheckId

Request Parameters

Query Parameters

Not applicable

Response Parameters

Not applicable

2.9.4.2.3 POST

Resource health_check

Request Type POST

New Endpoint Description: Add the ability to start one health check for selected symmetrix box

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/health/health_check/

Internal Use  Confidential 

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Object HealthCheckDescriptionParamType

Name Type Optional Description

description String No Health Check Description

Query Parameters

Not applicable

Response Parameters

/91/system/symmetrix/{ symmetrixId }/job/{jobId}

2.9.5 symmetrix

2.9.5.1 GET (Object)

Resource symmetrix

Request Type GET

New Endpoint Description:

Modify Endpoint

Description:

Add

Add the ability to view all properties (capacity is not included) of specified symmetrix

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Query Parameters

Not applicable

Response Parameters

Object symmetrix

Name Type Optional Description

Internal Use  Confidential 

Ucode_date String Yes Current Symmetrix uCode Date

fe_dir_count long Yes Number of Front end directors

be_dir_count Long Yes Number of back end directors

rdf_dir_count Long Yes Number of RDF directors

Max_hyper_per_disk long yes Max hyper number per disk

Vcm_state String yes VCM Config State

Vcmdb_state String yes VCMDB Access Restricted State dev_masking_aclx_c onfig

String Yes Device Masking ACLX Config State

aclx_lun_addr long Yes ACLX Volume LUN Address access_control_confi g

String Yes Access Control Config

config_change_state String Yes Config Change State disk_group_assignm ent

String Yes Disk Group Assignments

parity_raid_config String Yes Parity RAID Configuration

raid_config String Yes RAID Configuration

pav_model String Yes PAV Model

pav_alias_limit long Yes PAV Alias Limit

sddf_state String Yes SDDF Configuration State

worm_config String Yes WORM Configuration Level

worm_charac String Yes WORM Characteristics

switched_rdf_config String Yes Switched RDF Configuration State

dynamic_rdf_config String Yes Dynamic RDF State concurrent_dynamic _rdf_config

String Yes Concurrent Dynamic RDF Configuration

rdf_data_mobility_co nfig

String Yes RDF Data Mobility Configuration State

srdfa_max_throttle long Yes SRDF/A Maximum Host Throttle (Secs)

srdfa_cache_usage long Yes SRDF/A Maximum Cache Usage (Percent)

lru_assign String Yes LRU Device Assignment Type num_ava_cache_slo t

long Yes Number of Available Cache Slots

max_da_slot long Yes Max Number of DA Write Pending Slots

max_sys_slot long Yes Max Number of System Write Pending Slots

max_dev_slot long Yes Max Number of Device Write Pending Slots

max_local_rep_slot long Yes Max Number of Slots for Local Replication

last_ipl_time String Yes Symmetrix Last IPL Time (Cold)

last_fast_ipl_time String Yes Symmetrix Last FAST IPL Time (Cold)

symm_alert long Yes Symmetrix Alerts (Enabled/Disabled)

dse_max_cap String Yes DSE MAX Cap

priority_qos_state String Yes Priority QoS State

hot_swap_policy String Yes Host Swap Policy

symm_disk_lab String Yes Symmetrix Disk Library

fba_geo_emulation String Yes FBA Geometry Emulation

Internal Use  Confidential 

dyn_mirror String Yes 3 Dynamic Mirrors

cache_partition String Yes Cache Partitioning

auto_meta String Yes Auto Meta min_auto_meta_size _cyl

String Yes Min Auto Meta Size

auto_meta_member _size

long Yes Auto Meta Member Size

auto_meta_config String Yes Auto Meta Configuration

disk_service_state String Yes Disk Service State

front_door_led_state String Yes Front Door LED Status

rep_cache_usage long Yes Replication Cache Usage

visiable_dev_count String Yes Number of Visible (Host) Devices

spare_disk_count long Yes Number of Configured Spare Disks

unconfig_disk_count long Yes Number of Unconfigured Disks

2.9.6 director/port/ipinterface

2.9.6.1 GET (Object)

Resource director/port/ipinterface

Request Type:

GET

New Endpoint

Description :

Gets details about an ip interface

Modify Endpoint

Description :

Add

Modify

Remove

URL: /91/system/symmetrix/{symmetrixId}/director/{directorId}/port/{portId}/ipinterface/{ipinterf aceId}

User Roles: Administrator/Storage Administrator/Security

Administrator/Monitor/Auditor/Performance Monitor

Prerequisit e:

Not applicable

Path Parameters

:

Attribute Name Type Optional Description

symmetrixId String No Unique identifier of the symmetrix

Internal Use  Confidential 

directorId String No Unique identifier of the director

portId String No Unique identifier of the port

ipinterfaceId String No Unique identifier of the ip interface

Query Parameters

:

Not applicable

Request Parameters

:

Not applicable

Response Parameters

:

Object IpInterface

Attribute Name Type Optional Description

ip_interface_id String

No Ip interface Ip address

ip_address String No The IPv4 or IPv6 IP address

Default_gateway String No The default gateway

ip_prefix_length Integer No The prefix length for the IPv4 or IPv6 address

mtu Long No The MTU configured for the IP interface

Iscsi_target_director String Yes IP Interface target director (iscsi only)

Iscsi_target_port Integer Yes IP Interface target Port (iscsi only)

vlan_id Long Yes The VLAN ID of the IP interface (iscsi only)

network_id Long Yes The network id of the IP interface (iscsi only)

2.9.6.2 POST

Resource director/port/ipinterface

Request Type POST

New Endpoint Description: Add the ability to create RE IP Interface for selected RE port

Modify Endpoint

Description:

Add

Modify

Internal Use  Confidential 

Remove

URL /91/system/symmetrix/{symmetrixId}/ director/{directorId}/port/{portId}/ipinterface

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Object CreateIPInterfaceParamType

Name Type Optional Description

default_gateway String Yes RE IP Interface default gateway Iscsi_target_director String Yes IP Interface target director (iscsi

only) Iscsi_target_port Integer Yes IP Interface target Port (iscsi only)

ip_prefix_length Integer No The prefix length for the IPv4 or IPv6 address

mtu Long No The MTU configured for the IP interface

ip_address String No The IPv4 or IPv6 IP address

vlan_id Long Yes The VLAN ID of the IP interface (iscsi only)

network_id Long Yes The network id of the IP interface (iscsi only)

Query Parameters

Not applicable

Response Parameters SYNCHRONOUS:

Object ipInterface

Attribute Name Type Optional Description

ASYNCHRONOUS:

Object job

Attribute Name Type Optional Description

Internal Use  Confidential 

2.9.6.2.1 Sample JSON

Request:

{

"ip_address":"11.100.12.11",

"ip_prefix_length":"24",

"default_gateway ":"11.100.12.1",

"mtu":"1600",

"executionOption" : "ASYNCHRONOUS" //(optional SYNCHRONOUS by default)

Sync Response

"ip_interface_id": "11.100.12.11",

"ip_address": "11.100.12.11",

"ip_prefix_length": 32,

"default_gateway ":"11.100.12.1",

"mtu": 1600

}

Async Response

{

"jobId": "1513580022408",

"name": "IP Address: 11.100.12.11",

"status": "SCHEDULED",

"username": "C:b1d90714-b493-42f8-a6b4-ce28bbd70f54\\smc",

"last_modified_date": "Dec-18-2017 12:23:42.409",

"last_modified_date_milliseconds": 1513580022409,

"completed_date_milliseconds": 0,

"task": [

{

"execution_order": 1,

"description": "Create IP Interface with ip [11.100.12.11]

}

],

"resourceLink": "http://localhost:8080/univmax/restapi/91/system/symmetrix/000197900046/director/RE -1E/port/24/ipinterface/11.100.12.11"

}

Internal Use  Confidential 

2.9.6.3 PUT

Resource director/port/ipinterface

Request Type PUT

New Endpoint Description: Add the ability to create RE IP Interface for selected RE port

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/ director/{directorId}/port/{portId}/ipinterface

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Object editIPInterfaceParam

extends:

ConfigurationManagementParamType

Attribute Name Type Optional Description

editIPInterfaceActionParam

EditIPInterfaceActionParamT ype

No Select the Edit Options to modify the specified IPInterface

Object EditIPInterfaceParamType

Attribute Name Type Optional Description

editIPInterfaceOptionsP aram

EditIPInterfaceOptionsParam Type

Yes Edits the params for the specified ip interface

Object editIPInterfaceOptionsParam

Attribute Name Type Optional Description

Internal Use  Confidential 

ip_address

string No The IPv4 or IPv6 new address of the IP Interface

ip_prefix_length int No The IPv4 or IPv6 network mask prefix for the IP Interface

network_id Long Yes The network id of the IP interface (iscsi only)

mtu int No MTU value for the IP Interface.

Query Parameters

Not applicable

Response Parameters SYNCHRONOUS:

Object ipInterface

Attribute Name Type Optional Description

ASYNCHRONOUS:

Object job

Attribute Name Type Optional Description

2.9.6.3.1 Sample JSON

{

"editIPInterfaceActionParam": {

"editIPInterfaceOptionsParam":{

"ip_address": "11.100.12.11",

"ip_prefix_length": 25,

"mtu":"1800"

}

}

}

2.9.6.4 DELETE

Resource director/port/ipinterface

Request Type DELETE

New Endpoint Description: Add the ability to delete RE IP Interface for selected RE port

Internal Use  Confidential 

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/ director/{directorId}/port/{portId}/ipinterface/{ipinterfaceId}

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Query Parameters

Not applicable

Response Parameters

/91/system/symmetrix/{ symmetrixId }/job/{jobId}

2.9.7 remote_machine_table

2.9.7.1 GET (List)

Resource remote_machine_table

Request Type GET

New Endpoint Description: Add the ability to get RMT Entry list

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/remote_machine_table

Internal Use  Confidential 

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

uery Parameters

Not applicable

Response Parameters

Object RMTListSymmetrixResultType

Attribute Name Type Optional Description

Remote_symmetrix_id

List No List of RMT Entry Ids

2.9.7.2 GET (Object)

Resource remote_machine_table

Request Type GET

New Endpoint Description: Add the ability to get RMT Entry list

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/ remote_machine_table /{remote_symmetrix_id}

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId, remote symmetrix Id (RMT entry Id)

Request Parameters

uery Parameters

Not applicable

Internal Use  Confidential 

Response Parameters

Object RMTEntryResult

Name Type Optional Description

Num_of_rmt_target int No Number of RMT target

2.9.7.3 POST

Resource remote_machine_table

Request Type POST

New Endpoint Description: Add the ability to create RMT Entry

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/ remote_machine_table

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Object CreateRMTEntryParamType

Name Type Optional Description

Remote_symm_id String No Remote Symm id

Rmt_target_list RMTTargetList No List of RMTTargetType

Object RMTTargetType

Name Type Optional Description

Ip_v4_address String No IP V4 address

Ip_v6_address string No IP V6 address

Target_director string No Remote target director indetity

Target_port integer No Remote target port number

Query Parameters

Not applicable

Response Parameters SYNCHRONOUS:

Internal Use  Confidential 

Object RMTListSymmetrixResultType

Attribute Name Type Optional Description

ASYNCHRONOUS:

Object job

Attribute Name Type Optional Description

Samples

Request:

{

"remote_symmetrix_id":"000297000454",

"rmt_target_list": [

{

"target_director":"RE-2H",

"target_port":8,

"ip_v4_address":"12.34.56.78",

"ip_v6_address":"2001:DB8:2de:0:0:0:0:e13"

}

]

"executionOption" : "ASYNCHRONOUS" //(optional SYNCHRONOUS by default)

Sync Response

{

RE-1H-8 

}

Internal Use  Confidential 

Async Response

{

"jobId": "1513580022408",

"name": "RMT Entry: 12345678",

"status": "SCHEDULED",

"username": "C:b1d90714-b493-42f8-a6b4-ce28bbd70f54\\smc",

"last_modified_date": "Dec-18-2017 12:23:42.409",

"last_modified_date_milliseconds": 1513580022409,

"completed_date_milliseconds": 0,

"task": [

{

"execution_order": 1,

"description": "Create RMT Target

}

],

"resourceLink": "http://localhost:8080/univmax/restapi/91/system/symmetrix/000197900046/ remote_machine_table/12345678/rmt_targe"

}

2.9.7.3.1 Sample JSON

Request:

{

"remote_symmetrix_id":"000297000454",

"rmt_target_list": [

{

"target_director":"RE-2H",

"target_port":8,

"ip_v4_address":"12.34.56.78",

"ip_v6_address":"2001:DB8:2de:0:0:0:0:e13"

}

]

"executionOption" : "ASYNCHRONOUS" //(optional SYNCHRONOUS by default)

Internal Use  Confidential 

Sync Response

{

RE-1H-8 

}

Async Response

{

"jobId": "1513580022408",

"name": "RMT Entry: 12345678",

"status": "SCHEDULED",

"username": "C:b1d90714-b493-42f8-a6b4-ce28bbd70f54\\smc",

"last_modified_date": "Dec-18-2017 12:23:42.409",

"last_modified_date_milliseconds": 1513580022409,

"completed_date_milliseconds": 0,

"task": [

{

"execution_order": 1,

"description": "Create RMT Target

}

],

"resourceLink": "http://localhost:8080/univmax/restapi/91/system/symmetrix/000197900046/ remote_machine_table/12345678/rmt_targe"

}

2.9.7.4 PUT

Resource remote_machine_table

Request Type PUT

Description Add the ability to create RMT Entry

New Endpoint Description:

Creates a storage group

Modify Endpoint

Description:

Add

Modify

Internal Use  Confidential 

Remove

URL /91/system/symmetrix/{symmetrixId}/ remote_machine_table /{remote_symmetrix_id}

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Object EditRMTEntryParamType

Name Type Optional Description

Rmt_target_list RMTEntryTarget ModifyType

No List of RMTTargetType

Object RMTEntryTargetModifyType

Name Type Optional Description

Ip_v4_address String No IP V4 address

Ip_v6_address string No IP V6 address

Target_director string No Remote target director indetity

Target_port integer No Remote target port number

Query Parameters

Not applicable

Response Parameters

SYNCHRONOUS

Object RMTEntryResult

Name Type Optional Description

Num_of_rmt_target int No Number of RMT target

Samples ASYNCHRONOUS

Object job

Attribute Name Type Optional Description

Internal Use  Confidential 

Request:

{

"rmt_target_list": [

{

"target_director":"RE-2H",

"target_port":8,

"ip_v4_address":"12.34.56.78",

"ip_v6_address":"2001:DB8:2de:0:0:0:0:e13"

}

]

"executionOption" : "ASYNCHRONOUS" //(optional SYNCHRONOUS by default)

Sync Response

{

Num_of_rmt_target: 3 

}

Async Response

{

"jobId": "1513580022408",

"name": "RMT Entry: 12345678",

"status": "SCHEDULED",

"username": "C:b1d90714-b493-42f8-a6b4-ce28bbd70f54\\smc",

"last_modified_date": "Dec-18-2017 12:23:42.409",

"last_modified_date_milliseconds": 1513580022409,

"completed_date_milliseconds": 0,

"task": [

{

"execution_order": 1,

"description": "Create RMT Target

}

],

Internal Use  Confidential 

"resourceLink": "http://localhost:8080/univmax/restapi/91/system/symmetrix/000197900046/ remote_machine_table/12345678/rmt_targe"

}

2.9.7.4.1 Sample JSON

Request:

{

"rmt_target_list": [

{

"target_director":"RE-2H",

"target_port":8,

"ip_v4_address":"12.34.56.78",

"ip_v6_address":"2001:DB8:2de:0:0:0:0:e13"

}

]

"executionOption" : "ASYNCHRONOUS" //(optional SYNCHRONOUS by default)

Sync Response

{

Num_of_rmt_target: 3 

}

Internal Use  Confidential 

Async Response

{

"jobId": "1513580022408",

"name": "RMT Entry: 12345678",

"status": "SCHEDULED",

"username": "C:b1d90714-b493-42f8-a6b4-ce28bbd70f54\\smc",

"last_modified_date": "Dec-18-2017 12:23:42.409",

"last_modified_date_milliseconds": 1513580022409,

"completed_date_milliseconds": 0,

"task": [

{

"execution_order": 1,

"description": "Create RMT Target

}

],

"resourceLink": "http://localhost:8080/univmax/restapi/91/system/symmetrix/000197900046/ remote_machine_table/12345678/rmt_targe"

}

2.9.7.5 rmt_target

2.9.7.5.1 GET (List)

Resource rmt_target

Request Type GET

New Endpoint Description: Add the ability to get selected RMT Entry target list

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/ remote_machine_table /{remote_symmetrix_id}/ rmt_target

User Roles

Prerequisite Not applicable

Internal Use  Confidential 

Path Parameters

symmetrixId

Request Parameters

uery Parameters

Not applicable

Response Parameters

Object RMTTargetList

Name Type Optional Description

Rmttargets List yes List of RMT target identifier

2.9.7.5.2 GET (Object)

Resource rmt_target

Request Type GET

New Endpoint Description: Add the ability to get selected RMT Entry target list

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/ remote_machine_table/{remote_symmetrix_id}/rmt_target/{target_id}

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

uery Parameters

Not applicable

Response Parameters

Object RMTTargetType

Name Type Optional Description

Ip_v4_address String yes IP V4 address

Ip_v6_address string yes IP V6 address

Target_director string No Remote target director indetity

Target_port integer No Remote target port number

Target_id String No RMT target id (composed by dir port identifier eg RE-1H-9)

Internal Use  Confidential 

2.9.7.5.3 PUT

Resource rmt_target

Request Type PUT

New Endpoint Description: Add the ability to Modify RMT target

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/ remote_machine_table /{ remote_symmetrix_id }/rmt_target/{target_id}

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Object RMTTargetModifyType

Name Type Optional Description

Ip_v4_address String No IP V4 address

Ip_v6_address string No IP V6 address

Query Parameters

Not applicable

Response Parameters SYNCHRONOUS:

Object RMTTargetType

Attribute Name Type Optional Description

ASYNCHRONOUS:

Object job

Attribute Name Type Optional Description

Samples Request:

{

Ip_v6_address: 2002:DB8:2de:0:0:0:0:e13

Internal Use  Confidential 

Ip_v4_address: 12.13.14.15

"executionOption" : "ASYNCHRONOUS" //(optional SYNCHRONOUS by default)

}

Sync Response

{

Ip_v6_address: 2002:DB8:2de:0:0:0:0:e13

Ip_v4_address: 12.13.14.15

}

Async Response

{

"jobId": "1513580022408",

"name": "RMT Entry: 12345678",

"status": "SCHEDULED",

"username": "C:b1d90714-b493-42f8-a6b4-ce28bbd70f54\\smc",

"last_modified_date": "Dec-18-2017 12:23:42.409",

"last_modified_date_milliseconds": 1513580022409,

"completed_date_milliseconds": 0,

"task": [

{

"execution_order": 1,

"description": "Modify RMT Target

}

],

"resourceLink": "http://localhost:8080/univmax/restapi/91/system/symmetrix/000197900046/ remote_machine_table /12345678/RE-1H-9"

}

2.9.7.5.3.1 Sample JSON

Request:

{

Ip_v6_address: 2002:DB8:2de:0:0:0:0:e13

Ip_v4_address: 12.13.14.15

"executionOption" : "ASYNCHRONOUS" //(optional SYNCHRONOUS by default)

}

Sync Response

{

Internal Use  Confidential 

Ip_v6_address: 2002:DB8:2de:0:0:0:0:e13

Ip_v4_address: 12.13.14.15

}

Async Response

{

"jobId": "1513580022408",

"name": "RMT Entry: 12345678",

"status": "SCHEDULED",

"username": "C:b1d90714-b493-42f8-a6b4-ce28bbd70f54\\smc",

"last_modified_date": "Dec-18-2017 12:23:42.409",

"last_modified_date_milliseconds": 1513580022409,

"completed_date_milliseconds": 0,

"task": [

{

"execution_order": 1,

"description": "Modify RMT Target

}

],

"resourceLink": "http://localhost:8080/univmax/restapi/91/system/symmetrix/000197900046/ remote_machine_table /12345678/RE-1H-9"

}

2.9.7.6 DELETE

Resource RMTTargetParamType

Request Type DELETE

New Endpoint Description: Add the ability to delete RMT target existing

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/ remote_machine_table /{ remote_symmetrix_id }/rmt_target/{target_id }

Internal Use  Confidential 

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Query Parameters

Not applicable

Response Parameters

/91/system/symmetrix/{ symmetrixId }/job/{jobId}

2.9.8 disk

2.9.8.1 GET (List)

Resource disk

Request Type GET

New Endpoint Description: Add the ability to get Symmetrix disk ids

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/disk

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId

Request Parameters

Query Parameters

Failed

Response Parameters

Object DiskIdList

Name Type Optional Description

Disk_ids List No List of disk ids (failed / not failed/ all).

Internal Use  Confidential 

2.9.8.2 GET (Object)

Resource disk

Request Type GET

New Endpoint Description: Add the ability to get Symmetrix disk ids

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/disk/{disk_id}

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId, disk_id

Request Parameters

Not Applicable

Query Parameters

Failed

Response Parameters

Object DiskInformation

Name Type Optional Description

Spindle_id String No Disk spindle id

type String No Disk product type

Vendor String No Disk vendor id

Disk capacity Double No Disk capacity in GB

2.9.9 director/port

2.9.9.1 PUT

Resource director/port

Request Type PUT

New Endpoint Description: Port online/offline

Internal Use  Confidential 

Modify Endpoint

Description:

Add

Modify

Remove

URL /91/system/symmetrix/{symmetrixId}/director/{directorId}/port/{portId}

User Roles

Prerequisite Not applicable

Path Parameters

symmetrixId, directorId, portId

Request Parameters

Object EditPortParamType

Name Type Optional Description editPortActionParamTyp e

EditPortActio nParamType

No Enum for edit port action

Object EditPortActionParamType

Name Type Optional Description

onlineOfflineParamType OnlineOffline ParamType

Yes Enum for port online/offline action

editISCSITargetActionPa ram

EditISCSITar getActionPar am

Yes Enum for iscsi target actions

Object OnlineOfflineParamType

Name Type Optional Description

port_Online boolean No True means online and false means offline. It can be applied at both normal ports and iscsi targets

Object EditISCSITargetActionParam

Attribute Name Type Optional Description

renameISCSITarg etParam

RenameISCSITarg etParamType

Yes Renames the specified iSCSI Target's IQN

modifyISCSITarge tParam

ModifyISCSITarget ParamType

Yes Modifies the specified iSCSI Target's properties

Internal Use  Confidential 

modifyPortFlagsP aram

ModifyPortFlagsPar amType

Yes Set/Reset port flags of the specified iSCSI Target

attachIPInterfaceP aram

AttachIPInterfaceP aramType

Yes Attaches one or more IP interfaces to the specified iSCSI Target

detachIPInterface Param

DetachIPInterfaceP aramType

Yes Detaches one or more IP interfaces from the specified iSCSI Target

Object RenameISCSITargetParam

Attribute Name Type Optional Description

new_iqn String No The New IQN of iSCSI Target.

Object ModifyISCSITargetParam

Attribute Name Type Optional Description

network_id long No New network ID for specified iSCSi Target.

tcp_port long Yes New TCP port number for specified iSCSi Target.

Object ModifyPortFlagsParam

Attribute Name Type Optional Description

volume_set_addressing boolean Yes Volume set addressing mode for iSCSITarget.

avoid_reset_broadcast boolean Yes SCSI bus reset to only occur to the port that received the reset (not broadcast to all channels)

environ_set boolean Yes Environmental error reporting by the storage system to the host on the specific port.

disable_q_reset_on_ua boolean Yes Unit Attention (UA) that is propagated from another director does not flush the queue for this volume on this director

soft_reset boolean Yes SCSI soft reset on a Storage System port

scsi_3 boolean Yes Storage System supports SCSI-3 / SCSI-2 protocol.

scsi_support1 boolean Yes Provides a stricter compliance with SCSI standards

Internal Use  Confidential 

spc2_protocol_version boolean Yes Has to be enabled (default) in a Windows 2003 environment running Microsoft HCT test version 12.1. Port must be offline, when set.

open_vms boolean Yes Enables an Open VMS fiber connection.

isid_protected boolean Yes Protected initiator session identifier.

Object AttachIPInterfaceParam

Attribute Name Type Optional Description

ipInterfaceParam IPInterfaceParamType No A list of IP Interfaces that will be used for attach.

Object DetachIPInterfaceParam

Attribute Name Type Optional Description

ipInterfaceParam IPInterfaceParamType No A list of IP Interfaces that will be used for detach.

Object IPInterfaceParam

Attribute Name Type Optional Description

ip_interface_id IpInterfaceIdType No IP Interface ID with IP Address and Network ID separated by '-'.

ip_interface_port long No Physical iSCSI Port where the IP Interface exists.

Query Parameters

Response Parameters SYNCHRONOUS:

Object DirectorPort

Attribute Name Type Optional Description

Same as 90/ it is for all normal ports online/ offline

Object iSCSITarget

Attribute Name Type Optional Description

Same as 90/ it is for all iscsi specified actions and iscsci target online/ offline

There is no Asynchronous allowed at port/iscsi target online/offline

ASYNCHRONOUS:

Internal Use  Confidential 

Object job

Attribute Name Type Optional Description

Internal Use  Confidential 

2.9.10 tag

2.9.10.1 GET (List)

Resource tag

Request Type: GET

New Endpoint Description:

Gets a list of tag names

Modify Endpoint Description:

Add

Modify

Remove

URL: /91/system/tag

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: Not applicable

Query Parameters: Attribute Name Type Description

storage_Group_id String Optional value that filters returned list to display Tag names that have a specified Storage Group Id example: equal to storage_group_id=bronze" or contains "storage_group_id= bro"

array_id String Optional value that filters returned list to display Tag names that have a specified Array Id example: equal to array_id=000197900049" or contains "array_id= 049"

tag_name String Optional value that filters returned list to display Tag names that have a specified Tag Name Id example: equal to tag_name=ireland" or contains "tag_name= ire"

num_of_storage_groups

String Optional value that filters returned list to display Tag names that are associated with greater than("num_of_storage_groups=>1"), Less than("num_of_storage_groups=<1") or equal to the specified num_of_storage_groups

Internal Use  Confidential 

num_of_arrays

String Optional value that filters returned list to display Tag names that are associated with greater than("num_of_arrays=>1"), Less than("num_of_arrays=<1") or equal to the specified num_of_arrays

Request Parameters: Not applicable

Response Parameters:

Object ListTagResult

Attribute Name Type Optional Description

tag_Name

String array No A list of Tag names

2.9.10.1.1 Sample JSON response

{

"tag_name": [

"Boston",

"Cork",

"cork",

"Finance",

"Newtag",

"operations",

"tagh",

"tim"

]

}

2.9.10.2 GET (Object)

Resource tag

Request Type: GET

New Endpoint Description:

Gets details about a tag

Modify Endpoint Description:

Add

Modify

Internal Use  Confidential 

Remove

URL: /91/system/tag/{tag_name}

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: Attribute Name Type Optional Description

Tag_name String No The Tag Name

Query Parameters: Not applicable

Request Parameters:

Not applicable

Response Parameters:

Object TagResult

Attribute Name Type Optional Description

storage_group_infos

Array Yes List of Storage Group Infos

array_Ids

Array Yes List Of Array Ids

Object StorageGroupInfo

Attribute Name Type Optional Description

storage_Group_Id

String No The Storage Group Name

array_Id

String No The Array associated with the Storage Group

2.9.10.2.1 Sample JSON response

{

"storage_group_infos": {

"storage_group_info": [

{

Internal Use  Confidential 

"storage_group_id": "BOH_SVX_REST_link_LNK002_SG",

"array_id": "000197900049"

},

{

"storage_group_id": "BOH_SVX_REST_link_SG",

"array_id": "000197900049"

},

{

"storage_group_id": "ColT2",

"array_id": "000197900049"

}

]

}

}

2.9.11 alert

2.9.11.1 GET (List)

Resource alert

Request Type: GET

New Endpoint Description:

Modify Endpoint Description:

Add

Add the following filters (query params):

array

object

object_type

Modify

Remove

Internal Use  Confidential 

URL: /91/system/alert

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: No change

Query Parameters: Attribute Name Type Description

array String Optional value that filters returned list to display alert names that have a specified array example: equal to "array=000297888233" or contains "tag= 233"

object String Optional value that filters returned list to display alert names that have a specified object example: equal to "object=SRP_3" or contains "tag= _3"

object_type String Optional value that filters returned list to display alert names that have a specified object type example: equal to "object_type=Symmetrix" or contains "tag= Symm"

Request Parameters: Not applicable

Response Parameters:

No change

2.9.11.2 GET (Object)

Resource alert

Request Type: GET

New Endpoint Description:

Modify Endpoint Description:

Add

Add the following attribtutes

array

object

object_type

Modify

Remove

Internal Use  Confidential 

URL: /91/system/alert/{alertId}

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: No change

Query Parameters: Not applicable

Request Parameters: Not applicable

Response Parameters:

Object TagResult

Attribute Name Type Optional Description

array

string Yes The array that the alert was generated on

object

string Yes The array object that the alert was generated on example: Finance_SG

object_type string Yes The type of array object that the alert was generated on example: Storage Group

2.9.11.2.1 Sample JSON response

{

"alertId": "fcc9f205-9348-4735-b89e-d1c5c92f8a51",

"state": "NEW",

"severity": "NORMAL",

"type": "ARRAY",

"array": "000197800128",

"object": "SRP_Three",

object_type: Storage Resource Pool,

"created_date": "Nov-29-2018 16:37:52.000",

"created_date_milliseconds": 1543509472000,

Internal Use  Confidential 

"description": "The FBA Effective used capacity for SRP has changed to 0 percent. - Object is: 000197800128:SRP_Three",

"acknowledged": false

}

2.9.12 symmetrix/alert

2.9.12.1 GET (List)

Resource alert

Request Type: GET

New Endpoint Description:

Modify Endpoint Description:

Add

Add the following filters (query params):

object

object_type

Modify

Remove

URL: /91/system/symmetrix/{symmetrixId}/alert

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: No change

Query Parameters: Attribute Name Type Description

object String Optional value that filters returned list to display alert names that have a specified object example: equal to "array=SRP_3" or contains "tag= _3"

object_type String Optional value that filters returned list to display alert names that have a specified object type example: equal to

Internal Use  Confidential 

"object_type=Symmetrix" or contains "tag= Symm"

Request Parameters: Not applicable

Response Parameters:

No change

2.9.12.2 GET (Object)

Resource alert

Request Type: GET

New Endpoint Description:

Modify Endpoint Description:

Add

Add the following attribtutes

array

object

object_type

Modify

Remove

URL: /91/system/symmetrix/{symmetrixId}/alert /{alertId}

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: No change

Query Parameters: Not applicable

Request Parameters: Not applicable

Response Parameters:

Object TagResult

Attribute Name Type Optional Description

array

string Yes The array that the alert was generated on

Internal Use  Confidential 

object

string Yes The array object that the alert was generated on example: Finance_SG

object_type string Yes The type of array object that the alert was generated on example: Storage Group

2.9.12.2.1 Sample JSON response

{

"alertId": "fcc9f205-9348-4735-b89e-d1c5c92f8a51",

"state": "NEW",

"severity": "NORMAL",

"type": "ARRAY",

array: 000197800128,

"object": "SRP_Three",

object_type: Storage Resource Pool,

"created_date": "Nov-29-2018 16:37:52.000",

"created_date_milliseconds": 1543509472000,

"description": "The FBA Effective used capacity for SRP has changed to 0 percent. - Object is: 000197800128:SRP_Three",

"acknowledged": false

}

Internal Use  Confidential 

2.10 DSA

TBD

Internal Use  Confidential 

2.11 Management

TBD

Internal Use  Confidential 

2.12 Common

TBD

2.13 Version

2.13.1 version

2.13.1.1 GET (Object)

Resource version

Request Type: GET

New Endpoint Description:

Add new endpoint to return API-level information.

Modify Endpoint Description:

Add

Modify

Remove

URL: /version/

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: No change

Query Parameters: N/A

Request Parameters: Not applicable

Response Parameters:

Object TagResult

Attribute Name Type Optional Description

version

string Yes The release version of the currently-running API

Internal Use  Confidential 

2.13.1.1.1 Sample JSON response

{

"version": "T9.1.0.955"

}

Internal Use  Confidential 

3 Appendix

3.1 Basic Authentication

Unisphere for VMAX REST API authorization is implemented using HTTP Basic Access Authentication. Basic Access Authentication allows the user to send an unencrypted Base64-encoded string that contains a username and password to the Unisphere for VMAX server.

Anonymous requests for a protected resource are rejected with a 401 (Access Denied) status code.

Known requests are validated against the existing Unisphere for VMAX users:

o Administrator o Storage administrator o Security administrator o Monitor o Auditor o Performance monitor

3.2 Request Types

3.2.1 GET (OBJECT)

3.2.1.1 Sample

Resource storagegroup

Request Type: GET

New Endpoint Description:

Gets a storage group Object

Modify Endpoint Description:

Add

Modify

Remove

URL: /84/sloprovisioning/symmetrix/{symmetrixId}/storagegroup/{storagegroupId}

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: Attribute Name Type Optional Description

symmetrixId String No Unique identifier of the symmetrix

storageGroupId String No The Storage Group Name

Query Parameters: Not applicable

Internal Use  Confidential 

Request Parameters:

Not applicable

Response Parameters:

Object storageGroup

Attribute Name Type Optional Description

storageGroupId String No Unique identifier of the storage group instance

slo String Yes SLO that is associated with the storage group

srp String Yes SRP that is associated with the storage group

hostIOLimit HostIOLimitType Yes SRP that is associated with the storage group

And so on

Object HostIOLimitType

Attribute Name Type Optional Description

host_io_limit_mb_sec String No The Host MB/s limit for the storage group

host_io_limit_io_sec String Yes The Host IO/s limit for the storage group

dynamicDistribution String Yes The dynamic distribution type, which can have "never", "always", or "on_failure" values

3.2.1.2 Response Codes

Response status code Description 200 OK. The request is successful 401 Returned if an incorrect username, password, or both are specified 403 Returned if the specified username and password are correct, but the user

is not authorized to make this request 404 Returned if the storage group [storageGroupId] on the Symmetrix

[SymmetrixId] system cannot be found. 500 Returned if a problem occurred when the system was retrieving the

resource:

3.2.1.3 Error codes:

Future work

3.2.2 GET (LIST)

3.2.2.1 Sample

Resource storagegroup

Request Type: GET

Internal Use  Confidential 

New Endpoint Description:

Get a List of storage group names

Modify Endpoint Description:

Add

Modify

Remove

URL: /84/sloprovisioning/symmetrix/{symmetrixId}/storagegroup

User Roles: Administrator/Storage Administrator/Security Administrator/Monitor/Auditor/Performance Monitor

Prerequisite: Not applicable

Path Parameters: Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

Query Parameters: Attribute Name Type Description

storageGroupId String An optional value that filters the returned list so it displays storage group names that contain the specified volume names only, for example, equal to "storageGroupId=gold_SG" or contain "storageGroupId=< like>gold"

sym_vol_name String An optional value that filters the returned list so it displays storage group names that contain the specified volumes names only, for example, equal to "sym_vol_name=00123" or contain "sym_vol_name=< like>12"

And so on

Request Parameters: Not applicable

Response Parameters: Object ListStorageGroupResult

Attribute Name Type Optional Description

storageGroupId String array No A list of storage group names

3.2.2.2 Response Codes

Response status code Description 200 OK. The request is successful 401 Returned if an incorrect username, password, or both are specified 403 Returned if the specified username and password are correct, but the user

is not authorized to make this request

Internal Use  Confidential 

500 Returned if a problem occurred when the system was retrieving the resource:

Exception:

If the list of objects does not include a symmetrixId in the URL, a 200 response code is returned with an array of authorized objects, for example, 84//sloprovisioning/symmetrix returns only the VMAXs that the user has permissions on.

3.2.2.3 Error codes:

Future work

3.2.3 POST

3.2.3.1 Sample

Resource storagegroup

Request Type:

POST

New Endpoint

Description :

Creates a storage group

Modify Endpoint

Description :

Add

Modify

Remove

URL: /84/sloprovisioning/symmetrix/{symmetrixId}/storagegroup

User Roles: Administrator/Storage Administrator

Prerequisit e:

Not applicable

Path Parameters

:

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

Query Parameters

:

Not applicable

Request Parameters

:

Object createStorageGroupParam

extends:

Internal Use  Confidential 

ConfigurationManagementParamType (See the Appendix for details.)

Attribute Name Type Option al

Description

storageGroupId String No Unique identifier of the new storage group instance

create_empty_storage_grou p

boolean Yes An empty storage group is created if you set this parameter to true. This parameter overrides any other create setting.

sloBasedStorageGroupPara m

SloBasedStorageGroupParamTy pe

Yes This parameter is required to create a SLO- based storage group. Multiple occurrence s create multiple child storage groups.

And so on

Object SloBasedStorageGroupParamType

Attribute Name Type Optional Description

sloId

String No The SLO that is to be associated with the storage group

volumeAttribute

VolumeAttributeType No Size of each volume that is to be added to the storage group

And so on

Internal Use  Confidential 

Object VolumeAttributeType

Attribute Name Type Optional Description

volume_size String No The size of the volume

capacityUnit String enum:

CYL

MB

GB

TB

No Unit of capacity

Response Parameters

:

SYNCHRONOUS:

Object storageGroup

Attribute Name Type Optional Description

is detailed in the GET method.

ASYNCHRONOUS:

Object job

Attribute Name Type Optional Description

is detailed in the Appendix.

3.2.3.2 Response Codes

Response status code Description 200 OK, returned when endpoint is used for operations that do NOT create a

Resource using SYNCHRONOUS execution option. 201 Created, returned when Resource is created using SYNCHRONOUS

execution option. 202 Accepted, returned when the request to create the resource is accepted

using the ASYNCHRONOUS execution option. 400 Returned when an error occurs with the validation of the Request payload ,

for example: must be 1-64 alphanumeric, '_', or '-' characters

401 Returned if an incorrect username, password, or both are specified 403 Returned if the specified username and password are correct, but the user

is not authorized to make this request 409 Returned if the requested resource already exists. 500 Returned if a problem occurred when the system was creating the

resource:

3.2.3.3 Error codes:

Future work

3.2.3.4 Response Header

Asynchronous

Internal Use  Confidential 

The URL of the job

Example: restapi/84/system/job/{jobId}

Synchronous:

The URL of the resource that is being created:

Example:restapi/84/sloprovisioning/symmetrix/{symmetrixId}/storagegroup/{storageGroupId}

3.2.4 PUT

3.2.4.1 Sample

Resource storagegroup

Request Type:

PUT

New Endpoint

Description:

Modifies a storage group

Modify Endpoint

Description:

Add

Modify

Remove

URL: /84/sloprovisioning/symmetrix/{symmetrixId}/storagegroup/{storageGroupID}

User Roles: Administrator/Storage Administrator

Prerequisite :

Not applicable

Path Parameters:

Attribute Name Type Description

symmetrixId String Unique identifier of the symmetrix

storageGroupId String The Storage Group Name

Query Parameters:

Not applicable

Request Parameters:

Object editStorageGroupParam

extends:

ConfigurationManagementParamType (See the Appendix for details.)

Attribute Name Type Optional Description

Internal Use  Confidential 

editStorageGroupActionParam

EditStorageGroupParamType

No Select one of the Edit Options to modify the specified storage group

Object EditStorageGroupParamType

Attribute Name Type Optiona l

Descriptio n

renameStorageGroupPara m

RenameStorageGroupParamTyp e

Yes Renames the specified storage group

editStorageGroupSLOPara m

EditStorageGroupSLOParamTyp e

Yes Edit the SG SLO Applicable to stand- alone and child storage groups only

and so on.

Object RenameStorageGroupParamType

Attribute Name Type Optional Description

new_storage_Group_name

String No The New Storage Group Name.

Object EditStorageGroupSLOParamType

Attribute Name Type Optional Description

sloId String No The New SLO Selection

Response Parameters: SYNCHRONOUS:

Object storageGroup

Attribute Name Type Optional Description

is detailed in the GET method.

ASYNCHRONOUS:

Internal Use  Confidential 

Object job

Attribute Name Type Optional Description

is detailed in the Common Objects section.

3.2.4.2 Response Codes

Response status code Description 200 Ok, returned when Resource is edited using SYNCHRONOUS execution

option. 202 Accepted, returned when the request to edit the resource is accepted using

the ASYNCHRONOUS execution option. Note: In some rare circumstances, such as unmapping all volumes from a cu image, the cu image no longer exists; hence, there is no object or content to be returned. In these circumstances, a 204: No content will be returned after the job completes

400 Returned when an error occurs with the validation of the Request payload , for example: must be 1-64 alphanumeric, '_', or '-' characters

401 Returned if an incorrect username, password, or both are specified 403 Returned if the specified username and password are correct, but the user

is not authorized to make this request 409 Returned if the requested resource already exists. 500 Returned if a problem occurred when the system was editing the

resource:

3.2.4.3 Error codes:

Future work

3.2.4.4 Response Header:

Asynchronous:

The URL of the job

For example, restapi/84/system/job/{jobId}

Synchronous:

A URI Header cannot be passed back in a 200(ok) Response

3.2.5 DELETE

3.2.5.1 Sample

Resource storagegroup

Request Type: DELETE

New Endpoint Description:

Deletes a storage group

Modify Endpoint Description:

Add

Modify

Internal Use  Confidential 

Remove

URL: /84/sloprovisioning/symmetrix/{symmetrixId}/storagegroup/{storagegroupId}

User Roles: Administrator/Storage Administrator

Prerequisite: Not applicable

Path Parameters: Attribute Name Type Optional Description

symmetrixId String No Unique identifier of the symmetrix

storageGroupId String No The Storage Group Name

Query Parameters: Not applicable

Request Parameters:

Not applicable

Response Parameters:

No content

3.2.5.2 Response Codes:

Response status code Description 204 No Content, returned when Resource is deleted successfully 401 Returned if an incorrect username, password, or both are specified 403 Returned if the specified username and password are correct, but the user

is not authorized to make this request 404 Returned if the requested resource cannot be found 500 Returned if a problem occurred when the system was deleting the

resource:

3.2.5.3 Error codes:

Future work

3.3 Common Objects

3.3.1 Iterator

An Iterator is a paged list of objects that is cached for a set period of time. Until the expiry time has been reached, the list of objects can be queried by page from the following locations:

/restapi/common/Iterator/{iteratorId}

../restapi/common/Iterator/{iteratorId}/page?from=1050&to=1100

Object iterator

Internal Use  Confidential 

Attribute Name Type Optional Description

id String No Unique iterator identifier that is used to look up the result until the expiry time is reached

count int No Total number of result objects

ExpirationTime String No Unix timestamp that shows when the result will be removed from cache and no longer queryable

maxPageSize int No Maximum number of results that is allowed per result list page

result Object Array No Array of objects that is returned

3.3.1.1 Sample Object Array:

Object Iterator that contains list of:

daysToFullResultType

Attribute Name Type Optional Description

projectionDaysToFull float Yes Number of days until the specified category will be full, - to a maximum of 180 days

ProjectionMaxProjectedData

float Yes Maximum number of days that will be projected

ProjectionCapacityTrend

float Yes Projected capacity

PercentUsedCapacity

double Yes Current percentage of used capacity

TotalPoolCapacityGB

double Yes Current total capacity

instanceId

String No The unique identifier of the returned category object

3.3.1.1.1 Sample JSON Response:

{

"resultList": {

"result": [

{

"ProjectionDaysToFull": 181,

"ProjectionMaxProjectedData": 180,

"ProjectionCapacityTrend": 0,

"PercentUsedCapacity": 35.10973774908589,

"TotalPoolCapacityGB": 45727.2,

"instanceId": "000000000001"

}

],

"from": 1,

Internal Use  Confidential 

"to": 1

},

"id": "31d90275-c8d3-42d2-ab98-0343a3b3b16e_0",

"count": 1,

"expirationTime": 1474474773510,

"maxPageSize": 1000

}

3.3.2 Job

Object job

Attribute Name Type Optional Description

jobId String No Unique identifier of the job instance

name String Yes Name of the job

status JobStatus enum:

CREATED SCHEDULED RUNNING SUCCEEDED FAILED ABORTED UNKNOWN VALIDATING VALIDATED VALIDATE_FAILED INVALID RETRIEVING_PICTURE

No Current status of the job

username string No User who initiated the job

last_modified_date String Yes Date the job was last modified

last_modified_date_milliseconds String Yes Date the job was last modified in milliseconds

scheduled_date String No Date the job was last scheduled

scheduled_date_milliseconds String Yes Date the job was last scheduled in milliseconds

completed_date String Yes Date the job was completed

completed_date_milliseconds String Yes Date the job was last completed in milliseconds

task TaskType Yes Current status of the job

resourceLink String Yes URL of the object that is created, when applicable

result String Yes Description of the job outcome, its failure or success

Internal Use  Confidential 

Object TaskType

Attribute Name Type Optional Description

execution_order int Yes Order of the task

description String Yes Description of the task

3.3.2.1 Sample JSON Response:

{

"jobId": "1476181321815",

"name": "Create SAMPLE_REST_PG ",

"status": " SUCCEEDED ",

"username": "smc",

"last_modified_date": "Oct-11-2016 11:22:01.817",

"last_modified_date_milliseconds": 1476181321817,

"scheduled_date": "",

"scheduled_date_milliseconds": 0,

"completed_date": " Oct-11-2016 11:22:01.817",

"completed_date_milliseconds": 1476181321817,

"task": [

{

"execution_order": 1,

"description": "Create Port Group : SAMPLE_REST_PG"

}

],

"resourceLink": https://IP_ADDRESS:8443/univmax/restapi/84/sloprovisioning/symmetrix/{symmetrixId}/portgroup/SAMP LE_REST_PG,

"result": "SUCCEEDED - Started job execution on Fri 27 Jan 2017 07:57:59 AM GMT

Finished job execution on Fri 27 Jan 2017 07:58:49 AM GMT

Successfully created volume(s): 01076",

}

3.3.2.2 Response Codes:

Response status code Description 200 Ok, returned when Resource is retrieved successfully 401 Returned if an incorrect username, password, or both are specified 403 Returned if the specified username and password are correct, but the user

is not authorized to make this request 404 Returned if the requested resource cannot be found 500 Returned if a problem occurred when the system was retrieving the

resource:

Internal Use  Confidential 

3.3.2.3 Error codes:

Future work

3.3.3 Configuration Management Type

Object ConfigurationManagementParamType

Attribute Name Type Optional Description

executionOption

String enum:

SYNCHRONOUS

ASYNCHRONOUS

Yes Indicates whether the requested configuration management request should run synchronously or asynchronously

3.4 Automatic Cleanup of REST API jobs

All asynchronous and synchronous configuration change requests that are made through the REST API create a Job resource. Over time, the number of completed jobs accumulates and, without a mechanism to delete those jobs via the REST API, system performance might be impacted.

Because REST API jobs can be considered temporary resources that are relevant only while jobs run and to preempt any performance degradation, an automatic REST API cleanup task could perform a valuable function by deleting completed jobs.

The following list provides the functional requirements for implementing the automatic cleanup of REST API jobs:

Only jobs that are created for REST API requests are eligible for automatic deletion. A cleanup task runs at a default of every 24 hours and deletes any eligible REST API jobs. A REST API job is eligible for deletion if it meets the following requirements:

o Its status is one of SUCCEEDED, FAILED, or ABORTED. o At least the 24-hour default has passed since the job completed.

The minimum time that must pass before a job is eligible for deletion is specified in hours, with a default value of 24. The valid range of values is from 1 to 32,767. The interval is configurable, and a new configuration requires an offline change to become active.

Automatic cleanup of REST API jobs is enabled by default, but it is configurable. Cleanup can be disabled, and any new configuration requires an offline change to become active

Manualsnet FAQs

If you want to find out how the EMC Dell works, you can view and download the Dell EMC VMAX 100K V9.1 Storage REST API Change Log on the Manualsnet website.

Yes, we have the REST API Change Log for Dell EMC as well as other Dell manuals. All you need to do is to use our search bar and find the user manual that you are looking for.

The REST API Change Log should include all the details that are needed to use a Dell EMC. Full manuals and user guide PDFs can be downloaded from Manualsnet.com.

The best way to navigate the Dell EMC VMAX 100K V9.1 Storage REST API Change Log is by checking the Table of Contents at the top of the page where available. This allows you to navigate a manual by jumping to the section you are looking for.

This Dell EMC VMAX 100K V9.1 Storage REST API Change Log consists of sections like Table of Contents, to name a few. For easier navigation, use the Table of Contents in the upper left corner.

You can download Dell EMC VMAX 100K V9.1 Storage REST API Change Log free of charge simply by clicking the “download” button in the upper right corner of any manuals page. This feature allows you to download any manual in a couple of seconds and is generally in PDF format. You can also save a manual for later by adding it to your saved documents in the user profile.

To be able to print Dell EMC VMAX 100K V9.1 Storage REST API Change Log, simply download the document to your computer. Once downloaded, open the PDF file and print the Dell EMC VMAX 100K V9.1 Storage REST API Change Log as you would any other document. This can usually be achieved by clicking on “File” and then “Print” from the menu bar.