Update the SnapMirror policy
PATCH /snapmirror/policies/{uuid}
Updates the SnapMirror policy.
Important notes
- 
The properties "transfer_schedule" and "throttle" can be modified only if all the SnapMirror relationships associated with the specified SnapMirror policy have the same values.
 - 
The properties "retention.label" and "retention.count" are mandatory if "retention" is provided in the input. The provided "retention.label" is the final list and is replaced with the existing values.
 - 
The value of the "identity_preservation" property cannot be changed if the SnapMirror relationships associated with the policy have different identity_preservation configurations.
 - 
If the SnapMirror policy "identity_preservation" value matches the "identity_preservation" value of the associated SnapMirror relationships, then the "identity_preservation" value can be changed from a higher "identity_preservation" threshold value to a lower "identity_preservation" threshold value but not vice-versa. For example, the threshold value of the "identity_preservation" property can be changed from "full" to "exclude_network_config" to "exclude_network_and_protocol_config", but could not be increased from "exclude_network_and_protocol_config" to "exclude_network_config" to "full".
 
Related ONTAP commands
- 
snapmirror policy modify 
Example
Updating the "retention" property
 PATCH "/api/snapmirror/policies/fe65686d-00dc-11e9-b5fb-0050568e3f83" '{"retention" : {"label" : ["sm_created", "lab2"], "count": ["1","2"], "creation_schedule": {"name": ["weekly"]}}}'
Updating "transfer_schedule", "throttle", and "identity_preservation" properties
 PATCH "/api/snapmirror/policies/8aef950b-3bef-11e9-80ac-0050568ea591" '{"transfer_schedule.name" : "weekly", "throttle" : "100", "identity_preservation":"exclude_network_and_protocol_config"}'
Learn more
Parameters
| Name | Type | In | Required | Description | 
|---|---|---|---|---|
uuid  | 
string  | 
path  | 
True  | 
Policy UUID  | 
Request Body
| Name | Type | Description | 
|---|---|---|
_links  | 
||
comment  | 
string  | 
Comment associated with the policy.  | 
identity_preservation  | 
string  | 
Specifies which configuration of the source SVM is replicated to destination. This field is applicable only for SVM data protection and async policies.  | 
network_compression_enabled  | 
boolean  | 
Specifies whether network compression is enabled for transfers. This is applicable only to async policies.  | 
retention  | 
array[snapmirror_policy_rule]  | 
Policy on Snapshot copy retention. This is applicable only to async policies.  | 
scope  | 
string  | 
Set to "svm" for policies owned by an SVM, otherwise set to "cluster".  | 
sync_common_snapshot_schedule  | 
Schedule used to create common Snapshot copies for synchronous relationships.  | 
|
throttle  | 
integer  | 
Throttle in KB/s. Default to unlimited.  | 
transfer_schedule  | 
The schedule used to update asynchronous relationships.  | 
|
uuid  | 
string  | 
Example request
{
  "_links": {
    "self": {
      "href": "/api/resourcelink"
    }
  },
  "comment": "string",
  "identity_preservation": "string",
  "retention": [
    {
      "count": 7,
      "creation_schedule": {
        "_links": {
          "self": {
            "href": "/api/resourcelink"
          }
        },
        "name": "weekly",
        "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
      },
      "label": "hourly",
      "prefix": "string"
    }
  ],
  "scope": "string",
  "sync_common_snapshot_schedule": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "name": "weekly",
    "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
  },
  "throttle": 0,
  "transfer_schedule": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "name": "weekly",
    "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
  },
  "uuid": "4ea7a442-86d1-11e0-ae1c-123478563412"
}
Response
Status: 202, Accepted
| Name | Type | Description | 
|---|---|---|
job  | 
Example response
{
  "job": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "uuid": "string"
  }
}
Error
Status: Default
ONTAP Error Response codes
| Error code | Description | 
|---|---|
13303842  | 
Invalid SnapMirror policy type  | 
13303843  | 
Conflicting values between SnapMirror policy and SnapMirror relationships for either 'transfer_schedule, throttle or identity_preservation' properties  | 
13303850  | 
Invalid input parameter  | 
| 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  | 
creation_schedule
Schedule used to create Snapshot copies on the destination for long term retention.
| Name | Type | Description | 
|---|---|---|
_links  | 
||
name  | 
string  | 
Job schedule name  | 
uuid  | 
string  | 
Job schedule UUID  | 
snapmirror_policy_rule
SnapMirror policy rule for retention.
| Name | Type | Description | 
|---|---|---|
count  | 
integer  | 
Number of Snapshot copies to be kept for retention.  | 
creation_schedule  | 
Schedule used to create Snapshot copies on the destination for long term retention.  | 
|
label  | 
string  | 
Snapshot copy label  | 
prefix  | 
string  | 
Specifies the prefix for the Snapshot copy name to be created as per the schedule. If no value is specified, then the label is used as the prefix.  | 
svm
SVM, applies only to SVM-scoped objects.
| Name | Type | Description | 
|---|---|---|
_links  | 
||
name  | 
string  | 
The name of the SVM.  | 
uuid  | 
string  | 
The unique identifier of the SVM.  | 
sync_common_snapshot_schedule
Schedule used to create common Snapshot copies for synchronous relationships.
| Name | Type | Description | 
|---|---|---|
_links  | 
||
name  | 
string  | 
Job schedule name  | 
uuid  | 
string  | 
Job schedule UUID  | 
transfer_schedule
The schedule used to update asynchronous relationships.
| Name | Type | Description | 
|---|---|---|
_links  | 
||
name  | 
string  | 
Job schedule name  | 
uuid  | 
string  | 
Job schedule UUID  | 
snapmirror_policy
SnapMirror policy information
| Name | Type | Description | 
|---|---|---|
_links  | 
||
comment  | 
string  | 
Comment associated with the policy.  | 
identity_preservation  | 
string  | 
Specifies which configuration of the source SVM is replicated to destination. This field is applicable only for SVM data protection and async policies.  | 
network_compression_enabled  | 
boolean  | 
Specifies whether network compression is enabled for transfers. This is applicable only to async policies.  | 
retention  | 
array[snapmirror_policy_rule]  | 
Policy on Snapshot copy retention. This is applicable only to async policies.  | 
scope  | 
string  | 
Set to "svm" for policies owned by an SVM, otherwise set to "cluster".  | 
sync_common_snapshot_schedule  | 
Schedule used to create common Snapshot copies for synchronous relationships.  | 
|
throttle  | 
integer  | 
Throttle in KB/s. Default to unlimited.  | 
transfer_schedule  | 
The schedule used to update asynchronous relationships.  | 
|
uuid  | 
string  | 
job_link
| Name | Type | Description | 
|---|---|---|
_links  | 
||
uuid  | 
string  | 
The UUID of the asynchronous job that is triggered by a POST, PATCH, or DELETE operation.  | 
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.  |