Storage Snapshot Management Policies Controller Resource

The API allows you to list, view, create and edit snapshot management policies for storages.

GET /policies/storage-snapshot

Returns list of snapshot management policies.

Request Parameters
name type description
direction query
filter query
nameLike query
orderBy query
page query
size query
Response Body
media type data type description
application/json array of StorageSnapshotMgmtPolicyListRecord (JSON) list of snapshot management policies

Example

Request
GET /policies/storage-snapshot
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "ruleCount" : 12345,
  "storageCount" : 12345,
  "rules" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "name" : "...",
  "autoAssignMode" : "ASSIGN_AND_REMOVE",
  "active" : true,
  "backupRetryCount" : 12345,
  "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
  "priority" : 50
} ]
                
              

POST /policies/storage-snapshot

Create snapshot management policy.

Request Body
media type data type description
application/json StorageSnapshotMgmtPolicyRequest (JSON) specify details for new snapshot management policy
Response Body
media type data type description
application/json StorageSnapshotMgmtPolicyDetails (JSON) details of newly created snapshot management policy

Example

Request
POST /policies/storage-snapshot
Content-Type: application/json
Accept: application/json

                
{
  "autoRemoveNonPresent" : true,
  "rules" : [ {
    "retentionVersions" : 12345,
    "guid" : "...",
    "name" : "...",
    "retentionDays" : 12345,
    "schedules" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "active" : true,
    "policy" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "position" : 12345
  }, {
    "retentionVersions" : 12345,
    "guid" : "...",
    "name" : "...",
    "retentionDays" : 12345,
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "active" : true,
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "position" : 12345
  } ],
  "name" : "...",
  "storages" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "autoAssignSettings" : {
    "mode" : "DISABLED",
    "includeRegExps" : [ "...", "..." ],
    "excludeRegExps" : [ "...", "..." ],
    "storagePools" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ]
  },
  "backupRetryCount" : 12345,
  "priority" : 50,
  "executeAutoAssignmentAfterSavingPolicy" : true,
  "active" : true
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "rules" : [ {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "schedules" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345
  }, {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345
  } ],
  "autoRemoveNonPresent" : true,
  "name" : "...",
  "active" : true,
  "backupRetryCount" : 12345,
  "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
  "storages" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "autoAssignSettings" : {
    "mode" : "DISABLED",
    "includeRegExps" : [ "...", "..." ],
    "excludeRegExps" : [ "...", "..." ],
    "storagePools" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ]
  },
  "priority" : 50
}
                
              

POST /policies/storage-snapshot/auto-assignment-preview

Get auto-assignment preview for all storages and given snapshot management policy.

Request Body
media type data type description
application/json StorageSnapshotMgmtPolicyRequest (JSON) specify storage snapshot management policy details to create preview
Response Body
media type data type description
application/json array of AutoAssignResultPreviewListRecord (JSON) list of auto-assignment result preview records

Example

Request
POST /policies/storage-snapshot/auto-assignment-preview
Content-Type: application/json
Accept: application/json

                
{
  "autoRemoveNonPresent" : true,
  "rules" : [ {
    "retentionVersions" : 12345,
    "guid" : "...",
    "name" : "...",
    "retentionDays" : 12345,
    "schedules" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "active" : true,
    "policy" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "position" : 12345
  }, {
    "retentionVersions" : 12345,
    "guid" : "...",
    "name" : "...",
    "retentionDays" : 12345,
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "active" : true,
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "position" : 12345
  } ],
  "name" : "...",
  "storages" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "autoAssignSettings" : {
    "mode" : "DISABLED",
    "includeRegExps" : [ "...", "..." ],
    "excludeRegExps" : [ "...", "..." ],
    "storagePools" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ]
  },
  "backupRetryCount" : 12345,
  "priority" : 50,
  "executeAutoAssignmentAfterSavingPolicy" : true,
  "active" : true
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
[ {
  "protectedEntity" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "changeType" : "REMOVAL",
  "changeReason" : "PE_IS_NOT_PRESENT"
} ]
                
              

GET /policies/storage-snapshot/detailed

Returns detailed list of snapshot management policies.

Response Body
media type data type description
application/json array of StorageSnapshotMgmtPolicyDetails (JSON) detailed list of snapshot management policies

Example

Request
GET /policies/storage-snapshot/detailed
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "rules" : [ {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "schedules" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345
  }, {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345
  } ],
  "autoRemoveNonPresent" : true,
  "name" : "...",
  "active" : true,
  "backupRetryCount" : 12345,
  "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
  "storages" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "autoAssignSettings" : {
    "mode" : "ASSIGN_ONLY",
    "includeRegExps" : [ "...", "..." ],
    "excludeRegExps" : [ "...", "..." ],
    "storagePools" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ]
  },
  "priority" : 50
} ]
                
              

DELETE /policies/storage-snapshot/{guid}

Remove snapshot management policy.

Request Parameters
name type description
guid path specify local unique identifier for snapshot management policy (use by vProtect)

Example

Request
DELETE /policies/storage-snapshot/{guid}
Content-Type: */*

                
...
                
              
Response
HTTP/1.1 204 No Content

              

GET /policies/storage-snapshot/{guid}

Get a single snapshot management policy.

Request Parameters
name type description
guid path specify local unique identifier for snapshot management policy (use by vProtect)
Response Body
media type data type description
application/json StorageSnapshotMgmtPolicyDetails (JSON) a single snapshot management policy details

Example

Request
GET /policies/storage-snapshot/{guid}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "rules" : [ {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "schedules" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345
  }, {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345
  } ],
  "autoRemoveNonPresent" : true,
  "name" : "...",
  "active" : true,
  "backupRetryCount" : 12345,
  "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
  "storages" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "autoAssignSettings" : {
    "mode" : "DISABLED",
    "includeRegExps" : [ "...", "..." ],
    "excludeRegExps" : [ "...", "..." ],
    "storagePools" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ]
  },
  "priority" : 50
}
                
              

PUT /policies/storage-snapshot/{guid}

Change snapshot management policy details.

Request Parameters
name type description
guid path specify local unique identifier for snapshot management policy (use by vProtect)
Request Body
media type data type description
application/json StorageSnapshotMgmtPolicyRequest (JSON) specify snapshot management policy details to update
Response Body
media type data type description
application/json StorageSnapshotMgmtPolicyDetails (JSON) updated details of snapshot management policy

Example

Request
PUT /policies/storage-snapshot/{guid}
Content-Type: application/json
Accept: application/json

                
{
  "autoRemoveNonPresent" : true,
  "rules" : [ {
    "retentionVersions" : 12345,
    "guid" : "...",
    "name" : "...",
    "retentionDays" : 12345,
    "schedules" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "active" : true,
    "policy" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "position" : 12345
  }, {
    "retentionVersions" : 12345,
    "guid" : "...",
    "name" : "...",
    "retentionDays" : 12345,
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "active" : true,
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "position" : 12345
  } ],
  "name" : "...",
  "storages" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "autoAssignSettings" : {
    "mode" : "ASSIGN_ONLY",
    "includeRegExps" : [ "...", "..." ],
    "excludeRegExps" : [ "...", "..." ],
    "storagePools" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ]
  },
  "backupRetryCount" : 12345,
  "priority" : 50,
  "executeAutoAssignmentAfterSavingPolicy" : true,
  "active" : true
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "rules" : [ {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "schedules" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345
  }, {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345
  } ],
  "autoRemoveNonPresent" : true,
  "name" : "...",
  "active" : true,
  "backupRetryCount" : 12345,
  "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
  "storages" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "autoAssignSettings" : {
    "mode" : "DISABLED",
    "includeRegExps" : [ "...", "..." ],
    "excludeRegExps" : [ "...", "..." ],
    "storagePools" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ]
  },
  "priority" : 50
}
                
              

POST /policies/storage-snapshot/{guid}/auto-assignment-preview

Get auto-assignment preview for all storages and given snapshot management policy.

Request Parameters
name type description
guid path specify local unique identifier for snapshot management policy (use by vProtect)
Request Body
media type data type description
application/json StorageSnapshotMgmtPolicyRequest (JSON) specify storage snapshot management policy details to create preview
Response Body
media type data type description
application/json array of AutoAssignResultPreviewListRecord (JSON) list of auto-assignment result preview records

Example

Request
POST /policies/storage-snapshot/{guid}/auto-assignment-preview
Content-Type: application/json
Accept: application/json

                
{
  "autoRemoveNonPresent" : true,
  "rules" : [ {
    "retentionVersions" : 12345,
    "guid" : "...",
    "name" : "...",
    "retentionDays" : 12345,
    "schedules" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "active" : true,
    "policy" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "position" : 12345
  }, {
    "retentionVersions" : 12345,
    "guid" : "...",
    "name" : "...",
    "retentionDays" : 12345,
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "active" : true,
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "position" : 12345
  } ],
  "name" : "...",
  "storages" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "autoAssignSettings" : {
    "mode" : "ASSIGN_AND_REMOVE",
    "includeRegExps" : [ "...", "..." ],
    "excludeRegExps" : [ "...", "..." ],
    "storagePools" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ]
  },
  "backupRetryCount" : 12345,
  "priority" : 50,
  "executeAutoAssignmentAfterSavingPolicy" : true,
  "active" : true
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
[ {
  "protectedEntity" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "changeType" : "REMOVAL",
  "changeReason" : "PE_IS_NOT_PRESENT"
} ]
                
              

POST /policies/storage-snapshot/{guid}/clone

Request Parameters
name type description
guid path
Request Body
media type data type
application/json CloneDTO (JSON)
Response Body
media type data type description
application/json StorageSnapshotMgmtPolicyDetails (JSON)

Example

Request
POST /policies/storage-snapshot/{guid}/clone
Content-Type: application/json
Accept: application/json

                
{
  "name" : "..."
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "rules" : [ {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "schedules" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345
  }, {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345
  } ],
  "autoRemoveNonPresent" : true,
  "name" : "...",
  "active" : true,
  "backupRetryCount" : 12345,
  "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
  "storages" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "autoAssignSettings" : {
    "mode" : "DISABLED",
    "includeRegExps" : [ "...", "..." ],
    "excludeRegExps" : [ "...", "..." ],
    "storagePools" : [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    }, {
      "guid" : "...",
      "name" : "..."
    } ]
  },
  "priority" : 50
}