Change disaster recovery state of a file system.
Note: Accepted parameter values may be restricted based on the virtual server access granted by the API key used for authentication.
filesystemId
String
required
Either the file system ID or the object ID of the file system
Either the file system ID or the object ID of the file system
7B263DFD1D71E65A0000000000000000
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/filesystems/{filesystemId}/change-dr-state'
-d
''
import http.client
conn = http.client.HTTPSConnection("172.27.146.40:8444")
payload = "{\"fixNameClash\":true,\"isDeleteExportsFromDemoted\":true,\"isDeleteSharesFromDemoted\":true,\"isRecoverExportsOnPromoted\":true,\"isRecoverSharesOnPromoted\":true,\"logLevel\":\"NONE\",\"rebindExistingExports\":true,\"skipIdentical\":true,\"snapshotName\":\"Snapshot1\",\"transferSetting\":\"DO_NOT_TRANSFER\",\"transitionOption\":\"READ_WRITE\"}"
headers = {
'Authorization': "Basic REPLACE_BASIC_AUTH",
'content-type': "application/json"
}
conn.request("PATCH", "/v9/storage/filesystems/7B263DFD1D71E65A0000000000000000/change-dr-state", 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/filesystems/7B263DFD1D71E65A0000000000000000/change-dr-state")
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 = "{\"fixNameClash\":true,\"isDeleteExportsFromDemoted\":true,\"isDeleteSharesFromDemoted\":true,\"isRecoverExportsOnPromoted\":true,\"isRecoverSharesOnPromoted\":true,\"logLevel\":\"NONE\",\"rebindExistingExports\":true,\"skipIdentical\":true,\"snapshotName\":\"Snapshot1\",\"transferSetting\":\"DO_NOT_TRANSFER\",\"transitionOption\":\"READ_WRITE\"}"
response = http.request(request)
puts response.read_bodyconst data = JSON.stringify({
"fixNameClash": true,
"isDeleteExportsFromDemoted": true,
"isDeleteSharesFromDemoted": true,
"isRecoverExportsOnPromoted": true,
"isRecoverSharesOnPromoted": true,
"logLevel": "NONE",
"rebindExistingExports": true,
"skipIdentical": true,
"snapshotName": "Snapshot1",
"transferSetting": "DO_NOT_TRANSFER",
"transitionOption": "READ_WRITE"
});
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/filesystems/7B263DFD1D71E65A0000000000000000/change-dr-state");
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/filesystems/7B263DFD1D71E65A0000000000000000/change-dr-state")
.header("Authorization", "Basic REPLACE_BASIC_AUTH")
.header("content-type", "application/json")
.body("{\"fixNameClash\":true,\"isDeleteExportsFromDemoted\":true,\"isDeleteSharesFromDemoted\":true,\"isRecoverExportsOnPromoted\":true,\"isRecoverSharesOnPromoted\":true,\"logLevel\":\"NONE\",\"rebindExistingExports\":true,\"skipIdentical\":true,\"snapshotName\":\"Snapshot1\",\"transferSetting\":\"DO_NOT_TRANSFER\",\"transitionOption\":\"READ_WRITE\"}")
.asString();import Foundation
let headers = [
"Authorization": "Basic REPLACE_BASIC_AUTH",
"content-type": "application/json"
]
let parameters = [
"fixNameClash": true,
"isDeleteExportsFromDemoted": true,
"isDeleteSharesFromDemoted": true,
"isRecoverExportsOnPromoted": true,
"isRecoverSharesOnPromoted": true,
"logLevel": "NONE",
"rebindExistingExports": true,
"skipIdentical": true,
"snapshotName": "Snapshot1",
"transferSetting": "DO_NOT_TRANSFER",
"transitionOption": "READ_WRITE"
] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://172.27.146.40:8444/v9/storage/filesystems/7B263DFD1D71E65A0000000000000000/change-dr-state")! 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/filesystems/7B263DFD1D71E65A0000000000000000/change-dr-state",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => "{\"fixNameClash\":true,\"isDeleteExportsFromDemoted\":true,\"isDeleteSharesFromDemoted\":true,\"isRecoverExportsOnPromoted\":true,\"isRecoverSharesOnPromoted\":true,\"logLevel\":\"NONE\",\"rebindExistingExports\":true,\"skipIdentical\":true,\"snapshotName\":\"Snapshot1\",\"transferSetting\":\"DO_NOT_TRANSFER\",\"transitionOption\":\"READ_WRITE\"}",
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/filesystems/7B263DFD1D71E65A0000000000000000/change-dr-state");
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, "{\"fixNameClash\":true,\"isDeleteExportsFromDemoted\":true,\"isDeleteSharesFromDemoted\":true,\"isRecoverExportsOnPromoted\":true,\"isRecoverSharesOnPromoted\":true,\"logLevel\":\"NONE\",\"rebindExistingExports\":true,\"skipIdentical\":true,\"snapshotName\":\"Snapshot1\",\"transferSetting\":\"DO_NOT_TRANSFER\",\"transitionOption\":\"READ_WRITE\"}");
CURLcode ret = curl_easy_perform(hnd);var client = new RestClient("https://172.27.146.40:8444/v9/storage/filesystems/7B263DFD1D71E65A0000000000000000/change-dr-state");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"fixNameClash\":true,\"isDeleteExportsFromDemoted\":true,\"isDeleteSharesFromDemoted\":true,\"isRecoverExportsOnPromoted\":true,\"isRecoverSharesOnPromoted\":true,\"logLevel\":\"NONE\",\"rebindExistingExports\":true,\"skipIdentical\":true,\"snapshotName\":\"Snapshot1\",\"transferSetting\":\"DO_NOT_TRANSFER\",\"transitionOption\":\"READ_WRITE\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);fixNameClashbooleanTrue will generate a new name for the recovered mount point if there's a name clash with an existing mount point within the same virtual server. The existing mount point is not affected. Defaults to true if either shares or exports are to be recovered
True will generate a new name for the recovered mount point if there's a name clash with an existing mount point within the same virtual server. The existing mount point is not affected. Defaults to true if either shares or exports are to be recovered
isDeleteExportsFromDemotedbooleanTrue if NFS exports are to be deleted from a promoted file system
True if NFS exports are to be deleted from a promoted file system
isDeleteSharesFromDemotedbooleanTrue if CIFS/SMB shares are to be deleted from a promoted file system
True if CIFS/SMB shares are to be deleted from a promoted file system
isRecoverExportsOnPromotedbooleanTrue if NFS exports are to be recovered on a promoted file system
True if NFS exports are to be recovered on a promoted file system
isRecoverSharesOnPromotedbooleanTrue if CIFS/SMB shares are to be recovered on a promoted file system
True if CIFS/SMB shares are to be recovered on a promoted file system
logLevelstring (Enum)Level of detail that gets logged for the filesystem recovery
Level of detail that gets logged for the filesystem recovery
rebindExistingExportsbooleanTrue indicates existing exports that have a matching replicated export (same name, file system and path, and have not been recreated since the replication) are rebound to the target file system. This transitions NFS access from the source file system to the target file system. Defaults to true if either shares or exports are to be recovered
True indicates existing exports that have a matching replicated export (same name, file system and path, and have not been recreated since the replication) are rebound to the target file system. This transitions NFS access from the source file system to the target file system. Defaults to true if either shares or exports are to be recovered
skipIdenticalbooleanTrue indicates that mount points with identical names that target the same file system and path will be skipped. False will allow recovery by generating a new name. Defaults to true if either shares or exports are to be recovered
True indicates that mount points with identical names that target the same file system and path will be skipped. False will allow recovery by generating a new name. Defaults to true if either shares or exports are to be recovered
snapshotNamestringName of the snapshot
Name of the snapshot
"Snapshot1"transferSettingstring (Enum)Allows the source file systems default disaster recovery transfer setting to be overridden. Default is to use the default file system settings
Allows the source file systems default disaster recovery transfer setting to be overridden. Default is to use the default file system settings
transitionOptionstring (Enum)Transition state of the disaster recovery
Transition state of the disaster recovery
{
"fixNameClash": false,
"isDeleteExportsFromDemoted": false,
"isDeleteSharesFromDemoted": false,
"isRecoverExportsOnPromoted": false,
"isRecoverSharesOnPromoted": false,
"logLevel": "NONE",
"rebindExistingExports": false,
"skipIdentical": false,
"snapshotName": "Snapshot1",
"transferSetting": "DO_NOT_TRANSFER",
"transitionOption": "READ_WRITE"
}