Resource: backups
Backups
http://{device}/api/npm.backup/2.0/backups/server/{server_id}
{ "completed": [ completed_backup ], "server_id": integer }
Property Name | Type | Description | Notes |
---|---|---|---|
backups | <object> | Backups | Required properties: [server_id, completed]; |
backups.completed | <array of <completed_backup>> | List of completed backups | |
backups.completed[items] | <completed_backup> | A backup stored on a server | |
backups.server_id | <integer> | ID of the backup server (filer) |
Links
backups: get
Get backups
GET http://{device}/api/npm.backup/2.0/backups/server/{server_id}Response Body
Returns a backups data object.
backups: start
Start a backup
POST http://{device}/api/npm.backup/2.0/backups/server/{server_id}/startRequest Body
Provide a request body with the following structure:
{ "contents": content_info, "desc": string, "name": string, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
backups.links.start.request | <object> | Required properties: [name, desc, contents]; | |
backups.links.start.request.contents | <content_info> | Content information describes what a backup contains and what a restore operation restores | |
backups.links.start.request.desc | <string> | Description | |
backups.links.start.request.name | <string> | Name | |
backups.links.start.request.<prop> | <any> | Optional; |
Returns an operation_info data object.
backups: upload
Upload a backup file. A backup file is obtained from the download link on a backup resource. The accepted content-type is application/octet-stream. Available for local backups only.
POST http://{device}/api/npm.backup/2.0/backups/server/{server_id}/uploadRequest Body
Do not provide a request body.
Response BodyReturns a completed_backup data object.
Resource: completed_backup
A backup stored on a server
http://{device}/api/npm.backup/2.0/completed_backups/server/{server_id}/items/{id}
{ "contents": content_info, "created_on": integer, "desc": string, "hostname": string, "id": string, "model": string, "name": string, "serial": string, "server_id": integer, "sid": string, "size": integer, "status": status, "sw_version": string }
Property Name | Type | Description | Notes |
---|---|---|---|
completed_backup | <object> | A backup stored on a server | Required properties: [id, name, desc, server_id, status, hostname, sw_version, model, serial, created_on, contents, size]; |
completed_backup.contents | <content_info> | Content information describes what a backup contains and what a restore operation restores | |
completed_backup.created_on | <integer> | Creation timestamp | Read-only; |
completed_backup.desc | <string> | Description | |
completed_backup.hostname | <string> | Hostname | Read-only; |
completed_backup.id | <string> | ID (uuid) | Read-only; |
completed_backup.model | <string> | Model | Read-only; |
completed_backup.name | <string> | Name | |
completed_backup.serial | <string> | Serial | Read-only; |
completed_backup.server_id | <integer> | ID of the backup server (filer) | Read-only; |
completed_backup.sid | <string> | ID of associated scheduled backup | Read-only; Optional; |
completed_backup.size | <integer> | Size in bytes | Read-only; |
completed_backup.status | <status> | Status description | Values: started, completed, failed, aborted; |
completed_backup.sw_version | <string> | Software version | Read-only; |
Links
completed_backup: delete
Delete a backup
DELETE http://{device}/api/npm.backup/2.0/completed_backups/server/{server_id}/items/{id}Response Body
On success, the server does not provide any body in the responses.
completed_backup: download
Retrieve the backup file. This link returns binary data. Available for local backups only.
GET http://{device}/api/npm.backup/2.0/completed_backups/server/{server_id}/items/{id}/fileResponse Body
On success, the server does not provide any body in the responses.
completed_backup: get
Get a backup
GET http://{device}/api/npm.backup/2.0/completed_backups/server/{server_id}/items/{id}Response Body
Returns a completed_backup data object.
completed_backup: restore
Restore a backup
POST http://{device}/api/npm.backup/2.0/completed_backups/server/{server_id}/items/{id}/restoreRequest Body
Provide a content_info data object.
Response BodyReturns an operation_info data object.
Resource: device_status
Backup and Restore status
http://{device}/api/npm.backup/2.0/device_status
{ "available_backup_modules": [ module ], "available_restore_modules": [ module ], "current_operation": { "backup_details": operation_details_backup, "info": operation_info, "progress": { "completed": integer, "status_message": string, "total": integer }, "restore_details": operation_details_restore }, "latest_backup": operation_info, "latest_restore": operation_info, "system_id": string }
Property Name | Type | Description | Notes |
---|---|---|---|
device_status | <object> | Backup and Restore status | Required properties: [available_backup_modules, available_restore_modules, system_id]; |
device_status.available_backup_modules | <array of <module>> | ||
device_status.available_backup_modules [items] |
<module> | A backup module | |
device_status.available_restore_modules | <array of <module>> | ||
device_status.available_restore_modules [items] |
<module> | A backup module | |
device_status.current_operation | <object> | Information about the current operation | Required properties: [info, progress]; Optional; |
device_status.current_operation. backup_details |
<operation_details_backup> | Backup operation details | |
device_status.current_operation.info | <operation_info> | Backup operation information | |
device_status.current_operation.progress | <object> | Progress report | Required properties: [completed, total, status_message]; |
device_status.current_operation.progress. completed |
<integer> | Number of steps completed so far | |
device_status.current_operation.progress. status_message |
<string> | Information about the current step | |
device_status.current_operation.progress. total |
<integer> | Total number of steps | |
device_status.current_operation. restore_details |
<operation_details_restore> | Restore operation details | |
device_status.current_operation.oneOf[0] | <object> | Required properties: [info, backup_details]; | |
device_status.current_operation.oneOf[0]. backup_details |
<operation_details_backup> | Backup operation details | |
device_status.current_operation.oneOf[0]. info |
<object> | Required properties: [operation_type]; | |
device_status.current_operation.oneOf[0]. info.operation_type |
<string> | Values: backup; | |
device_status.current_operation.oneOf[0]. info.<prop> |
<any> | Optional; | |
device_status.current_operation.oneOf[0]. <prop> |
<any> | Optional; | |
device_status.current_operation.oneOf[1] | <object> | Required properties: [info, restore_details]; | |
device_status.current_operation.oneOf[1]. info |
<object> | Required properties: [operation_type]; | |
device_status.current_operation.oneOf[1]. info.operation_type |
<string> | Values: restore; | |
device_status.current_operation.oneOf[1]. info.<prop> |
<any> | Optional; | |
device_status.current_operation.oneOf[1]. restore_details |
<operation_details_restore> | Restore operation details | |
device_status.current_operation.oneOf[1]. <prop> |
<any> | Optional; | |
device_status.latest_backup | <operation_info> | Backup operation information | |
device_status.latest_restore | <operation_info> | Backup operation information | |
device_status.system_id | <string> | System identifier |
Links
device_status: cancel_operation
Cancel current operation
POST http://{device}/api/npm.backup/2.0/device_status/cancel_operationRequest Body
Do not provide a request body.
Response BodyOn success, the server does not provide any body in the responses.
device_status: estimate_size
Get a backup size estimate
POST http://{device}/api/npm.backup/2.0/device_status/estimate_sizeRequest Body
Provide a content_info data object.
Response BodyReturns a backup_size data object.
device_status: get
Get current status
GET http://{device}/api/npm.backup/2.0/device_statusResponse Body
Returns a device_status data object.
device_status: reset_factory
Reset the appliance to its initial configuration, wiping out all configuration, logs, and data
POST http://{device}/api/npm.backup/2.0/device_status/reset_factoryRequest Body
Do not provide a request body.
Response BodyReturns an operation_info data object.
Resource: scheduled_backup
A schedule backup
http://{device}/api/npm.backup/2.0/scheduled_backups/items/{id}
{ "active": boolean, "contents": content_info, "desc": string, "id": string, "last_backup": integer, "name": string, "next_backup": integer, "retention": integer, "retry_attempts": integer, "retry_delay": integer, "rrule": recurrence_rule, "server_id": integer }
Property Name | Type | Description | Notes |
---|---|---|---|
scheduled_backup | <object> | A schedule backup | Required properties: [name, desc, active, retry_attempts, retry_delay, retention, server_id, contents, rrule]; |
scheduled_backup.active | <boolean> | Scheduled backup is active | |
scheduled_backup.contents | <content_info> | Content information describes what a backup contains and what a restore operation restores | |
scheduled_backup.desc | <string> | Description | |
scheduled_backup.id | <string> | ID (uuid) | Read-only; Optional; |
scheduled_backup.last_backup | <integer> | Timestamp that backup last occurred | Read-only; Optional; |
scheduled_backup.name | <string> | Name | |
scheduled_backup.next_backup | <integer> | Timestamp that next backup will occur | Read-only; Optional; |
scheduled_backup.retention | <integer> | Specifies number of backups to retain | Range: 1 to 9999; |
scheduled_backup.retry_attempts | <integer> | Specifies number of times to retry failed backup attempts | Range: 0 to 9999; |
scheduled_backup.retry_delay | <integer> | Specifies number of minutes between retry attempts | Range: 0 to 9999; |
scheduled_backup.rrule | <recurrence_rule> | Recurrence rule specification for report schedule. Implements(incompletely) the Recurrence Rule Specification from iCalendar RFC - http://www.ietf.org/rfc/rfc2445.txt | |
scheduled_backup.server_id | <integer> | ID of backup_server to send backup to |
Links
scheduled_backup: backup_now
Start the scheduled backup now
POST http://{device}/api/npm.backup/2.0/scheduled_backups/items/{id}/backup_nowRequest Body
Do not provide a request body.
Response BodyReturns an operation_info data object.
scheduled_backup: delete
Delete a scheduled backup
DELETE http://{device}/api/npm.backup/2.0/scheduled_backups/items/{id}Response Body
On success, the server does not provide any body in the responses.
scheduled_backup: get
Get a scheduled backup
GET http://{device}/api/npm.backup/2.0/scheduled_backups/items/{id}Response Body
Returns a scheduled_backup data object.
scheduled_backup: set
Update scheduled backup
PUT http://{device}/api/npm.backup/2.0/scheduled_backups/items/{id}Request Body
Provide a scheduled_backup data object.
Response BodyReturns a scheduled_backup data object.
Relations
Resource: scheduled_backups
Scheduled backups
http://{device}/api/npm.backup/2.0/scheduled_backups
{ "items": [ scheduled_backup ] }
Property Name | Type | Description | Notes |
---|---|---|---|
scheduled_backups | <object> | Scheduled backups | |
scheduled_backups.items | <array of <scheduled_backup>> | List of scheduled backups | Optional; |
scheduled_backups.items[items] | <scheduled_backup> | A schedule backup |
Links
scheduled_backups: create
Add a scheduled backup
POST http://{device}/api/npm.backup/2.0/scheduled_backupsRequest Body
Provide a scheduled_backup data object.
Response BodyReturns a scheduled_backup data object.
scheduled_backups: get
Get scheduled backup
GET http://{device}/api/npm.backup/2.0/scheduled_backupsResponse Body
Returns a scheduled_backups data object.
Resource: server
Backup server (filer)
http://{device}/api/npm.backup/2.0/servers/items/{id}
{ "desc": string, "host": string, "id": integer, "name": string, "new_private_key": string, "path": string, "port": integer, "public_key": string, "user": string }
Property Name | Type | Description | Notes |
---|---|---|---|
server | <object> | Backup server (filer) | Required properties: [name, desc, host, port, path, user]; |
server.desc | <string> | Description | |
server.host | <string> | Host | |
server.id | <integer> | ID | Read-only; Optional; |
server.name | <string> | Name | |
server.new_private_key | <string> | RSA Private Key. Set this during create or update to configure the key. If not set during create then a key will be generated automatically and will be returned in this field in the response. | Optional; |
server.path | <string> | Path | |
server.port | <integer> | Port | |
server.public_key | <string> | RSA Public Key. The public key will be available every time the resource is queried. | Read-only; Optional; |
server.user | <string> | User |
Links
server: delete
Delete a server
DELETE http://{device}/api/npm.backup/2.0/servers/items/{id}Response Body
On success, the server does not provide any body in the responses.
server: generate_key
Generate a new RSA keypair and update the server resource with the new keypair. The response to this call will contain the newly generated private key, which will be the only time that the private key will be made available. The response will also contain the public key.
POST http://{device}/api/npm.backup/2.0/servers/items/{id}/generate_keyRequest Body
Do not provide a request body.
Response BodyReturns a server data object.
server: get
Get a server
GET http://{device}/api/npm.backup/2.0/servers/items/{id}Response Body
Returns a server data object.
server: set
Update a server
PUT http://{device}/api/npm.backup/2.0/servers/items/{id}Request Body
Provide a server data object.
Response BodyReturns a server data object.
server: test
Test server connection
POST http://{device}/api/npm.backup/2.0/servers/items/{id}/testRequest Body
Do not provide a request body.
Response BodyOn success, the server returns a response body with the following structure:
{ "message": string, "success": boolean }
Property Name | Type | Description | Notes |
---|---|---|---|
server.links.test.response | <object> | Server connection test result | Required properties: [success, message]; |
server.links.test.response.message | <string> | Contains failure information if test fails | |
server.links.test.response.success | <boolean> | Indicates test success or failure |
Relations
Resource: servers
Backup servers (filers)
http://{device}/api/npm.backup/2.0/servers
{ "items": [ server ] }
Property Name | Type | Description | Notes |
---|---|---|---|
servers | <object> | Backup servers (filers) | |
servers.items | <array of <server>> | List of servers | Optional; |
servers.items[items] | <server> | Backup server (filer) |
Links
servers: create
Add a server
POST http://{device}/api/npm.backup/2.0/serversRequest Body
Provide a server data object.
Response BodyReturns a server data object.
servers: get
Get servers
GET http://{device}/api/npm.backup/2.0/serversResponse Body
Returns a servers data object.
Type: backup_size
Backup size
{ "data_size": [ { "module": string, "size": integer, <prop>: any } ], "total_size": integer }
Property Name | Type | Description | Notes |
---|---|---|---|
backup_size | <object> | Backup size | Required properties: [total_size, data_size]; |
backup_size.data_size | <array of <object>> | ||
backup_size.data_size[items] | <object> | ||
backup_size.data_size[items].module | <string> | Module short_name | Optional; |
backup_size.data_size[items].size | <integer> | Size in kilobytes | Optional; |
backup_size.data_size[items].<prop> | <any> | Optional; | |
backup_size.total_size | <integer> | Total size |
Type: backup_status
Information about a backup
{ "backup_id": string, "name": string, "operation_type": string, "sbu_id": string, "server_name": string, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
backup_status | <object> | Information about a backup | Required properties: [operation_type, name, server_name, backup_id]; |
backup_status.backup_id | <string> | Backup ID | |
backup_status.name | <string> | Name | |
backup_status.operation_type | <string> | Values: backup; | |
backup_status.sbu_id | <string> | SBU ID | Optional; |
backup_status.server_name | <string> | Backup server (filer) name | |
backup_status.<prop> | <any> | Optional; |
Type: content_info
Content information describes what a backup contains and what a restore operation restores
{ "config_only": boolean, "modules": module_list }
Property Name | Type | Description | Notes |
---|---|---|---|
content_info | <object> | Content information describes what a backup contains and what a restore operation restores | Required properties: [config_only]; |
content_info.config_only | <boolean> | Configuration data only. When restoring, setting this flag to True will force a config-only restore. The flag has no effect if the backup is already config-only. | |
content_info.modules | <module_list> |
Type: factory_reset_status
Information about a factory reset
{ "operation_type": string, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
factory_reset_status | <object> | Information about a factory reset | Required properties: [operation_type]; |
factory_reset_status.operation_type | <string> | Values: reset-factory; | |
factory_reset_status.<prop> | <any> | Optional; |
Type: module
A backup module
{ "desc": string, "group": string, "group_type": string, "short_name": string, "supported_options": [ string ] }
Property Name | Type | Description | Notes |
---|---|---|---|
module | <object> | A backup module | Required properties: [short_name, group, desc, group_type, supported_options]; |
module.desc | <string> | Description | |
module.group | <string> | Module group | |
module.group_type | <string> | Type of data (transaction, aggregate, etc) | |
module.short_name | <string> | Short identifier | Pattern: '[A-Za-z0-9]+'; |
module.supported_options | <array of <string>> | List of available option names | |
module.supported_options[items] | <string> |
Type: module_list
[ { "module": string, "options": [ { "name": string, "value": string, <prop>: any } ] } ]
Property Name | Type | Description | Notes |
---|---|---|---|
module_list | <array of <object>> | ||
module_list[items] | <object> | Required properties: [module, options]; | |
module_list[items].module | <string> | Module short_name | |
module_list[items].options | <array of <object>> | list of option names and values | |
module_list[items].options[items] | <object> | ||
module_list[items].options[items].name | <string> | Parameter name | Optional; |
module_list[items].options[items].value | <string> | Parameter value | Optional; |
module_list[items].options[items].<prop> | <any> | Optional; |
Type: operation_details_backup
Backup operation details
{ "contents": content_info, "size_estimate": backup_size }
Property Name | Type | Description | Notes |
---|---|---|---|
operation_details_backup | <object> | Backup operation details | Required properties: [size_estimate, contents]; |
operation_details_backup.contents | <content_info> | Content information describes what a backup contains and what a restore operation restores | |
operation_details_backup.size_estimate | <backup_size> | Backup size |
Type: operation_details_restore
Restore operation details
{ "size": integer }
Property Name | Type | Description | Notes |
---|---|---|---|
operation_details_restore | <object> | Restore operation details | Required properties: [size]; |
operation_details_restore.size | <integer> | Size in bytes |
Type: operation_info
Backup operation information
{ "operation_type": string, "start_time": integer, "status": status, "status_message": string, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
operation_info | <object> | Backup operation information | Required properties: [operation_type, start_time, status, status_message]; |
operation_info.operation_type | <string> | Type of backup operation | Values: backup, restore, reset-factory; |
operation_info.start_time | <integer> | Timestamp of the start time | |
operation_info.status | <status> | Status description | Values: started, completed, failed, aborted; |
operation_info.status_message | <string> | Status message | |
operation_info.<prop> | <any> | Optional; | |
operation_info.oneOf[0] | <backup_status> | Information about a backup | |
operation_info.oneOf[1] | <restore_status> | Information about a restore | |
operation_info.oneOf[2] | <factory_reset_status> | Information about a factory reset |
Type: recurrence_rule
Recurrence rule specification for report schedule. Implements(incompletely) the Recurrence Rule Specification from iCalendar RFC - http://www.ietf.org/rfc/rfc2445.txt
{ "byday": [ string ], "byhour": [ integer ], "byminute": [ integer ], "bymonth": [ integer ], "bymonthday": [ integer ], "bysecond": [ integer ], "bysetpos": [ integer ], "count": integer, "dtstart": integer, "freq": string, "interval": integer, "timezone": string, "until": string }
Property Name | Type | Description | Notes |
---|---|---|---|
recurrence_rule | <object> | Recurrence rule specification for report schedule. Implements(incompletely) the Recurrence Rule Specification from iCalendar RFC - http://www.ietf.org/rfc/rfc2445.txt | Required properties: [freq]; |
recurrence_rule.byday | <array of <string>> | Specifies days of the week. | Optional; |
recurrence_rule.byday[items] | <string> | Values: SU, MO, TU, WE, TH, FR, SA; | |
recurrence_rule.byhour | <array of <integer>> | Specifies hours of the day. | Optional; |
recurrence_rule.byhour[items] | <integer> | Range: 0 to 23; | |
recurrence_rule.byminute | <array of <integer>> | Specifies minutes within an hour. | Optional; |
recurrence_rule.byminute[items] | <integer> | Minimum 0; | |
recurrence_rule.bymonth | <array of <integer>> | Specifies array of the months of the year. | Optional; |
recurrence_rule.bymonth[items] | <integer> | Range: 1 to 12; | |
recurrence_rule.bymonthday | <array of <integer>> | Specifies array of days of the month. 0 is invalid value. | Optional; |
recurrence_rule.bymonthday[items] | <integer> | Range: -31 to 31; | |
recurrence_rule.bysecond | <array of <integer>> | Specifies seconds within a minute. | Optional; |
recurrence_rule.bysecond[items] | <integer> | Range: 0 to 59; | |
recurrence_rule.bysetpos | <array of <integer>> | Specifies the nth occurrence within the set of events specified by the rule. 0 is invalid value. It MUST only be used in conjunction with another BYxxx rule part. | Optional; |
recurrence_rule.bysetpos[items] | <integer> | Range: -366 to 366; | |
recurrence_rule.count | <integer> | # TODO enforce this in the schema Specifies the number of occurrences, either until or count must be specified, but not both. | Optional; Minimum 1; |
recurrence_rule.dtstart | <integer> | Specifies when the recurrence begins. High precision timestamp relative to the Unix Epoch. | Optional; |
recurrence_rule.freq | <string> | Type of recurrence rule, to specify repeating events based on an interval of freq. | Values: YEARLY, QUARTERLY, MONTHLY, WEEKLY, DAILY, HOURLY, ONETIME; |
recurrence_rule.interval | <integer> | Specifies how often the recurrence rule repeats. | Optional; |
recurrence_rule.timezone | <string> | Specifies when the time zone. Example: Europe/Budapest. If not specified Etc/Universal is used. | Optional; |
recurrence_rule.until | <string> | # TODO enforce this in the schema Specifies when the recurrence ends, either until or count must be specified, but not both. High precision timestamp relative to the Unix Epoch. | Optional; |
Type: restore_status
Information about a restore
{ "backup_id": string, "operation_type": string, "server_name": string, <prop>: any }
Property Name | Type | Description | Notes |
---|---|---|---|
restore_status | <object> | Information about a restore | Required properties: [operation_type, server_name]; |
restore_status.backup_id | <string> | Backup ID | Optional; |
restore_status.operation_type | <string> | Values: restore; | |
restore_status.server_name | <string> | Backup server (filer) name | |
restore_status.<prop> | <any> | Optional; |
Type: status
Status description
string
Property Name | Type | Description | Notes |
---|---|---|---|
status | <string> | Status description | Values: started, completed, failed, aborted; |