Protocols NVMe subsystem-maps endpoint overview
Contributors
Suggest changes
- PDF of this doc site
Collection of separate PDF docs
Creating your file...
This may take a few minutes. Thanks for your patience.
Your file is ready
Overview
An NVMe subsystem map is an association of an NVMe namespace with an NVMe subsystem. When an NVMe namespace is mapped to an NVMe subsystem, the NVMe subsystem's hosts are granted access to the NVMe namespace. The relationship between an NVMe subsystem and an NVMe namespace is one subsystem to many namespaces.
The NVMe subsystem map REST API allows you to create, delete and discover NVMe subsystem maps.
Examples
Creating an NVMe subsystem map
# The API: POST /api/protocols/nvme/subsystem-maps # The call: curl -X POST 'https://<mgmt-ip>/api/protocols/nvme/subsystem-maps' -H 'Accept: application/hal+json' -d '{ "svm": { "name": "svm1" }, "subsystem": { "name": "subsystem1" }, "namespace": { "name": "/vol/vol1/namespace1" } }'
Retrieving all of the NVMe subsystem maps
# The API: GET /api/protocols/nvme/subsystem-maps # The call: curl -X GET 'https://<mgmt-ip>/api/protocols/nvme/subsystem-maps' -H 'Accept: application/hal+json' # The response: { "records": [ { "svm": { "uuid": "0e91b214-fe40-11e8-91a0-005056a79967", "name": "svm1", "_links": { "self": { "href": "/api/svm/svms/0e91b214-fe40-11e8-91a0-005056a79967" } } }, "subsystem": { "uuid": "580a6b1e-fe43-11e8-91a0-005056a79967", "name": "subsystem1", "_links": { "self": { "href": "/api/protocols/nvme/subsystems/580a6b1e-fe43-11e8-91a0-005056a79967" } } }, "namespace": { "uuid": "3ccdedc6-2519-4206-bc1f-b0f4adab6f89", "name": "/vol/vol1/namespace1", "_links": { "self": { "href": "/api/storage/namespaces/3ccdedc6-2519-4206-bc1f-b0f4adab6f89" } } }, "_links": { "self": { "href": "/api/protocols/nvme/subsystem-maps/580a6b1e-fe43-11e8-91a0-005056a79967/3ccdedc6-2519-4206-bc1f-b0f4adab6f89" } } } ], "num_records": 1, "_links": { "self": { "href": "/api/protocols/nvme/subsystem-maps" } } }
Retrieving a specific NVMe subsystem map
The NVMe subsystem map is identified by the UUID of the NVMe subsystem followed by the UUID of the NVMe namespace.
# The API: GET /api/protocols/nvme/subsystem-maps/{subsystem.uuid}/{namespace.uuid} # The call: curl -X GET 'https://<mgmt-ip>/api/protocols/nvme/subsystem-maps/580a6b1e-fe43-11e8-91a0-005056a79967/3ccdedc6-2519-4206-bc1f-b0f4adab6f89' -H 'Accept: application/hal+json' # The response: { "svm": { "uuid": "0e91b214-fe40-11e8-91a0-005056a79967", "name": "svm1", "_links": { "self": { "href": "/api/svm/svms/0e91b214-fe40-11e8-91a0-005056a79967" } } }, "subsystem": { "uuid": "580a6b1e-fe43-11e8-91a0-005056a79967", "name": "subsystem1", "_links": { "self": { "href": "/api/protocols/nvme/subsystems/580a6b1e-fe43-11e8-91a0-005056a79967" } } }, "namespace": { "uuid": "3ccdedc6-2519-4206-bc1f-b0f4adab6f89", "name": "/vol/vol1/namespace1", "node": { "name": "node1", "uuid": "012b4508-67d6-4788-8c2d-801f254ce976", "_links": { "self": { "href": "/api/cluster/nodes/012b4508-67d6-4788-8c2d-801f254ce976" } } }, "_links": { "self": { "href": "/api/storage/namespaces/3ccdedc6-2519-4206-bc1f-b0f4adab6f89" } } }, "nsid": "00000001h", "_links": { "self": { "href": "/api/protocols/nvme/subsystem-maps/580a6b1e-fe43-11e8-91a0-005056a79967/3ccdedc6-2519-4206-bc1f-b0f4adab6f89" } } }
Deleting an NVMe subsystem map
# The API: DELETE /api/protocols/nvme/subsystem-maps/{subsystem.uuid}/{namespace.uuid} # The call: curl -X DELETE 'https://<mgmt-ip>/api/protocols/nvme/subsystem-maps/580a6b1e-fe43-11e8-91a0-005056a79967/3ccdedc6-2519-4206-bc1f-b0f4adab6f89' -H 'Accept: application/hal+json'