Virtual Machine Backup Rule Controller Resource

The API allows you to list, view, create and edit virtual machine backup rule.

GET /rules/vm-backup

Returns list of virtual machine backup rules filtered by specified query parameters.

Request Parameters
name type description
direction query
filter query
nameLike query
orderBy query
page query
policy query
size query
Response Body
media type data type description
application/json array of VmBackupRuleDetails (JSON) list of virtual machine backup rules filtered by specified query parameters

Example

Request
GET /rules/vm-backup
Content-Type: */*
Accept: application/json

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

                
[ {
  "guid" : "...",
  "name" : "...",
  "policy" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "schedules" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "ruleBackupDestinations" : [ {
    "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,
    "rule" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "backupDestination" : {
      "type" : { },
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "roleType" : "PRIMARY",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    }
  }, {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345,
    "rule" : {
      "guid" : "...",
      "name" : "..."
    },
    "backupDestination" : {
      "type" : { },
      "guid" : "...",
      "name" : "..."
    },
    "roleType" : "PRIMARY",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    }
  } ],
  "vmCount" : 12345,
  "schedulesCount" : 12345,
  "position" : 12345,
  "active" : true,
  "backupCount" : 12345,
  "removable" : true,
  "markedForDeletion" : true,
  "daysToKeepRetentionLock" : 12345
} ]
                
              

POST /rules/vm-backup

Create virtual machine backup rule.

Request Body
media type data type description
application/json VmBackupRuleRequest (JSON) specify details for new virtual machine backup rule
Response Body
media type data type description
application/json VmBackupRuleDetails (JSON) details of newly created virtual machine backup rule

Example

Request
POST /rules/vm-backup
Content-Type: application/json
Accept: application/json

                
{
  "guid" : "...",
  "name" : "...",
  "schedules" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "active" : true,
  "policy" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "ruleBackupDestinations" : [ {
    "type" : "OS",
    "guid" : "...",
    "backupDestination" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "roleType" : "SECONDARY",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    },
    "daysToKeepRetentionLock" : 12345,
    "active" : true
  }, {
    "type" : "APPLICATION",
    "guid" : "...",
    "backupDestination" : {
      "guid" : "...",
      "name" : "..."
    },
    "roleType" : "PRIMARY",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    },
    "daysToKeepRetentionLock" : 12345,
    "active" : true
  } ],
  "position" : 12345,
  "secondaryBdEnabled" : true
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "guid" : "...",
  "name" : "...",
  "policy" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "schedules" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "ruleBackupDestinations" : [ {
    "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,
    "rule" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "backupDestination" : {
      "type" : { },
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "roleType" : "PRIMARY",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    }
  }, {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345,
    "rule" : {
      "guid" : "...",
      "name" : "..."
    },
    "backupDestination" : {
      "type" : { },
      "guid" : "...",
      "name" : "..."
    },
    "roleType" : "SECONDARY",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    }
  } ],
  "vmCount" : 12345,
  "schedulesCount" : 12345,
  "position" : 12345,
  "active" : true,
  "backupCount" : 12345,
  "removable" : true,
  "markedForDeletion" : true,
  "daysToKeepRetentionLock" : 12345
}
                
              

DELETE /rules/vm-backup/{guid}

Remove virtual machine backup rule.

Request Parameters
name type description
guid path specify local unique identifier for virtual machine backup rule (use by vProtect)

Example

Request
DELETE /rules/vm-backup/{guid}
Content-Type: */*

                
...
                
              
Response
HTTP/1.1 204 No Content

              

GET /rules/vm-backup/{guid}

Get a single virtual machine backup rule.

Request Parameters
name type description
guid path specify local unique identifier for virtual machine backup rule (use by vProtect)
Response Body
media type data type description
application/json VmBackupRuleDetails (JSON) a single virtual machine backup rule details

Example

Request
GET /rules/vm-backup/{guid}
Content-Type: */*
Accept: application/json

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

                
{
  "guid" : "...",
  "name" : "...",
  "policy" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "schedules" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "ruleBackupDestinations" : [ {
    "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,
    "rule" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "backupDestination" : {
      "type" : { },
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "roleType" : "SECONDARY",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    }
  }, {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345,
    "rule" : {
      "guid" : "...",
      "name" : "..."
    },
    "backupDestination" : {
      "type" : { },
      "guid" : "...",
      "name" : "..."
    },
    "roleType" : "PRIMARY",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    }
  } ],
  "vmCount" : 12345,
  "schedulesCount" : 12345,
  "position" : 12345,
  "active" : true,
  "backupCount" : 12345,
  "removable" : true,
  "markedForDeletion" : true,
  "daysToKeepRetentionLock" : 12345
}
                
              

PUT /rules/vm-backup/{guid}

Change virtual machine backup rule details.

Request Parameters
name type description
guid path specify local unique identifier for virtual machine backup rule (use by vProtect)
Request Body
media type data type description
application/json VmBackupRuleRequest (JSON) specify virtual machine backup rule details to update
Response Body
media type data type description
application/json VmBackupRuleDetails (JSON) updated details of virtual machine backup rule

Example

Request
PUT /rules/vm-backup/{guid}
Content-Type: application/json
Accept: application/json

                
{
  "guid" : "...",
  "name" : "...",
  "schedules" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "active" : true,
  "policy" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "ruleBackupDestinations" : [ {
    "type" : "APPLICATION",
    "guid" : "...",
    "backupDestination" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "roleType" : "ARCHIVE",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    },
    "daysToKeepRetentionLock" : 12345,
    "active" : true
  }, {
    "type" : "STORAGE",
    "guid" : "...",
    "backupDestination" : {
      "guid" : "...",
      "name" : "..."
    },
    "roleType" : "ARCHIVE",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    },
    "daysToKeepRetentionLock" : 12345,
    "active" : true
  } ],
  "position" : 12345,
  "secondaryBdEnabled" : true
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "guid" : "...",
  "name" : "...",
  "policy" : {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  },
  "schedules" : [ {
    "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
    "name" : "Entity name"
  }, {
    "guid" : "...",
    "name" : "..."
  } ],
  "ruleBackupDestinations" : [ {
    "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,
    "rule" : {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "backupDestination" : {
      "type" : { },
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "name" : "Entity name"
    },
    "roleType" : "PRIMARY",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    }
  }, {
    "guid" : "...",
    "name" : "...",
    "policy" : {
      "guid" : "...",
      "name" : "..."
    },
    "schedules" : [ {
      "guid" : "...",
      "name" : "..."
    }, {
      "guid" : "...",
      "name" : "..."
    } ],
    "vmCount" : 12345,
    "schedulesCount" : 12345,
    "position" : 12345,
    "active" : true,
    "removable" : true,
    "daysToKeepRetentionLock" : 12345,
    "rule" : {
      "guid" : "...",
      "name" : "..."
    },
    "backupDestination" : {
      "type" : { },
      "guid" : "...",
      "name" : "..."
    },
    "roleType" : "ARCHIVE",
    "backupRetentionSettings" : {
      "retentionKeepLastNFull" : 12345,
      "retentionKeepFullNewerThan" : 12345,
      "retentionKeepLastNIncremental" : 12345,
      "retentionKeepIncrementalNewerThan" : 12345,
      "keepLastBackupWhenSourceStillExists" : true
    }
  } ],
  "vmCount" : 12345,
  "schedulesCount" : 12345,
  "position" : 12345,
  "active" : true,
  "backupCount" : 12345,
  "removable" : true,
  "markedForDeletion" : true,
  "daysToKeepRetentionLock" : 12345
}