Update an iSCSI target

NAS File Storage REST API Reference

Version
15.6.x
File Size
1291 KB
Audience
anonymous
Part Number
MK-92HNAS100-07
ft:lastEdition
2026-04-07
patch /v9/storage/iscsi-targets/{iscsiTargetObjectId}

Update an iSCSI target.

Note: Accepted parameter values may be restricted based on the virtual server access granted by the API key used for authentication.

Authentication: x_subsystem_user Api Key "X-Subsystem-User"
Authentication: x_subsystem_password Api Key "X-Subsystem-Password"
Authentication: api_key Api Key "X-Api-Key"
Authentication: basicAuth HTTP - basic scheme
Path parameters
iscsiTargetObjectId String required

Object ID of the iSCSI target

Example: 313a3a3a6e69636b3a3a3a3a3a3a303a3a3a4f49445f24232140255f56
CLIENT REQUEST
curl -X 'PATCH'
-H "X-Subsystem-User: [[apiKey]]" \
-H "X-Subsystem-Password: [[apiKey]]" \
-H "X-Api-Key: [[apiKey]]" \
-H "Authorization: Basic [[basicHash]]" \
-H 'Accept: application/json'
-H 'Content-Type: application/json'
'https://172.27.146.40:8444/v9/storage/iscsi-targets/{iscsiTargetObjectId}'
-d ''
import http.client conn = http.client.HTTPSConnection("172.27.146.40:8444") payload = "{\"accessConfig\":\"\",\"alias\":\"string\",\"comment\":\"This is a comment\",\"enableAuthentication\":true,\"regenerateGUN\":true,\"secret\":\"secret1234\"}" headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH", 'content-type': "application/json" } conn.request("PATCH", "/v9/storage/iscsi-targets/313a3a3a6e69636b3a3a3a3a3a3a303a3a3a4f49445f24232140255f56", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
require 'uri' require 'net/http' require 'openssl' url = URI("https://172.27.146.40:8444/v9/storage/iscsi-targets/313a3a3a6e69636b3a3a3a3a3a3a303a3a3a4f49445f24232140255f56") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Patch.new(url) request["Authorization"] = 'Basic REPLACE_BASIC_AUTH' request["content-type"] = 'application/json' request.body = "{\"accessConfig\":\"\",\"alias\":\"string\",\"comment\":\"This is a comment\",\"enableAuthentication\":true,\"regenerateGUN\":true,\"secret\":\"secret1234\"}" response = http.request(request) puts response.read_body
const data = JSON.stringify({ "accessConfig": "", "alias": "string", "comment": "This is a comment", "enableAuthentication": true, "regenerateGUN": true, "secret": "secret1234" }); const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("PATCH", "https://172.27.146.40:8444/v9/storage/iscsi-targets/313a3a3a6e69636b3a3a3a3a3a3a303a3a3a4f49445f24232140255f56"); xhr.setRequestHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); xhr.setRequestHeader("content-type", "application/json"); xhr.send(data);
HttpResponse<String> response = Unirest.patch("https://172.27.146.40:8444/v9/storage/iscsi-targets/313a3a3a6e69636b3a3a3a3a3a3a303a3a3a4f49445f24232140255f56") .header("Authorization", "Basic REPLACE_BASIC_AUTH") .header("content-type", "application/json") .body("{\"accessConfig\":\"\",\"alias\":\"string\",\"comment\":\"This is a comment\",\"enableAuthentication\":true,\"regenerateGUN\":true,\"secret\":\"secret1234\"}") .asString();
import Foundation let headers = [ "Authorization": "Basic REPLACE_BASIC_AUTH", "content-type": "application/json" ] let parameters = [ "accessConfig": "", "alias": "string", "comment": "This is a comment", "enableAuthentication": true, "regenerateGUN": true, "secret": "secret1234" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://172.27.146.40:8444/v9/storage/iscsi-targets/313a3a3a6e69636b3a3a3a3a3a3a303a3a3a4f49445f24232140255f56")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PATCH" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume()
<?php $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_PORT => "8444", CURLOPT_URL => "https://172.27.146.40:8444/v9/storage/iscsi-targets/313a3a3a6e69636b3a3a3a3a3a3a303a3a3a4f49445f24232140255f56", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "PATCH", CURLOPT_POSTFIELDS => "{\"accessConfig\":\"\",\"alias\":\"string\",\"comment\":\"This is a comment\",\"enableAuthentication\":true,\"regenerateGUN\":true,\"secret\":\"secret1234\"}", CURLOPT_HTTPHEADER => [ "Authorization: Basic REPLACE_BASIC_AUTH", "content-type: application/json" ], ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
CURL *hnd = curl_easy_init(); curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); curl_easy_setopt(hnd, CURLOPT_URL, "https://172.27.146.40:8444/v9/storage/iscsi-targets/313a3a3a6e69636b3a3a3a3a3a3a303a3a3a4f49445f24232140255f56"); struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); headers = curl_slist_append(headers, "content-type: application/json"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"accessConfig\":\"\",\"alias\":\"string\",\"comment\":\"This is a comment\",\"enableAuthentication\":true,\"regenerateGUN\":true,\"secret\":\"secret1234\"}"); CURLcode ret = curl_easy_perform(hnd);
var client = new RestClient("https://172.27.146.40:8444/v9/storage/iscsi-targets/313a3a3a6e69636b3a3a3a3a3a3a303a3a3a4f49445f24232140255f56"); var request = new RestRequest(Method.PATCH); request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"accessConfig\":\"\",\"alias\":\"string\",\"comment\":\"This is a comment\",\"enableAuthentication\":true,\"regenerateGUN\":true,\"secret\":\"secret1234\"}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
Body parameters
application/json
accessConfigstring

Access config options. Typically it is the IP addresses of the allowed hosts and access level, or blank if there are no restrictions

aliasstring

Alias or name of the item

commentstring

Comment associated with the item

Example:"This is a comment"
enableAuthenticationboolean

True to enable authentication or false to allow insecure access

regenerateGUNboolean

True indicates that the Global Unique Name should be regenerated

secretstring

iSCSI shared secret

Example:"secret1234"
REQUEST
{ "accessConfig": "", "alias": "example", "comment": "This is a comment", "enableAuthentication": false, "regenerateGUN": false, "secret": "secret1234" }
Responses

See Other - the ID of the object has been updated by the requested operation

Body
application/json
iscsiTargetobject

iSCSI target

accessConfigstring

Access config options. Typically it is the IP addresses of the allowed hosts and access level, or blank if there are no restrictions

aliasstring

Alias/name of the iSCSI target

Example:"Target1"
commentstring

Comment associated with the item

Example:"This is a comment"
globalUniqueNamestring

Global unique name of the iSCSI target

Example:"iqn.2020-01.com.example.sie:rickevs-58-112.iscsidev-0"
isAuthenticationEnabledboolean

True indicates that authentication is being enforced

iscsiLogicalUnitsarray

Array of iSCSI logical units associated with the iSCSI target

[
logicalUnitintegerint32

The Logical Unit Number (LUN) ID that is assigned to the iSCSI logical unit

Example:1
logicalUnitAliasstring

Alias/name of the logical unit

Example:"LUN1"
objectIdstring

Unique ID of the object

Example:"333a3a3a3a3a3a303a3a3a4f49445f24232140255f56"
]
objectIdstring

Unique ID of the object

Example:"333a3a3a3a3a3a303a3a3a4f49445f24232140255f56"
secretstring

iSCSI shared secret

Example:"secret1234"
virtualServerIdintegerint32

ID of the virtual server. 0 = management virtual server 255 = not assigned to virtual server

Example:1
uristring

URI of the newly created or updated object

RESPONSE
{ "iscsiTarget": { "accessConfig": "", "alias": "Target1", "comment": "This is a comment", "globalUniqueName": "iqn.2020-01.com.example.sie:rickevs-58-112.iscsidev-0", "isAuthenticationEnabled": false, "iscsiLogicalUnits": [ { "logicalUnit": 1, "logicalUnitAlias": "LUN1", "objectId": "333a3a3a3a3a3a303a3a3a4f49445f24232140255f56" } ], "objectId": "333a3a3a3a3a3a303a3a3a4f49445f24232140255f56", "secret": "secret1234", "virtualServerId": 1 }, "uri": "example" }

Bad Request

Body
application/json
errorCodeintegerint32

Generic error code

Example:1081353
errorMsgstring

Main error message

Example:"Invalid description parameter - the optional parameter must be between 2 and 30 characters long to be valid, if supplied"
RESPONSE
{ "errorCode": 1081353, "errorMsg": "Invalid description parameter - the optional parameter must be between 2 and 30 characters long to be valid, if supplied" }

Unauthorized - the request was rejected because the credentials or API key were either missing or invalid

Forbidden - the client does not have the required permissions to perform the operation

Body
application/json
errorMsgstring

Main error message

Example:"Forbidden request - the client does not have the required permissions to perform the operation"
RESPONSE
{ "errorMsg": "Forbidden request - the client does not have the required permissions to perform the operation" }

Not Found - a resource specified was not found

Body
application/json
errorCodeintegerint32

Generic error code

Example:1081345
errorDetailobject

Detailed error information

detailstring

More details on why the error occurred

faultstring
fileNamestring

Source file where the error occurred

Example:"RestApiFilesystems.cpp"
functionstring

Internal function name where the error occurred

Example:"mountFilesystem"
lineNumberintegerint32

Line number within the source file, where the error occurred

messagestring

Reason why the error(s) occurred

Example:"The file system is currently unassigned"
reasonstring

Reason why the error(s) occurred

Example:"The file system is currently unassigned"
returnedValueintegerint32

Not used

subCodeintegerint32

Specific failure error code

errorMsgstring

Main error message

Example:"Cannot find the object of the operation on the device"
RESPONSE
{ "errorCode": 1081345, "errorDetail": { "detail": "", "fault": "", "fileName": "RestApiFilesystems.cpp", "function": "mountFilesystem", "lineNumber": 0, "message": "The file system is currently unassigned", "reason": "The file system is currently unassigned", "returnedValue": 0, "subCode": 0 }, "errorMsg": "Cannot find the object of the operation on the device" }

Internal Server Error

Body
application/json
errorCodeintegerint32

Generic error code

errorDetailobject

Detailed error information

detailstring

More details on why the error occurred

faultstring
fileNamestring

Source file where the error occurred

Example:"RestApiFilesystems.cpp"
functionstring

Internal function name where the error occurred

Example:"mountFilesystem"
lineNumberintegerint32

Line number within the source file, where the error occurred

messagestring

Reason why the error(s) occurred

Example:"The file system is currently unassigned"
reasonstring

Reason why the error(s) occurred

Example:"The file system is currently unassigned"
returnedValueintegerint32

Not used

subCodeintegerint32

Specific failure error code

errorMsgstring

Main error message

Example:"Failed to mount file system"
RESPONSE
{ "errorCode": 0, "errorDetail": { "detail": "", "fault": "", "fileName": "RestApiFilesystems.cpp", "function": "mountFilesystem", "lineNumber": 0, "message": "The file system is currently unassigned", "reason": "The file system is currently unassigned", "returnedValue": 0, "subCode": 0 }, "errorMsg": "Failed to mount file system" }