HP 3PAR StoreServ 7200 2-node Manual

HP 3PAR StoreServ 7200 2-node Manual

Hp 3par web service api 1.2 developer's guide (qr482-96192, june 2013)
Hide thumbs Also See for 3PAR StoreServ 7200 2-node:
Table of Contents
HP 3PAR Web Services API 1.2 Developer's
Guide
Abstract
This guide provides instructions and reference information for the HP 3PAR Web Services API.
HP Part Number: QR482-96192
Published: June 2013
Edition: First
Table of Contents
loading

Summary of Contents for HP 3PAR StoreServ 7200 2-node

  • Page 1 HP 3PAR Web Services API 1.2 Developer's Guide Abstract This guide provides instructions and reference information for the HP 3PAR Web Services API. HP Part Number: QR482-96192 Published: June 2013 Edition: First...
  • Page 2 © Copyright 2012, 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty.
  • Page 3: Table Of Contents

    Contents 1 Introduction....................9 About the WSAPI........................9 Getting Started.........................9 Starting and Configuring the Server..................9 About the SDK........................9 Java SDK........................10 Perl SDK........................10 2 Accessing the WSAPI................11 Overview..........................11 Protocol and Message Format....................12 Client HTTP Headers......................12 Server HTTP Headers.....................13 Supported HTTP Methods....................14 General URI Format......................14 System Access........................14 Creating Credentials......................14 About Multiple Session Keys...................14...
  • Page 4 Removing a CPG........................35 CPG Removal Success......................35 CPG Removal Errors......................35 Querying CPG Information......................36 Querying All CPGs......................36 CPG Query Success......................37 CPG Query Errors......................37 Querying a Single CPG......................37 Single-CPG Query Success.....................37 Single-CPG Query Errors....................37 4 Working with Storage Volumes..............38 Volume Enumeration and Configuration Objects.................38 Volume provisioningType Enumeration Types................38 Volume CopyType Enumeration Types...................38 Volume state Enumeration Types...................38...
  • Page 5 All-ports Query Errors......................67 Querying A Single Port......................67 Single-port Query Success....................67 Single-port Query Errors.....................67 7 Working with Virtual LUNs................68 VLUN Configuration and Enumeration Objects................68 VLUN portPos Configuration Object..................68 VLUNtype Enumeration.......................68 VLUN multipathing Enumeration...................68 VLUN failedPathPol Enumeration..................69 Creating a VLUN........................69 VLUN Creation Success......................70 VLUN Creation Errors......................70 VLUN Creation Example.....................71 HTTP Request........................71...
  • Page 6 1 1 Documentation feedback................90 Index......................91 Contents...
  • Page 7 Tables Client HTTP Headers Supported by the HP 3PAR WSAPI for Requests........12 Server HTTP Headers in the WSAPI..................13 Session Key Message Body Member JSON Objects.............14 Message Body JSON Objects for Session Key Creation............15 Generic WSAPI code Member Status and Error Codes............17 Operation-specific API code Member Status and Error Codes..........20 API Types........................27 JSON Objects for CPG LDLayout..................29...
  • Page 8 Host portPos Configuration JSON Objects...............61 Host agent JSON Objects....................61 Host Query Errors......................62 Port portMode Enumeration.....................63 Port portLinkState Enumeration...................63 Port portConnType Enumeration..................64 Port portProtocol Enumeration..................65 Port portFailOverState Enumeration................65 Message Body JSON Objects for Port Collection..............66 Port Property JSON Objects..................66 Port Collection Message Body for a Single-port Query............67 Single-port Query Error Codes...................67 VLUN portPos JSON Objects..................68 VLUNType Enumeration....................68...
  • Page 9: Introduction

    1 Introduction This HP 3PAR Web Services API 1.2 Developer's Guide describes how to write a client that uses the HP 3PAR Web Services API (WSAPI) to manage HP 3PAR storage systems. HP 3PAR storage systems include both hardware components that store data, and software applications to manage data.
  • Page 10: Java Sdk

    Java SDK The Java SDK includes: Core "storage-entity" classes representing the attributes of HP 3PAR storage system objects (hosts, ports, CPGs, volumes, VLUNs, etc.) and input parameters (members) for creating objects. An example client interface which demonstrates the use of JavaScript Object Notation (JSON) processors with the base classes.
  • Page 11: Accessing The Wsapi

    2 Accessing the WSAPI Overview The HP 3PAR Web Services API (WSAPI) makes it possible to manage CPGs, hosts, ports, volumes, and VLUNs, and to query system information and available versus used storage space, through a series of HTTP or HTTPS requests. NOTE: For security reasons, HTTPS is the preferred choice and is used by default.
  • Page 12: Protocol And Message Format

    Protocol and Message Format Clients communicate with the WSAPI server using HTTPS and data structures represented with JSON. The supported JSON character encodings include the following formats: ASCII ISO-8859- 1 US-ASCII UTF-8 UTF- 1 6 UTF-32 UTF- 1 6BE UTF-32BE UTF- 1 6LE UTF-32LE Client HTTP Headers...
  • Page 13: Server Http Headers

    Table 1 Client HTTP Headers Supported by the HP 3PAR WSAPI for Requests (continued) Header Description Values Required The format of the body. Yes, for requests Content-Type application/json with a message body. A key associated with the The result of a credentials creation Yes, except for a X-HP3PAR-WSAPI-SessionKey user that created...
  • Page 14: Supported Http Methods

    Supported HTTP Methods This section summarizes the HTTP methods currently supported by the HP 3PAR WSAPI. These include: The HTTP GET method retrieves information identified by the request-URI. POST The HTTP POST method requests that an object described by the body of the request be created in the collection identified by the URI.
  • Page 15: About Session Key Security

    About Session Key Security Because session keys allow access to the storage server, client applications should not display session keys or otherwise make them visible to end users. Revealing a session key is similar to revealing a password in that an unauthorized person who obtains a session key can use it to access the storage server until the key is deleted.
  • Page 16: Deleting A Session Key

    Host: InServ1:8008 Accept: */* X-HP3PAR-WSAPI-SessionKey: 48A70B8A8301C458037E0821 Supported JSON sub-objects for the Accept: */* header are shown in Table 1 (page 12). Deleting a Session Key When a client is finished making requests to the server it should delete the session keys it created. This frees up server resources and allows for better server performance.
  • Page 17: Generic Wsapi Code Member Status And Error Codes

    Table 5 Generic WSAPI code Member Status and Error Codes API Error API Error Code HTTP Code Description An internal error has INT_SERV_ERR 500 Internal occurred in the server. Server Error Memory allocation failure. An SSL protocol violation INV_SSL 400 Bad Request has occurred.
  • Page 18 Table 5 Generic WSAPI code Member Status and Error Codes (continued) API Error API Error Code HTTP Code Description The server has reached its SVC_UNAVAIL 503 Service maximum number of Unavailable connections. The resource is in use. IN_USE 409 Conflict The representation UNSUP_REPRESENTATION 406 Not Acceptable...
  • Page 19 Table 5 Generic WSAPI code Member Status and Error Codes (continued) API Error API Error Code HTTP Code Description ref member contains the name of the member. Invalid HTTP header INV_HTTP_HEADER 400 Bad Request syntax. A request body contains INV_UTF 400 Bad Request a sequence of characters that is invalid for the...
  • Page 20: Operation-Specific Api Code Member Status And Error Codes

    Table 6 Operation-specific API code Member Status and Error Codes API Error API Error Code HTTP Code Description The client request INV_INPUT 400 Bad Request contains an invalid value. The CPG already EXISTENT_CPG 409 Conflict exists. The CPG does not NON_EXISTENT_CPG 404 Not Found exist.
  • Page 21 Table 6 Operation-specific API code Member Status and Error Codes (continued) API Error API Error Code HTTP Code Description Volume retention time RETAINED 409 Conflict has not expired. The virtual volume (VV) HAS_CHILD 409 Conflict has a child VV. No snapshot CPG has NO_SNAP_CPG 409 Conflict been configured for...
  • Page 22 Table 6 Operation-specific API code Member Status and Error Codes (continued) API Error API Error Code HTTP Code Description The VV retention time INV_INPUT_RETAIN_GT_EXPIRE 400 Bad Request is greater than the expiration time. An invalid policy INV_INPUT_VV_POLICY 400 Bad Request (e.g., system or caching) is specified for VV.
  • Page 23 Table 6 Operation-specific API code Member Status and Error Codes (continued) API Error API Error Code HTTP Code Description Invalid input: one of INV_INPUT_ONE_REQUIRED 400 Bad Request the parameters is required. The HTTP ref member contains a comma-separated list of parameters. (Since WSAPI 1.2) Invalid input: The INV_INPUT_BAD_LENGTH...
  • Page 24: The Desc Member

    Table 6 Operation-specific API code Member Status and Error Codes (continued) API Error API Error Code HTTP Code Description Invalid operation. INV_OPERATION_VV_VOLUME_ACCOUNTING_IN_PROGRESS 409 Conflict Volume accounting is in progress. (Since WSAPI 1.2) Invalid operation. INV_OPERATION_VV_ZERO_DETECT_TPVV 403 Forbidden Zero detect policy on TPVV.
  • Page 25: The Ref Member

    The ref Member In the event of an error that may occur for several reasons, the ref member may specify the reason for the error. For example, if the client were to send an incorrect value for a JSON member, then the server may be able to identify which member had the incorrect value.
  • Page 26: Null Members

    For example, to create a volume, the only members required are the name of the volume, the name of the CPG that provides disk space for the volume, and the size of the volume. Optional members include the ID of the volume and a comment. When constructing a JSON object, optional members may be omitted or set to values that indicate the server should ignore them.
  • Page 27: Json Types And Api Types

    The values defined for an enumeration start with 1; the value 0 is unused. When using tools that deserialize JSON into a class, this allows an omitted property of enumeration type to be detected, since the member will not be assigned a non-zero value of a property and will retain its default or preset value of 0.
  • Page 28 Table 7 API Types (continued) Type Description An empty string enclosed in quotation marks (“”) represents a name with no characters. An unset name is represented in JSON as null. JSON string of 51 1 or fewer characters. print511 JSON number restricted to a 32-bit unsigned number. uint32 JSON string of 16 or 32 characters.
  • Page 29: Working With Common Provisioning Groups

    3 Working with Common Provisioning Groups You can use a common provisioning group (CPG) to create a virtual pool of logical disks that allows virtual volumes to share the resources of the CPG and allocates space on demand. You can create fully-provisioned virtual volumes (FPVVs) and thinly-provisioned virtual volumes (TPVVs) that draw space from the logical disk pool.
  • Page 30: Cpg Ha Enumeration

    CPG HA Enumeration Upon creation, modification, or query, specify the high–availability (HA) setting as a JSON object HA with an enumeration based on Table 10 (page 30). Table 10 CPG HA Enumeration Symbol Value Description Support failure of a port. PORT Support failure of a drive cage.
  • Page 31: Cpg Disktype Enumeration

    Table 12 CPG diskPatterns JSON Object (continued) Ignored Member Value values Description string Null Specifies one or more drive magazines. Drive magList magazines are identified by one or more integers. Multiple drive magazines are separated with a single comma (1,2,3). A range of drive magazines is separated with a hyphen (0–7).
  • Page 32: Cpg Space Usage Objects

    CPG Space Usage Objects The SDUsage, SAUsage and UsrUsage objects, all of which use the same members, are sub-objects of the cpg object returned by queries. Those members are listed in Table 14 (page 32). Table 14 CPG SDUsage, SAUsage, and UsrUsage JSON Objects Member JSON Type API Type...
  • Page 33: Creating A Cpg

    Table 17 CPG DetailedState Enumeration Symbol Value Description Admin space at limit. SA_LIMIT_REACHED Copy space at limit. SD_LIMIT_REACHED Admin space grow failed. SA_GROW_FAILED Copy space grow failed. SD_GROW_FAILED Admin space at warning level. SA_WARN_REACHED Copy space at warning level. SD_WARN_REACHED Creating a CPG To create a CPG, use the HTTP POST method in the URI: https://:8080/api/v1/cpgs...
  • Page 34: Cpg Creation Errors

    CPG Creation Errors If an error occurs, the system returns one of the error codes shown in Table 19 (page 34), or a general error code listed in “Generic WSAPI code Member Status and Error Codes” (page 17): Table 19 CPG Creation and Modification Error Codes API Error HTTP Code Description...
  • Page 35: Cpg Modification Success

    NOTE: Any user with Super, Service, or Edit role, or any role granted the cpg_set right, can perform this operation. Access to all domains is required for this operation. Table 20 CPG Modification JSON Objects Member JSON Type API Type Ignored Values Description Boolean...
  • Page 36: Querying Cpg Information

    Table 21 CPG Removal Error Codes API Error HTTP Code Description CPG not found. NON_EXISTENT_CPG 404 Not Found The CPG cannot be removed because it is in use by IN_USE 409 Conflict a volume. Querying CPG Information You can query for information about all the CPGs on the storage system or for information about a single CPG.
  • Page 37: Cpg Query Success

    Table 22 CPG Query members JSON Objects (continued) Member JSON Type API Type Description array of array of Detailed state of CPG. degradedStates numbers DetailedState enum array of array of Detailed state of CPG. additionalStates numbers DetailedState enum CPG Query Success Upon success, the HTTP status code 200: OK is returned.
  • Page 38: Working With Storage Volumes

    4 Working with Storage Volumes This chapter describes how to manage storage volumes. The sections apply to creation, modification, and query operations on storage volumes. You can perform the following operations on storage volumes: Query storage volume Create a storage volume Modify a storage volume (since WSAPI 1.2) Remove a storage volume Volume Enumeration and Configuration Objects...
  • Page 39: Volume Detailedstate Enumeration Types

    Table 27 Volume state Enumeration Symbol Value Description The virtual volume (VV) is operating normally. NORMAL VV is in degraded state. DEGRADED VV is operating abnormally. FAILED Volume DetailedState Enumeration Types Details of the volume's state are enumerated in Table 28 (page 39).
  • Page 40: Volume Policies Configuration Object

    Volume policies Configuration Object The policies of a volume are specified by the policies JSON object, as detailed in Table 29 (page 40). Table 29 Volume policies JSON Objects Member Value Description Boolean true: Stale snapshots. If there is no space for a staleSS copy-on-write operation, the snapshot is allowed to go stale but the host write can proceed without an...
  • Page 41: Creating A Storage Volume

    Creating a Storage Volume This section contains information on creating volumes, and includes the following topics: Create base volumes Create snapshot volumes NOTE: Any user with Super or Edit role, or any role granted the vv_create right (for base volumes) or sv_create (for snapshot volumes), can create a volume. Creating Base Volumes To create a storage volume, use the HTTP POST method in the URI: https://:8080/api/v1/volumes...
  • Page 42: Creating Snapshot Volumes

    Table 31 Message Body JSON Objects for Base-volume Creation (continued) Member JSON Type API Type Ignored Values Description warning. A warning alert is generated when the reserved snapshot space of the virtual volume exceeds the indicated percentage of the virtual volume size.
  • Page 43: Volume Creation Success

    is the name of the volume being copied. Message Body Members When creating a snapshot volume, the message body is a JSON object with two members, action and parameters. The action member is a string with the value createSnapshot and the parameters member is a JSON object with members as described in Table 32 (page 43).
  • Page 44: Modifying A Virtual Volume

    Table 33 Base-volume and Snapshot-volume Creation Error Codes (continued) API Error HTTP Code Description Allocation warning level is higher than the INV_INPUT_WARN_GT_LIMIT 400 Bad Request limit. User space allocation alerts are valid only INV_INPUT_USR_ALRT_NON_TPVV 400 Bad Request with TPVVs. Retention time is greater than expiration INV_INPUT_RETAIN_GT_EXPIRE 400 Bad Request time.
  • Page 45 Table 34 Message Body JSON Objects for Volume Modification Request (continued) Member JSON Type API Type Ignored Values Description (Since WSAPI 1.2) string name31 None User CPG name. userCPG (Since WSAPI 1.2) number igint32 Zero and negative User space allocation usrSpcAllocWarningPct values warning percent.
  • Page 46: Volume Modification Success

    Table 34 Message Body JSON Objects for Volume Modification Request (continued) Member JSON Type API Type Ignored Values Description (Since WSAPI 1.2) Boolean None If true, remove User rmUsrSpcAllocLimit Space allocation limit. If False, and limit value is 0, then ignore.
  • Page 47 Table 35 Volume Modification Request Error Codes (continued) API Error HTTP Code Description without the Virtual Lock license. Snap CPG is not in the CPG_NOT_IN_SAME_DOMAIN 403 Forbidden same domain as the user CPG. (Since WSAPI 1.2) Cannot modify a peer INV_OPERATION_VV_PEER_VOLUME 403 Forbidden volume.
  • Page 48: Removing A Storage Volume

    Removing a Storage Volume To remove a volume, use the HTTP DELETE method in the URI, with no message body: https://:8080/api/v1/volumes/ Storage Volume Removal Success A successful storage-volume removal returns the HTTP status code 200 OK. Storage Volume Removal Errors An error condition returns an error code as shown in Table 36 (page 48).
  • Page 49 Table 37 Message Body JSON Objects for Volume Query (continued) Member JSON Type API Type Description string name31 If the VV is a physical copy or virtual copyOf copy of another VV, this field indicates the VV that this VV is a copy of.
  • Page 50: All-Volumes Query Errors

    Table 37 Message Body JSON Objects for Volume Query (continued) Member JSON Type API Type Description exceeds the indicated percentage of the virtual volume size. number igint32 Sets a snapshot space allocation ssSpcAllocLimitPct limit. The snapshot space of the virtual volume is prevented from growing beyond the indicated percentage of the virtual volume size.
  • Page 51: Single-Volume Query Error Codes

    Table 39 Single-volume Query Error Codes API Error HTTP Code Description Volume does not exist. NON_EXISTENT_VOL 404 Not Found (Since WSAPI 1.2) Invalid character for volume name. INV_INPUT_ILLEGAL_CHAR 400 Bad request (Since WSAPI 1.2) Querying Volume Information...
  • Page 52: Working With Hosts

    5 Working with Hosts This chapter describes how to manage hosts. The sections apply to creation, modification, removal, and query operations on hosts. Creating a Host Create a host using the HTTP POST method. Use the following URI: https://:8080/api/v1/hosts Table 40 (page 52) shows the members that the message body can include.
  • Page 53: Host Creation Errors

    /api/v1/hosts/ For example: URL: https://:8080/api/v1/hosts Post: {"name":"apitesthost","persona":5} Response: HTTP/1.1 201 Created with with the location header: /api/v1/hosts/apitesthost Host Creation Errors Table 41 (page 53) shows possible host creation errors. For generic API error codes, see Table 5 (page 17).
  • Page 54: Modifying A Host

    Modifying a Host Modify a host using the HTTP POST method. Use the following URI: https://:8080/api/v1/hosts/ NOTE: Any user with Super or Edit role, or any role granted the host_set right, can perform this operation. Access to all domains is required for this operation. Table 42 (page 54) shows the members that the message body can include to make a host-modification request.
  • Page 55: Host Hosteditoperation Enumeration

    Table 42 Message Body JSON Objects for Host Modification Request (continued) Member JSON Type API Type Ignored Values Description string string Null The chap secret for the chapSecret host or the target (Since WSAPI 1.2) Boolean None If True, then chapSecretHex chapSecret is treated as Hex.
  • Page 56: Host Modification Success

    Table 45 Host hostPersona Enumeration (continued) Symbol Value Description Persona with capability of SoftInq. ONTAP_LEGACY Persona with capability of SubLun, VMWARE ALUA. Persona with capability of UARepLun, OPENVMS Lun0SCC. Host Modification Success Upon successful modification of a host, the HTTP code 200 OK is returned, and there is no message body.
  • Page 57 Table 46 Host Modification Error Codes (continued) API Error HTTP Code Description chapSecret, chapOperationMode, chapName, or chapSecretHex are for chap addition (not removal). pathOperation is specified and no INV_INPUT_ONE_REQUIRED 400 Bad Request FCWWNs or iSCSINames is specified. At least one WWN or iSCSI name should be specified.
  • Page 58: Removing A Host

    Table 46 Host Modification Error Codes (continued) API Error HTTP Code Description Setting persona with active export; EXPORTED_VLUN 409 Conflict remove a host path on an active export. Removing a non-existent path. NON_EXISTENT_PATH 400 Bad Request LUN number and persona capability LUN_HOSTPERSONA_CONFLICT 409 Conflict conflict.
  • Page 59: Host Descriptors Json Objects

    Table 48 Host Query JSON Objects (continued) Member JSON Type API Type Description (Since WSAPI 1.2) FCPaths Table 50 (page 60). FCPaths (Since WSAPI 1.2) iSCSIPaths Table 51 (page 60). iSCSIPaths (Since WSAPI 1.2) string name31 The domain or associated domain with this host.
  • Page 60: Host Fcpaths Json Objects

    Table 49 Host descriptors JSON Objects (continued) Member JSON Type Description (Since WSAPI 1.2) string Any additional information for the host. comment (Since WSAPI 1.2) When a host object is queried, it may include an array of one or more FCPaths objects. See Table 50 (page 60).
  • Page 61: Host Portpos Configuration Json Objects

    Table 51 Host iSCSIPaths JSON Objects (continued) Member JSON Type Description string HBA driver version driverVersion (Since WSAPI 1.2) string HBA host speed. hostSpeed (Since WSAPI 1.2) The FCPaths and iSCSIPaths sub-object of the host object may in turn contain a portPos sub-object.
  • Page 62: Host Query Errors

    Table 53 Host agent JSON Objects (continued) Member JSON Type API Type Description string Name255 Name of the host cluster clusterName of which the host is a member. (Since WSAPI 1.2) string Name255 Host clustering software in clusterSoftware use on host. (Since WSAPI 1.2) string Name255...
  • Page 63: Working With Ports

    6 Working with Ports This section defines API operations on ports. Port Configuration and Enumeration Objects The following tables show enumeration and configuration objects that are used by VLUN operations. The Inform API server configuration object portPos is defined in Table 52 (page 61).
  • Page 64: Port Portconntype Enumeration

    Table 56 Port portLinkState Enumeration (continued) Symbol Value Description Taking coredump. COREDUMP (Since WSAPI 1.2) Link is offline. OFFLINE (Since WSAPI 1.2) Firmware is dead. FWDEAD (Since WSAPI 1.2) Link is idle for reset. IDLE_FOR_RESET (Since WSAPI 1.2) DHCP is in progress. DHCP_IN_PROGRESS (Since WSAPI 1.2) Link reset is pending.
  • Page 65: Querying All Ports

    Table 58 Port portProtocol Enumeration Symbol Value Description Fibre Channel. (Since WSAPI 1.2) iSCSI. iSCSI (Since WSAPI 1.2) Fibre Channel over Ethernet FCOE (Since WSAPI 1.2) Internet Protocol (Remote Copy) (Since WSAPI 1.2) Serial-attached SCSI. (Since WSAPI 1.2) The HP 3PAR OS API server returns port failover state enumeration as shown in Table 59 (page 65).
  • Page 66: Message Body Json Objects For Port Collection

    Table 60 Message Body JSON Objects for Port Collection Member JSON Type API Type Description number int32 Number of port objects Total returned. (Since WSAPI 1.2) array of objects array of Port Property Storage port properties. members objects (Since WSAPI 1.2) The total is the number of objects in the collection.
  • Page 67: All-Ports Query Errors

    Table 61 Port Property JSON Objects (continued) Member JSON Type API Type Description :: format. (Since WSAPI 1.2) number portFailoverState Enum (Since WSAPI 1.2) failoverState string string For RCIP and iSCSI ports IPAddr only; not included in the JSON object for other ports. (Since WSAPI 1.2) string Name223...
  • Page 68: Working With Virtual Luns

    7 Working with Virtual LUNs This chapter describes the API operations you can perform on virtual logical unit numbers (VLUNs). A VLUN is a pairing between a virtual volume (VV) and a logical unit number (LUN), expressed as either a VLUN template or an active VLUN. A VLUN template sets up an association between a VV and one of the following combinations by establishing the export rule, the manner in which the volume is exported.
  • Page 69: Vlun Failedpathpol Enumeration

    Table 66 VLUN multipathing Configuration Enumeration Symbol Value Description Unknown. UNKNOWN Round Robin. ROUND_ROBIN Failover. FAILOVER VLUN failedPathPol Enumeration The API server will communicate the failed path monitoring method (failedPathPol) enumerated as shown in Table 67 (page 69). Table 67 VLUN failedPathPol Configuration Enumeration Symbol Value Description...
  • Page 70: Vlun Creation Success

    Table 68 Message Body JSON Objects for VLUN Template Request (continued) Member JSON Type API Type Description Ignored Values Boolean A VLUN change None* (optional) noVcn notification (VCN) not be issued after export (-novcn). Default: False. Boolean Existing lower priority None* (optional) overrideLowerPriority VLUNs will be overridden...
  • Page 71: Vlun Creation Example

    Table 69 VLUN Creation Error Codes (continued) API Error HTTP Code Description Since WSAPI 1.2. Missing volumeName or LUN or both hostname and INV_INPUT 400 Bad portPos members. Request Incomplete port info, specifying override option without hostname. Specified volume does not exist. NON_EXISTENT_VOL 404 Not found Specified hostname not found.
  • Page 72: Http Response

    "overrideLowerPriority":false HTTP Response HTTP/1.1 201 Created Date: Mon, 16 Apr 2012 06:44:26 GMT Server: hp3par-wsapi Cache-Control: no-cache Pragma: no-cache Location: /api/v1/vluns/test_vv02,252,mysystem,2:2:4 Removing a VLUN This section describes the HTTP request and response for removing a virtual volume’s SCSI LUN export definition from the system. To remove the VLUN definition, use the HTTP DELETE method in the URI: https://:8080/api/v1/vluns/,, [,][?
  • Page 73: Vlun Removal Example

    Table 71 VLUN Removal Error Codes API Error HTTP Code Description Incomplete VLUN information. INV_INPUT 400 Bad Request Invalid URL percent encoding. (Since WSAPI 1.2) Specified hostname not found. NON_EXISTENT_HOST 404 Not Found Incorrect LUN or volumeName NON_EXISTENT_VLUN 404 Not Found Specified port is invalid.
  • Page 74: All-Vluns Query Json Objects

    Table 72 All-VLUNs Query JSON Objects Member JSON Type API Type Description number int32 Number of VLUN objects total returned. array of objects Array of VLUN Property VLUN properties. members objects The members object is a JSON array of zero or more JSON objects – one for each VLUN on the system.
  • Page 75: All-Vluns Query Example

    All-VLUNs Query Example The example lists all the VLUN templates or active VLUNs, including all active and template VLUNs on the storage system: HTTP Request GET /api/v1/vluns HTTP/1.1 Host: storsys1.example.com:8080 Accept: application/json Content-Type: application/json X-HP3PAR-WSAPI-SessionKey: 2-33fe8891e288b34b3f914410e7cc7907-a93d1c50 HTTP Response {"total": 2, "members": [ "lun": 1, "volumeName": "vol1.0",...
  • Page 76: Querying A Single Vlun

    Querying a Single VLUN To query a single VLUN, use the HTTP GET method on the following URL: https://:8080/api/v1/vluns/ where: is the VLUN identifier returned in the location header after the VLUN was created. format can be one of the following: ◦...
  • Page 77: Single-Vlun Query Errors

    Table 75 JSON Objects for members object in Single-VLUN Query Response (continued) Member JSON Type API Type Description (Since WSAPI 1.2) object portPos object System port of VLUN portPos exported to. It includes node number, slot number, and cardPort number. number VLUNType enum VLUN type.
  • Page 78 Table 76 Single-VLUN Query Error Codes (continued) API Error HTTP Code Description Requested volume does not exist. NON_EXISTENT_VOL 404 Not found (Since WSAPI 1.2) Requested host does not exist. NON_EXISTENT_HOST 404 Not found Incorrect port specification. INV_INPUT_PORT_SPECIFICATION 400 Bad Request (Since WSAPI 1.2) Volume name or host name contains INV_INPUT_ILLEGAL_CHAR...
  • Page 79: Getting Storage System And Version Information

    8 Getting Storage System and Version Information This chapter describes how to get system-wide information and version information. Getting Storage System Information To query for storage system information, use the HTTP GET method in the URI, with no message body: https://:8080/api/v1/system NOTE: Getting system-wide storage-system information became available with WSAPI 1.2.
  • Page 80: Storage-System Query Errors

    Table 77 JSON Objects for Storage-system Query Response (continued) Member JSON Type API Type Description string print51 1 Any comment about the comment system. string print51 1 Time zone where the system timeZone is located Storage-system Query Errors Possible error codes are shown in Table 78 (page 80).
  • Page 81: Querying Available Space

    9 Querying Available Space This chapter describes querying for information about overall available space on the system, and about querying available space based on CPG and LD layout. Querying Overall System Capacity Space information can be queried for the overall capacity, for a given CPG name, or for an LDLayout object.
  • Page 82: Allocatedcapacity Json Objects

    Table 82 DeviceCapacity JSON Objects (continued) Member JSON Type API Type Description (Since WSAPI 1.2) failedCapacityMiB Number uint64 Failed capacity in MiB. failedCapacityMiB (Since WSAPI 1.2) Number uint64 Unavailable Capacity. unavailableCapacityMiB (Since WSAPI 1.2) AllocatedCapacity is a sub-object of the overall capacity object. Its JSON object members are shown in Table 83 (page 82).
  • Page 83: System Json Objects

    Table 84 Volumes JSON Objects (continued) Member JSON Type Value Range Description number uint64 User CPG space. CPGUserMiB (Since WSAPI 1.2) number uint64 The CPG (TPVVs and CPVVs) CPGUserUsedMiB allocated to user space that is in use. (Since WSAPI 1.2) number uint64 The CPG (TPVVs and CPVVs)
  • Page 84: Overall Available Space Query Errors

    Table 85 System JSON Objects (continued) Member JSON Type Value Range Description (Since WSAPI 1.2) number uint64 The system capacity allocated spareUsedMiB to spare resources in use. (Since WSAPI 1.2) number uint64 The system capacity allocated spareUnusedMiB to spare resources that are unused.
  • Page 85: Space Query Errors

    Table 87 JSON Objects for cpg Space Query Response (continued) Member JSON Type Value Range Description (Since WSAPI 1.2) Upon querying for space information based on an LDLayout object, the system will return a single JSON object. Its members are described in Table 89 (page 85).
  • Page 86: 10 Support And Other Resources

    10 Support and Other Resources Contacting HP For worldwide technical support information, see the HP support website: http://www.hp.com/support Before contacting HP, collect the following information: Product model names and numbers Technical support registration number (if applicable) Product serial numbers Error messages Operating system type and revision level Detailed questions Specify the type of support you are requesting:...
  • Page 87 For information about: See: Migrating data from one HP 3PAR storage system to another HP 3PAR-to-3PAR Storage Peer Motion Guide Configuring the Secure Service Custodian server in order to HP 3PAR Secure Service Custodian Configuration Utility monitor and control HP 3PAR storage systems Reference Using the CLI to configure and manage HP 3PAR Remote HP 3PAR Remote Copy Software User’s Guide...
  • Page 88 For information about: See: Planning for HP 3PAR storage system setup Hardware specifications, installation considerations, power requirements, networking options, and cabling information for HP 3PAR storage systems HP 3PAR 7200, 7400, and 7450 storage systems HP 3PAR StoreServ 7000 Storage Site Planning Manual HP 3PAR StoreServ 7450 Storage Site Planning Manual HP 3PAR 10000 storage systems HP 3PAR StoreServ 10000 Storage Physical Planning...
  • Page 89: Typographic Conventions

    Typographic conventions Table 91 Document conventions Convention Element Bold text Keys that you press Text you typed into a GUI element, such as a text box GUI elements that you click or select, such as menu items, buttons, and so on Monospace text File and directory names System output...
  • Page 90: Documentation Feedback

    1 1 Documentation feedback HP is committed to providing documentation that meets your needs. To help us improve the documentation, send any errors, suggestions, or comments to Documentation Feedback ([email protected]). Include the document title and part number, version number, or the URL when submitting your feedback.
  • Page 91 Index JSON object overall system capacity query response, Accept allocatedCapacityMB client HTTP header, JSON object member Accept-Language for storage-system query response, client HTTP header, ALPA_WAIT accessing enumeration for port operations, WSAPI, API type action epoch, JSON object Hex, for snapshot-volume creation, igint32, ACTIVE int32,...
  • Page 92 caching for host query, JSON object clusterNodes for volume operations, JSON object member CAGE for storage-system query response, enumeration for CPG operations, clusterSoftware cageList JSON object member JSON object member for host query, for CPG operations, clusterVersion cardPort JSON object member JSON object member for host query, for host query,...
  • Page 93 CopyType overall system capacity query response, enumeration for volume operations, CPGSnapshotUsedMiB copyType JSON object member JSON object member overall system capacity query response, for all-volumes query, CPGUserMiB COREDUMP JSON object member enumeration for port operations, overall system capacity query response, CPGUserUnusedMiB configuration objects for, JSON object member...
  • Page 94 desriptors for port query, JSON object enumeration, for host query, chunkletPosPref DetailedState for CPG operations, enumeration for CPG operations, CopyType enumeration for volume operations, for volume operations, device DetailedState JSON object member for CPG operations, for port query, for volume operations, DeviceCapacity diskType JSON object...
  • Page 95 host creation API error, host modification API error, enumeration for CPG operations, EXISTENT_ID enumeration for port operations, volume creation API error, FCCapacity EXISTENT_LUN JSON object member VLUN creation API error, overall system capacity query response, EXISTENT_PATH FCOE host creation API error, enumeration for port operations, host modification API error, FCPaths...
  • Page 96 enumeration for host modification, JSON object member GET see HTTP GET for all-VLUNs query response, growthIncrementMiB for single-VLUN query response, JSON object hostPersona for CPG creation, JSON object growthLimitMiB for host modification, JSON object hosts for CPG creation, creating, modifying, querying, removing, enumeration for CPG operations,...
  • Page 97 for querying CPG space, Integer vs. int attributes, for querying LDLayout space, INTERNAL_CONSISTENCY_ERROR supported, enumeration for volume operations, HTTP PUT internalMiB for modifying a CPG, JSON object member for modifying a volume, overall system capacity query response, supported, INV_INPUT HTTP request CPG creation and modification API error, format, host modification API error,...
  • Page 98 VLUN creation API error, volume modification API error, VLUN removal API error, INV_INPUT_RETAIN_GT_EXPIRE enumeration for port operations, volume creation API error, IPAddr volume modification API error, JSON object member INV_INPUT_TIME for host query, 59, 60, volume creation API error, for port query, volume modification API error, IPORT INV_INPUT_TOO_MANY_WWN_OR_iSCSI...
  • Page 99 enumeration for CPG operations, magList key, JSON object member see also session key for CPG operations, JSON object member major for creating a session key, JSON object member for storage-system version query response, management console see MC label masterNode JSON object member JSON object member for port query, for storage-system query response,...
  • Page 100 multiple session keys, host modification API error, host query API error, host removal API error, name single-VLUN query API error, JSON object VLUN creation API error, for CPG creation, VLUN removal API error, for CPG query, NON_EXISTENT_PATH JSON object member, host modification API error, for all-volumes query, NON_EXISTENT_PORT...
  • Page 101 OPENVMS persona enumeration for host modification, JSON object member, for host query, JSON object member pfcMask for host query, 59, JSON object member osPatch for port query, JSON object member PHYSICAL_COPY for host query, enumeration for volume operations, osVersion physParentId JSON object member JSON object member for host query,...
  • Page 102 Pragma JSON object member server HTTP header, for CPG operations, PRESERVED rawUsedMiB enumeration for volume operations, JSON object member print51 1 for CPG operations, API type, RCFC PROMOTING enumeration for port operations, enumeration for volume operations, RCIP protocol enumeration for port operations, format, READ_SECTOR0 JSON object member...
  • Page 103 rmExpTime enumeration for CPG operations, JSON object member SA_WARN_REACHED for volume modification, enumeration for CPG operations, rmGrowthLimit SAGrowth JSON object member JSON object for modifying CPGs, for CPG operations, rmSsSpcAllocLimit for CPG query, JSON object member for volume modification, enumeration for port operations, rmSsSpcAllocWarning SAUsage JSON object member...
  • Page 104 timed expiration of, space available WSAPI, querying, session key creation space JSON objects example, for volume operations, example using cURL, space query success response, error codes, session key deletion spareMiB error codes, JSON object member success response, overall system capacity query response, setSize spareUnusedMiB JSON object member...
  • Page 105 success response totalChunkletsLessThan all-VLUNs query, JSON object member SUSPENDED for CPG operations, enumeration for port operations, totalMiB sv_create JSON object member permissions for, for CPG operations, symbols in text, overall system capacity query response, System totalNodes JSON object JSON object member overall system capacity query response, for storage-system query response, system...
  • Page 106 for querying all volumes, for CPG operations, for querying CPG space, for CPG query, for querying hosts, uuid for querying LDLayout space, JSON object for querying overall system capacity, for CPG query, for querying system information, JSON object member for querying version information, for all-volumes query, for removing a CPG, for removing a host,...
  • Page 107 volume modification error codes, X-HP3PAR-WSAPI-SessionKey message body JSON objects, client HTTP header, success response, using, volume query error codes, enumeration for port operations, success response, 48, volume removal error codes, zeroDetect success response, JSON object volumeName for volume operations, JSON object for VLUN template creation, JSON object member for all-VLUNs query response,...

Table of Contents