Update NIS config for a virtual server

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/virtual-servers/{virtualServerId}/name-services/nis

Update the NIS configuration if NIS is the selected mode of operation.

Specify a virtual server ID of 0 to ensure the global NIS configuration is updated. If the virtual server specified has a global security context, then the global NIS configuration will be updated, otherwise the NIS configuration will be updated for the specified virtual server.

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
virtualServerId required

Either the virtual server ID or the object ID of the virtual server

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/virtual-servers/{virtualServerId}/name-services/nis'
-d ''
import http.client conn = http.client.HTTPSConnection("172.27.146.40:8444") payload = "{\"characterSet\":\"LATIN-1\",\"domain\":\"string\",\"isEnabled\":true,\"maxBindResponseTime\":300,\"rebindPeriod\":15,\"servers\":[\"string\"],\"useBroadcast\":true}" headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH", 'content-type': "application/json" } conn.request("PATCH", "/v9/storage/virtual-servers/1/name-services/nis", 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/virtual-servers/1/name-services/nis") 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 = "{\"characterSet\":\"LATIN-1\",\"domain\":\"string\",\"isEnabled\":true,\"maxBindResponseTime\":300,\"rebindPeriod\":15,\"servers\":[\"string\"],\"useBroadcast\":true}" response = http.request(request) puts response.read_body
const data = JSON.stringify({ "characterSet": "LATIN-1", "domain": "string", "isEnabled": true, "maxBindResponseTime": 300, "rebindPeriod": 15, "servers": [ "string" ], "useBroadcast": true }); 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/virtual-servers/1/name-services/nis"); 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/virtual-servers/1/name-services/nis") .header("Authorization", "Basic REPLACE_BASIC_AUTH") .header("content-type", "application/json") .body("{\"characterSet\":\"LATIN-1\",\"domain\":\"string\",\"isEnabled\":true,\"maxBindResponseTime\":300,\"rebindPeriod\":15,\"servers\":[\"string\"],\"useBroadcast\":true}") .asString();
import Foundation let headers = [ "Authorization": "Basic REPLACE_BASIC_AUTH", "content-type": "application/json" ] let parameters = [ "characterSet": "LATIN-1", "domain": "string", "isEnabled": true, "maxBindResponseTime": 300, "rebindPeriod": 15, "servers": ["string"], "useBroadcast": true ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://172.27.146.40:8444/v9/storage/virtual-servers/1/name-services/nis")! 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/virtual-servers/1/name-services/nis", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "PATCH", CURLOPT_POSTFIELDS => "{\"characterSet\":\"LATIN-1\",\"domain\":\"string\",\"isEnabled\":true,\"maxBindResponseTime\":300,\"rebindPeriod\":15,\"servers\":[\"string\"],\"useBroadcast\":true}", 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/virtual-servers/1/name-services/nis"); 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, "{\"characterSet\":\"LATIN-1\",\"domain\":\"string\",\"isEnabled\":true,\"maxBindResponseTime\":300,\"rebindPeriod\":15,\"servers\":[\"string\"],\"useBroadcast\":true}"); CURLcode ret = curl_easy_perform(hnd);
var client = new RestClient("https://172.27.146.40:8444/v9/storage/virtual-servers/1/name-services/nis"); var request = new RestRequest(Method.PATCH); request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"characterSet\":\"LATIN-1\",\"domain\":\"string\",\"isEnabled\":true,\"maxBindResponseTime\":300,\"rebindPeriod\":15,\"servers\":[\"string\"],\"useBroadcast\":true}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
Body parameters
application/json
characterSetstring (Enum)

Character set to use when making NIS requests

Allowed values:"LATIN-1""Latin-1""UTF-8"
domainstring

Domain to join - must be supplied, if no name already set for the current context

isEnabledboolean

True if enabled, false for disabled

maxBindResponseTimeintegerint32

Time in milliseconds, that the NIS client will wait for a response from the NIS server

Example:300
rebindPeriodintegerint32

Period in minutes between attempts to rebind to the current server

Example:15
serversarray

List of NIS servers

[
string
ipAddressstring

IP address of NIS server

Example:"10.1.2.3"
priorityintegerint32

Priority relating to the order with which the servers are used. A value of 1 indicates the highest priority and 3 is the lowest priority. If servers are discovered by broadcast they get a lower priority than can be manually set

Example:1
]
useBroadcastboolean

True indicates NIS servers can be discovered via broadcast messages

REQUEST
{ "characterSet": "LATIN-1", "domain": "example", "isEnabled": false, "maxBindResponseTime": 300, "rebindPeriod": 15, "servers": [ "example" ], "useBroadcast": false }
Responses

No Content - the resource was updated successfully

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" }