Start a SnapMirror transfer operation
POST /snapmirror/relationships/{relationship.uuid}/transfers
Introduced In: 9.6
Starts a SnapMirror transfer operation. This API initiates a restore operation if the SnapMirror relationship is of type "restore". Otherwise, it intiates a SnapMirror "initialize" operation or "update" operation based on the current SnapMirror state.
Default property values
-
storage_efficiency_enabled
- true
Related ONTAP commands
-
snapmirror update
-
snapmirror initialize
-
snapmirror restore
Examples
The following examples show how to perform SnapMirror "initialize", "update", and "restore" operations.
Perform SnapMirror initialize or update
POST "/api/snapmirror/relationships/e4e7e130-0279-11e9-b566-0050568e9909/transfers" '{}'
Perform SnapMirror restore transfer
POST "/api/snapmirror/relationships/c8c62a90-0fef-11e9-b09e-0050568e7067/transfers" '{"source-snapshot": "src", "files": {"source_path": ["/a1.txt.0"], "destination_path": ["/a1-renamed.txt.0"]}}'
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
relationship.uuid |
string |
path |
True |
Relationship UUID |
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
return_timeout |
integer |
query |
False |
The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
bytes_transferred |
integer |
Bytes transferred |
checkpoint_size |
integer |
Amount of data transferred in bytes as recorded in the restart checkpoint. |
files |
array[files] |
This is supported for transfer of restore relationship only. This specifies the list of files or LUNs to be restored. Can contain up to eight files or LUNs. |
relationship |
||
snapshot |
string |
Name of Snapshot copy being transferred. |
source_snapshot |
string |
Specifies the Snapshot copy on the source to be transferred to the destination. |
state |
string |
Status of the transfer. Set PATCH state to "aborted" to abort the transfer. Set PATCH state to "hard_aborted" to abort the transfer and discard the restart checkpoint. |
storage_efficiency_enabled |
boolean |
This is supported for transfer of restore relationship only. Set this property to "false" to turn off storage efficiency for data transferred over the wire and written to the destination. |
uuid |
string |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"bytes_transferred": 0,
"checkpoint_size": 0,
"files": [
{
"destination_path": "/dirb/file2",
"source_path": "/dira/file1"
}
],
"relationship": {
"destination": {
"cluster": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "cluster1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"consistency_group_volumes": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "volume1",
"uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
}
],
"ipspace": "Default",
"path": "svm1:volume1",
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
}
},
"uuid": "d2d7ceea-ab52-11e8-855e-00505682a4c7"
},
"snapshot": "string",
"source_snapshot": "string",
"state": "string",
"uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
}
Response
Status: 201, Created
Error
Status: Default
ONTAP Error Response codes
Error code | Description |
---|---|
13303845 |
Restore operation failed |
13303812 |
Initialize operation failed |
13303844 |
Update operation failed |
13303846 |
Empty source path file list |
13303847 |
Invalid arguments |
6620237 |
SnapMirror relationship database write failed |
6620238 |
SnapMirror relationship database read failed |
Name | Type | Description |
---|---|---|
error |
Example error
{
"error": {
"arguments": [
{
"code": "string",
"message": "string"
}
],
"code": "4",
"message": "entry doesn't exist",
"target": "uuid"
}
}
Definitions
See Definitions
href
Name | Type | Description |
---|---|---|
href |
string |
_links
Name | Type | Description |
---|---|---|
self |
files
Specifies a file or LUN consisting of a source_path and an optional destination_path. If not specified, the destination_path is the same as the source_path.
Name | Type | Description |
---|---|---|
destination_path |
string |
|
source_path |
string |
cluster
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
consistency_group_volumes
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the volume. |
uuid |
string |
Unique identifier for the volume. This corresponds to the instance-uuid that is exposed in the CLI and ONTAPI. It does not change due to a volume move.
|
svm
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
snapmirror_endpoint
Endpoint of a SnapMirror relationship. For a GET request, the property "cluster" is populated when the endpoint is on a remote cluster. A POST request to create the destination SVM endpoint or to establish an SVM DR relationship must have the property "cluster" populated with the remote cluster details. A POST request to create the destination FlexVol volume, FlexGroup volume, and Consistency Group endpoints can optionally specify the "cluster" property when the source SVM and the destination SVM are peered. A POST request to establish a SnapMirror relationship between the source endpoint and destination endpoint and when the source SVM and the destination SVM are not peered, must specify the "cluster" property for the remote endpoint.
Name | Type | Description |
---|---|---|
cluster |
||
consistency_group_volumes |
array[consistency_group_volumes] |
Mandatory property for a Consistency Group endpoint. Specifies the list of FlexVol volumes for a Consistency Group. |
ipspace |
string |
Optional property to specify the IPSpace of the SVM. |
path |
string |
ONTAP FlexVol/FlexGroup - svm1:volume1 ONTAP SVM - svm1: ONTAP Consistency Group - svm1:/cg/cg_name
|
svm |
relationship
Name | Type | Description |
---|---|---|
destination |
Endpoint of a SnapMirror relationship. For a GET request, the property "cluster" is populated when the endpoint is on a remote cluster. A POST request to create the destination SVM endpoint or to establish an SVM DR relationship must have the property "cluster" populated with the remote cluster details. A POST request to create the destination FlexVol volume, FlexGroup volume, and Consistency Group endpoints can optionally specify the "cluster" property when the source SVM and the destination SVM are peered. A POST request to establish a SnapMirror relationship between the source endpoint and destination endpoint and when the source SVM and the destination SVM are not peered, must specify the "cluster" property for the remote endpoint. |
|
restore |
boolean |
Is the relationship for restore? |
uuid |
string |
snapmirror_transfer
SnapMirror transfer information
Name | Type | Description |
---|---|---|
_links |
||
bytes_transferred |
integer |
Bytes transferred |
checkpoint_size |
integer |
Amount of data transferred in bytes as recorded in the restart checkpoint. |
files |
array[files] |
This is supported for transfer of restore relationship only. This specifies the list of files or LUNs to be restored. Can contain up to eight files or LUNs. |
relationship |
||
snapshot |
string |
Name of Snapshot copy being transferred. |
source_snapshot |
string |
Specifies the Snapshot copy on the source to be transferred to the destination. |
state |
string |
Status of the transfer. Set PATCH state to "aborted" to abort the transfer. Set PATCH state to "hard_aborted" to abort the transfer and discard the restart checkpoint. |
storage_efficiency_enabled |
boolean |
This is supported for transfer of restore relationship only. Set this property to "false" to turn off storage efficiency for data transferred over the wire and written to the destination. |
uuid |
string |
error_arguments
Name | Type | Description |
---|---|---|
code |
string |
Argument code |
message |
string |
Message argument |
error
Name | Type | Description |
---|---|---|
arguments |
array[error_arguments] |
Message arguments |
code |
string |
Error code |
message |
string |
Error message |
target |
string |
The target parameter that caused the error. |