Create Storage Fabric

The Create Storage Fabric operation creates a new Storage Fabric object.

HTTP method and URI

POST /api/storage-fabrics

Request body contents

The request body is expected to contain a JSON object with the following fields:

Field name Type Rqd/Opt Description
cpc-uri String/ URI Required The value to be set as the storage fabric’s cpc-uri property.
name String (1-64) Required The value to be set as the storage fabric's name property.
description String (0-1024) Optional The value to be set as the storage fabric's description property.
high-integrity Boolean Optional The value to be set as the storage fabric's high-integrity property.

Response body contents

On successful completion, the response body is a JSON object with the following fields:

Field name Type Description
object-uri String/ URI The Object URI of the newly created Storage Fabric object.

Description

This operation creates an alternate storage fabric with the values specified and then returns its object-uri in the response body. The response also includes a Location header that provides this URI. An Inventory Change notification is emitted asynchronously to this operation.

If the API user does not have action/task permission to the Configure Storage – System Programmer or Configure Storage – Storage Administrator tasks, a 403 (Forbidden) status code is returned. If the cpc-uri field in the request body contains a URI that does not identify a CPC object to which the API user has object-access permission, a 404 (Not Found) status code is returned. If the FICON® configuration associated with the CPC identified by the cpc-uri field in the request body already contains a storage fabric with the specified name, a 400 (Bad Request) status code is returned. If the CPC identified by the cpc-uri field is not enabled for DPM or does not have the dpm-storage-management feature enabled, or if direct connections between storage subsystems and adapter ports exist, a 409 (Conflict) status code is returned.

If the request body fails to validate, a 400 (Bad Request) status code is returned.

If the request body contents are valid, the storage fabric is created and its properties are set to their corresponding request body content's field's values. If a field is not found in the request body, its property's value will be defaulted.

Authorization requirements

This operation has the following authorization requirements:
  • Object-access permission to the CPC whose object-uri is cpc-uri.
  • Action/task permission to the Configure Storage – System Programmer or Configure Storage – Storage Administrator tasks.

HTTP status and reason codes

On success, HTTP status code 201 (Created) is returned and the response body is provided as described in Response body contents.

The following HTTP status codes are returned for the indicated errors, and the response body is a standard error response body providing the reason code indicated and the associated error message.

Table 1. Create Storage Fabric: HTTP status and reason codes
HTTP error status code Reason code Description
400 (Bad Request) Various Errors were detected during common request validation. See Common request validation reason codes for a list of the possible reason codes.
8 A storage fabric with the name specified in the request body already exists within the FICON configuration associated with the CPC identified by the cpc-uri specified in the request body.
403 (Forbidden) 1 The API user does not have action/task permission to the Configure Storage – System Programmer or Configure Storage – Storage Administrator tasks.
404 (Not Found) 2 A CPC identified by the cpc-uri field does not exist on the HMC or the API user does not have object-access permission for it.
409 (Conflict) 5 The CPC identified by the cpc-uri field is not enabled for DPM.
13

The CPC identified by the cpc-uri field does not support the dpm-storage-management feature.

329 The operation cannot be performed because the CPC identified by the cpc-uri field is an unmanaged CPC, which is not supported by this operation.
455 One or more direct physical connections between a storage subsystem and an adapter port exist.
503 (Service Unavailable) 1 The request could not be processed because the HMC is not currently communicating with the SE needed to perform the requested operation.

Additional standard status and reason codes can be returned, as described in Invoking API operations.

Example HTTP interaction

Figure 1. Create Storage Fabric: Request
POST /api/storage-fabrics HTTP/1.1
x-api-session: 1r6vll1yh6tywdhmm5b7jvgf7zyf1g5r5ofs7tmmwcp6a58sx
content-type: application/json
content-length: 81
{
   "cpc-uri":"/api/cpcs/e4f159ce-82a2-32a9-b8f2-de66c9b02e7e",
   "name":"Fabric A"
}
Figure 2. Create Storage Fabric: Response
201 Created
server: Hardware management console API web server / 2.0
location: /api/storage-fabrics/08ad557c-9436-11e8-9c43-fa163e27d492
cache-control: no-cache
date: Mon, 30 Jul 2018 20:20:41 GMT
content-type: application/json;charset=UTF-8
content-length: 74
{
   "object-uri":"/api/storage-fabrics/08ad557c-9436-11e8-9c43-fa163e27d492"
}

Usage notes

Each CPC maintains its own view of the physical storage fabric. When a list operation is targeted at a console, there will likely be multiple storage fabric instances returned that represent the same physical fabric – one for each CPC to which that physical fabric is configured. There is no intrinsic storage fabric property that can be used to correlate storage fabric instances that represent the same physical fabric. It is therefore recommended that API clients adopt a naming convention that ensures storage fabrics that represent the same physical fabric have the same value of their respective name properties.