Protocols SAN iSCSI services endpoint overview
Overview
An iSCSI service defines the properties of the iSCSI target for an SVM. There can be at most one iSCSI service for an SVM. An SVM's iSCSI service must be created before iSCSI initiators can log in to the SVM.
The iSCSI service REST API allows you to create, update, delete, and discover iSCSI services for SVMs.
Examples
Creating an iSCSI service for an SVM
The simplest way to create an iSCSI service is to specify only the SVM, either by name or UUID. By default, the new iSCSI service is enabled and uses the SVM name as its target alias.
In this example, the return_records
query parameter is used to retrieve the new iSCSI service object in the REST response.
# The API: POST /api/protocols/san/iscsi/services # The call: curl -X POST 'https://<mgmt-ip>/api/protocols/san/iscsi/services?return_records=true' -H 'accept: application/hal+json' -d '{ "svm": { "name": "svm1" } }' # The response: { "num_records": 1, "records": [ { "svm": { "uuid": "19d04b8e-94d7-11e8-8370-005056b48fd2", "name": "svm1", "_links": { "self": { "href": "/api/svm/svms/19d04b8e-94d7-11e8-8370-005056b48fd2" } } }, "enabled": true, "target": { "name": "iqn.1992-08.com.netapp:sn.19d04b8e94d711e88370005056b48fd2:vs.4", "alias": "svm1" }, "_links": { "self": { "href": "/api/protocols/san/iscsi/services/19d04b8e-94d7-11e8-8370-005056b48fd2" } } } ] }
Retrieving the iSCSI services for all SVMs in the cluster
# The API: GET /api/protocols/san/iscsi/services # The call: curl -X GET 'https://<mgmt-ip>/api/protocols/san/iscsi/services' -H 'accept: application/hal+json' # The response: { "records": [ { "svm": { "uuid": "19d04b8e-94d7-11e8-8370-005056b48fd2", "name": "svm1", "_links": { "self": { "href": "/api/svm/svms/19d04b8e-94d7-11e8-8370-005056b48fd2" } } }, "_links": { "self": { "href": "/api/protocols/san/iscsi/services/19d04b8e-94d7-11e8-8370-005056b48fd2" } } }, { "svm": { "uuid": "25f617cf-94d7-11e8-8370-005056b48fd2", "name": "svm2", "_links": { "self": { "href": "/api/svm/svms/25f617cf-94d7-11e8-8370-005056b48fd2" } } }, "_links": { "self": { "href": "/api/protocols/san/iscsi/services/25f617cf-94d7-11e8-8370-005056b48fd2" } } } ], "num_records": 2, "_links": { "self": { "href": "/api/protocols/san/iscsi/services" } } }
Retrieving details for a specific iSCSI service
The iSCSI service is identified by the UUID of its SVM.
# The API: GET /api/protocols/san/iscsi/services/{svm.uuid} # The call: curl -X GET 'https://<mgmt-ip>/api/protocols/san/iscsi/services/19d04b8e-94d7-11e8-8370-005056b48fd2' -H 'accept: application/hal+json' # The response: { "svm": { "uuid": "19d04b8e-94d7-11e8-8370-005056b48fd2", "name": "svm1", "_links": { "self": { "href": "/api/svm/svms/19d04b8e-94d7-11e8-8370-005056b48fd2" } } }, "enabled": true, "target": { "name": "iqn.1992-08.com.netapp:sn.19d04b8e94d711e88370005056b48fd2:vs.4", "alias": "svm1" }, "_links": { "self": { "href": "/api/protocols/san/iscsi/services/19d04b8e-94d7-11e8-8370-005056b48fd2" } } }
Disabling an iSCSI service
Disabling an iSCSI service shuts down all active iSCSI sessions for the SVM and prevents the creation of new iSCSI sessions.
The iSCSI service to update is identified by the UUID of its SVM.
# The API: PATCH /api/protocols/san/iscsi/services/{svm.uuid} # The call: curl -X PATCH 'https://<mgmt-ip>/api/protocols/san/iscsi/services/19d04b8e-94d7-11e8-8370-005056b48fd2' -H 'accept: application/hal+json' -d '{ "enabled": "false" }'
You can retrieve the iSCSI service to confirm the change.
In this example, the fields
query parameter is used to limit the response to the enabled
property and iSCSI service identifiers.
# The API: GET /api/protocols/san/iscsi/services/{svm.uuid} # The call: curl -X GET 'https://<mgmt-ip>/api/protocols/san/iscsi/services/19d04b8e-94d7-11e8-8370-005056b48fd2?fields=enabled' -H 'accept: application/hal+json' # The response: { "svm": { "uuid": "19d04b8e-94d7-11e8-8370-005056b48fd2", "name": "svm1", "_links": { "self": { "href": "/api/svm/svms/19d04b8e-94d7-11e8-8370-005056b48fd2" } } }, "enabled": false, "_links": { "self": { "href": "/api/protocols/san/iscsi/services/19d04b8e-94d7-11e8-8370-005056b48fd2" } } }
Deleting an iSCSI service
The iSCSI service must be disabled before it can be deleted.
The iSCSI service to be deleted is identified by the UUID of its SVM.
# The API: DELETE /api/protocols/san/iscsi/services/{svm.uuid} # The call: curl -X DELETE 'https://<mgmt-ip>/api/protocols/san/iscsi/services/19d04b8e-94d7-11e8-8370-005056b48fd2' -H 'accept: application/hal+json'