备份服务 API v2¶
备份 (backups)¶
备份允许用户记录他们的备份以及关于这些备份的元数据信息,以及备份何时进行。它保存备份信息。
列出备份。
此操作列出项目的备份。备份按名称字母顺序排序。
正常响应代码:200
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
limit (可选) |
查询 |
整数 |
请求项目页面大小。返回最多限制值数量的项目。使用 |
marker (可选) |
查询 |
字符串 |
最后一个已查看项目的 ID。使用 |
search (可选) |
body |
dict |
列表的查询选项。它是一个 JSON 结构。它包含关键字 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
backups (可选) |
body |
列表 |
备份列表。 |
请求示例¶
{
"match_not": [
{
"storage": "ftps"
}
],
"match": [
{
"backup_name": "freezer_mysql_backup"
}
]
}
响应示例¶
{
"backups": [
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"backup_id": "96a5946a6e994a38a3d1008fbc6f3406",
"user_id": "a387de3311484ce58c4560486bc153f1",
"job_id": "df96800d16fc4d28af75c8451daf0a92",
"backup_metadata": {
"ssh_port": 22,
"curr_backup_level": 0,
"backup_name": "freezer_mysql_backup",
"container": "freezer_database_backups",
"compression": "gzip",
"dry_run": "",
"hostname": "backup-node1",
"storage": "swift",
"vol_snap_path": "\/var\/lib\/freezer_81856317d419498cb95f3bdffc847361\/.",
"os_auth_version": "",
"client_os": "linux2",
"time_stamp": 1486660214,
"container_segments": "",
"ssh_username": "",
"path_to_backup": "\/var\/lib\/freezer_81856317d419498cb95f3bdffc847361\/.",
"ssh_key": "",
"proxy": "",
"always_level": "",
"max_level": 14,
"backup_media": "fs",
"ssh_host": "",
"mode": "mysql",
"fs_real_path": "\/var\/lib\/mysql\/",
"action": "backup",
"client_version": "2.0.2",
"log_file": "\/root\/.freezer\/freezer.log"
},
"client_id": "backup-node1",
"backup_uuid": "9598dd99e1ce42019e498c5493ae1f84",
"user_name": "os_backup"
},
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"backup_id": "0cd44caf6db5486b94a04b33256a5ff4",
"user_id": "a387de3311484ce58c4560486bc153f1",
"job_id": "b30efac3ef744c45bf3062775ea3525b",
"backup_metadata": {
"ssh_port": 22,
"curr_backup_level": 0,
"backup_name": "freezer_mysql_backup",
"container": "freezer_database_backups",
"compression": "gzip",
"dry_run": "",
"hostname": "backup-node1",
"storage": "swift",
"vol_snap_path": "\/var\/lib\/freezer_c5d4504387f84b1e96266b6f00bf5f04\/.",
"os_auth_version": "",
"client_os": "linux2",
"time_stamp": 1486660222,
"container_segments": "",
"ssh_username": "",
"path_to_backup": "\/var\/lib\/freezer_c5d4504387f84b1e96266b6f00bf5f04\/.",
"ssh_key": "",
"proxy": "",
"always_level": "",
"max_level": 14,
"backup_media": "fs",
"ssh_host": "",
"mode": "mysql",
"fs_real_path": "\/var\/lib\/mysql\/",
"action": "backup",
"client_version": "2.0.2",
"log_file": "\/root\/.freezer\/freezer.log"
},
"client_id": "backup-node1",
"backup_uuid": "2ba51cb9eff543d4b9a530b3c0d2f7cc",
"user_name": "os_backup"
}
]
}
显示备份。
此操作显示某个备份。备份详情。
正常响应代码:200
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
backup_id |
查询 |
字符串 |
备份的 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
body |
字符串 |
项目的 UUID。项目也称为租户。 |
user_id |
body |
字符串 |
用户的 UUID。 |
backup_id |
body |
字符串 |
备份的 UUID。 |
username |
body |
字符串 |
用户名。 |
backup_metadata |
body |
列表 |
备份元数据信息的列表。这包含备份详情,例如 |
响应示例¶
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"backup_id": "96a5946a6e994a38a3d1008fbc6f3406",
"user_name": "demo",
"backup_metadata":
{
"ssh_port": 22,
"consistency_checksum": "",
"curr_backup_level": 0,
"backup_name": "test0001_backup",
"container": "/tmp/test0001_container",
"compression": "gzip",
"dry_run": "",
"hostname": "szaher",
"storage": "local",
"vol_snap_path": "/etc/",
"os_auth_version": "",
"client_os": "linux2",
"time_stamp": 1493052022,
"container_segments": "",
"ssh_username": "",
"path_to_backup": "/etc/",
"ssh_key": "",
"proxy": "",
"job_id": "0ae284d514eb47dd84154748b5056749",
"always_level": "",
"max_level": "",
"backup_media": "fs",
"ssh_host": "",
"mode": "fs",
"fs_real_path": "/etc/",
"action": "backup",
"client_version": "5.0.0",
"log_file": "/home/saad/job0001.log"
},
"_version": 1
}
删除项目中的备份。
此操作删除某个备份。
正常响应代码:204
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
backup_id |
查询 |
字符串 |
备份的 UUID。 |
此操作没有响应。
客户端 (clients)¶
客户端允许 freezer 调度器或用户创建客户端,以便能够创建、更新、显示或删除作业。客户端需要记录你在 freezer api 上的备份。
列出客户端。
此操作列出客户端。
正常响应代码:200
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
limit (可选) |
查询 |
整数 |
请求项目页面大小。返回最多限制值数量的项目。使用 |
offset (可选) |
查询 |
字符串 |
最后一个已查看项目的 ID。使用 |
search (可选) |
body |
dict |
列表的查询选项。它是一个 JSON 结构。它包含关键字 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
clients |
body |
列表 |
客户端列表。 |
请求示例¶
{
"match_not": [
{
"client_id": "tecs_node1"
}
],
"match": [
{
"user_id":"0cd44caf6db5486b94a04b33256a5ff4"
}
]
}
响应示例¶
{
"clients":
[
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"client":
{
"hostname": "szaher01",
"uuid": "6f588392aa864c96b4af96a4eae005ce",
"client_id": "752d8bd43d654e7a840bbfda77ce41af_szaher01"
}
},
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"client":
{
"hostname": "szaher",
"uuid": "c4031a9885384376a717a238ae975d9b",
"client_id": "752d8bd43d654e7a840bbfda77ce41af_szaher"
}
}
]
}
创建一个客户端。
此操作创建一个新的客户端。
正常响应代码:201
错误响应代码
语法错误 (753)
BadRequest (400)
未授权 (401)
ServiceUnavailable (503)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
hostname |
body |
字符串 |
客户端运行机器的主机名。 |
uuid |
body |
字符串 |
客户端 UUID。 |
client_id |
body |
字符串 |
客户端 UUID。 |
请求示例¶
{
"client":
{
"hostname": "szaher01",
"uuid": "c4031a4885384376a717a238de975a9c"
},
"client_id": "752d8cd43d654e7a840bbfd277ce41af_szaher01"
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
client_id |
body |
字符串 |
客户端 UUID。 |
响应示例¶
{"client_id": "752d8cd43d654e7a840bbfd277ce41af_szaher01"}
显示客户端。
此操作显示某个客户端。它显示所有客户端详情。
正常响应代码:200
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
client_id |
查询 |
字符串 |
客户端 ID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
body |
字符串 |
项目的 UUID。项目也称为租户。 |
user_id |
body |
字符串 |
用户的 UUID。 |
client_id |
body |
字符串 |
客户端 UUID。 |
hostname |
body |
字符串 |
客户端运行机器的主机名。 |
uuid |
body |
字符串 |
客户端 UUID。 |
响应示例¶
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"client":
{
"hostname": "szaher01",
"uuid": "6f588392aa864c96b4af96a4eae005ce",
"client_id": "752d8bd43d654e7a840bbfda77ce41af_szaher01"
}
}
删除客户端。
此操作删除某个客户端。
正常响应代码:204
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
client_id |
查询 |
字符串 |
客户端 ID。 |
此操作没有响应。
作业 (jobs)¶
作业允许用户在一个或多个节点上安排和执行备份作业。作业通过 api 存储在数据库中。每个作业包含一组执行备份作业的操作。
列出作业。
此操作列出项目的作业。
正常响应代码:200
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
limit (可选) |
查询 |
整数 |
请求项目页面大小。返回最多限制值数量的项目。使用 |
offset (可选) |
查询 |
字符串 |
最后一个已查看项目的 ID。使用 |
search (可选) |
body |
dict |
列表的查询选项。它是一个 JSON 结构。它包含关键字 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
jobs (可选) |
body |
列表 |
作业列表。 |
请求示例¶
{
"match_not": [
{
"schedule_interval": "10 days"
}
],
"match": [
{
"client_id": "752d8bd43d654e7a840bbfda77ce41af_szaher"
}
]
}
响应示例¶
{
"jobs":
[
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"description": "Test-0001",
"job_schedule":
{
"schedule_interval": "50 minutes",
"status": "scheduled",
"time_started": 1493055141,
"time_created": 1493051865,
"time_ended": 1493055142,
"result": "success",
"current_pid": 16793,
"event": ""
},
"client_id": "752d8bd43d654e7a840bbfda77ce41af_szaher",
"job_actions":
[
{
"freezer_action":
{
"backup_name": "test0001_backup",
"container": "/tmp/test0001_container",
"no_incremental": true,
"path_to_backup": "/etc/",
"storage": "local",
"log_file": "/home/saad/job0001.log",
"snapshot": false,
"action": "backup",
"remove_older_than": 365
},
"max_retries": 5,
"max_retries_interval": 6,
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"action_id": "280d51d041ce4d4da8a386e96263f759",
"project_id": "752d8bd43d654e7a840bbfda77ce41af"
}
],
"job_id": "0ae284d514eb47dd84154748b5056749"
}
]
}
创建一个作业。
此操作创建一个新的作业。
body属性指定包含要创建的一组操作作业提交后。
description 是你给作业的名称。名称长度不得超过 64 字节。
job_schedule 对于安排作业非常重要,否则它只会运行一次。你还可以提供 event,它可以自动启动/停止作业。
job_actions 是要执行的实际备份或恢复操作。
正常响应代码:201
错误响应代码
语法错误 (753)
BadRequest (400)
未授权 (401)
ServiceUnavailable (503)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
description |
body |
字符串 |
作业的名称。 |
job_schedule |
body |
dict |
作业的计划信息。 |
job_actions |
body |
列表 |
执行备份/恢复作业的一组操作。 |
请求示例¶
{
"description": "Test-0001",
"job_schedule": {
"schedule_interval": "5 minutes",
"status": "scheduled",
"event": "start"
},
"job_actions": [
{
"max_retries": 5,
"max_retries_interval": 6,
"freezer_action": {
"backup_name": "test0001_backup",
"container": "test0001_container",
"no_incremental": true,
"path_to_backup": "/etc/",
"log_file": "/home/saad/job0001.log",
"snapshot": true,
"action": "backup",
"remove_older_than": 365
}
}
]
}
此操作不返回响应体。
显示作业。
此操作显示某个作业。它显示作业内部的所有作业详情和操作。
正常响应代码:200
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
job_id |
查询 |
字符串 |
作业 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
job_id |
body |
字符串 |
作业 UUID。 |
client_id |
body |
字符串 |
客户端 UUID。 |
user_id |
body |
字符串 |
用户的 UUID。 |
session_id |
body |
字符串 |
会话 UUID。 |
description |
body |
字符串 |
作业的名称。 |
job_actions |
body |
列表 |
执行备份/恢复作业的一组操作。 |
job_schedule |
body |
dict |
作业的计划信息。 |
响应示例¶
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"description": "Test-0001",
"_version": 83,
"job_schedule":
{
"schedule_interval": "2 minutes",
"status": "scheduled",
"time_started": 1493119341,
"time_created": 1493051865,
"time_ended": 1493119342,
"result": "success",
"current_pid": 10058,
"event": ""
},
"client_id": "752d8bd43d654e7a840bbfda77ce41af_szaher",
"job_actions":
[
{
"freezer_action":
{
"backup_name": "test0001_backup",
"container": "/tmp/test0001_container",
"no_incremental": true,
"path_to_backup": "/etc/",
"storage": "local",
"log_file": "/home/saad/job0001.log",
"snapshot": false,
"action": "backup",
"remove_older_than": 365
},
"max_retries": 5,
"max_retries_interval": 6,
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"action_id": "280d51d041ce4d4da8a386e96263f759",
"project_id": "752d8bd43d654e7a840bbfda77ce41af"
}
],
"job_id": "0ae284d514eb47dd84154748b5056749"
}
更新作业。
此操作创建一个新的作业。
body属性指定包含要更新的操作作业提交后。
description 是你给作业的名称。名称长度不应超过 64 字节。
job_schedule 对于安排作业非常重要,否则它只会运行一次。你还可以提供 event,它可以自动启动/停止作业。
job_actions 是要执行的实际备份或恢复操作。
正常响应代码:201
错误响应代码
语法错误 (753)
BadRequest (400)
未授权 (401)
ServiceUnavailable (503)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
job_id |
查询 |
字符串 |
作业 UUID。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
description |
body |
字符串 |
作业的名称。 |
job_schedule |
body |
dict |
作业的计划信息。 |
job_actions |
body |
列表 |
执行备份/恢复作业的一组操作。 |
请求示例¶
{
"description": "Test-0001",
"job_schedule": {
"schedule_interval": "5 minutes",
"status": "scheduled",
"event": "stop"
},
"job_actions": [
{
"max_retries": 10,
"max_retries_interval": 10,
"freezer_action": {
"backup_name": "test0001_backup",
"container": "/tmp/xyzxyzxyz",
"storage": "local",
"no_incremental": true,
"path_to_backup": "/etc/",
"log_file": "/home/saad/job0001.log",
"snapshot": false,
"action": "backup",
"remove_older_than": 365
}
}
]
}
响应示例¶
{"job_id": "0ae284d514eb47dd84154748b5056749", "version": "3"}
删除作业。
此操作删除某个作业。
正常响应代码:204
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
job_id |
查询 |
字符串 |
作业 UUID。 |
此操作没有响应。
操作 (actions)¶
操作允许用户在一个或多个节点上执行备份和恢复操作。操作通过 api 存储在数据库中。它包含在作业中,每个作业包含一组执行备份/恢复作业的操作。
列出操作。
此操作列出项目中的操作。
正常响应代码:200
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
limit (可选) |
查询 |
整数 |
请求项目页面大小。返回最多限制值数量的项目。使用 |
offset (可选) |
查询 |
字符串 |
最后一个已查看项目的 ID。使用 |
search (可选) |
body |
dict |
列表的查询选项。它是一个 JSON 结构。它包含关键字 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
动作 |
body |
列表 |
操作列表。 |
请求示例¶
{
"match_not": [
{
"max_retries": 20
}
],
"match": [
{
"backup_name": "test0001_backup"
}
]
}
响应示例¶
{
"actions":
[
{
"freezer_action":
{
"backup_name": "test0001_backup",
"container": "test0001_container",
"no_incremental": true,
"path_to_backup": "/etc/",
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"snapshot": true,
"action": "backup",
"remove_older_than": 365,
"log_file": "/home/saad/job0001.log"
},
"max_retries": 5,
"max_retries_interval": 6,
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"action_id": "061f7657350a4bddbfabf8d2a25dad96"
},
{
"freezer_action":
{
"backup_name": "test0001_backup",
"container": "/tmp/test0001_container",
"no_incremental": true,
"path_to_backup": "/etc/",
"storage": "local",
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"snapshot": false,
"action": "backup",
"remove_older_than": 365,
"log_file": "/home/saad/job0001.log"
},
"max_retries": 5,
"max_retries_interval": 6,
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"action_id": "317f8bc1fbbe49819d1b60f4b4387e63"
}
]
}
创建一个操作。
此操作在项目中创建一个新的操作。
freezer_action 包含实际的操作参数。freezer_action 因操作而异,具体取决于该操作正在做什么(备份、恢复、管理、信息)
正常响应代码:201
错误响应代码
语法错误 (753)
BadRequest (400)
未授权 (401)
ServiceUnavailable (503)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
freezer_action |
body |
dict |
操作参数。它取决于实际操作(备份、恢复、管理、信息),因此参数不同。 |
max_retries (可选) |
body |
int |
freezer 应该重试执行操作的次数。 |
max_retries_interval (可选) |
body |
int |
freezer 应该在不同重试之间等待的时间来执行操作。 |
请求示例¶
{
"freezer_action":
{
"backup_name": "production_backup",
"container": "prod_container",
"no_incremental": true,
"path_to_backup": "/etc/",
"snapshot": true,
"action": "backup",
"remove_older_than": 365,
"log_file": "/var/log/freezer/job0001.log"
},
"max_retries": 5,
"max_retries_interval": 6
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
action_id |
body |
字符串 |
操作 UUID。 |
响应示例¶
{
"action_id": "1fc414f091b84263b45d7e1f1f85e5bf"
}
在项目中显示操作。
此操作显示某个操作。操作详情。
正常响应代码:200
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
action_id |
查询 |
字符串 |
操作 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
freezer_action |
body |
dict |
操作参数。它取决于实际操作(备份、恢复、管理、信息),因此参数不同。 |
max_retries (可选) |
body |
int |
freezer 应该重试执行操作的次数。 |
max_retries_interval (可选) |
body |
int |
freezer 应该在不同重试之间等待的时间来执行操作。 |
user_id |
body |
字符串 |
用户的 UUID。 |
project_id |
body |
字符串 |
项目的 UUID。项目也称为租户。 |
action_id |
body |
字符串 |
操作 UUID。 |
响应示例¶
{
"freezer_action":
{
"backup_name": "production_backup",
"container": "prod_container",
"no_incremental": true,
"path_to_backup": "/etc/",
"snapshot": true,
"action": "backup",
"remove_older_than": 365,
"log_file": "/var/log/freezer/job0001.log"
},
"max_retries_interval": 6,
"_version": 1,
"max_retries": 5,
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"action_id": "1fc414f091b84263b45d7e1f1f85e5bf"
}
在项目中更新操作。
此操作更新或替换现有操作。
正常响应代码:201
错误响应代码
语法错误 (753)
BadRequest (400)
未授权 (401)
ServiceUnavailable (503)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
action_id |
查询 |
字符串 |
操作 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
freezer_action |
body |
dict |
操作参数。它取决于实际操作(备份、恢复、管理、信息),因此参数不同。 |
max_retries (可选) |
body |
int |
freezer 应该重试执行操作的次数。 |
max_retries_interval (可选) |
body |
int |
freezer 应该在不同重试之间等待的时间来执行操作。 |
action_id |
body |
字符串 |
操作 UUID。 |
请求示例¶
{
"freezer_action":
{
"backup_name": "production_backup",
"container": "prod_container",
"no_incremental": true,
"path_to_backup": "/etc/",
"snapshot": true,
"action": "backup",
"remove_older_than": 365,
"log_file": "/var/log/freezer/job0001.log"
},
"max_retries": 5,
"max_retries_interval": 6
}
响应示例¶
{
"version": 2,
"action_id": "1fc414f091b84263b45d7e1f1f85e5bf"
}
删除项目中的操作。
此操作删除某个操作。
正常响应代码:204
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
action_id |
查询 |
字符串 |
操作 UUID。 |
此操作没有响应。
会话 (sessions)¶
会话是一组共享相同计划时间的作业。会话由其 session_id 标识,并且有一个数字标签 (session_tag),每次启动新会话时都会递增。 session_tag 的目的是标识一组一起执行的作业,因此代表分布式系统的快照。
当 job 添加到会话时,会话的计划时间会复制到作业数据结构中,以便属于同一会话的任何作业都将在同一时间启动。
列出会话。
此操作列出项目中的会话。
正常响应代码:200
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
limit (可选) |
查询 |
整数 |
请求项目页面大小。返回最多限制值数量的项目。使用 |
offset (可选) |
查询 |
字符串 |
最后一个已查看项目的 ID。使用 |
search (可选) |
body |
dict |
列表的查询选项。它是一个 JSON 结构。它包含关键字 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
sessions (可选) |
body |
列表 |
现有会话列表。 |
请求示例¶
{
"match_not": [
{
"schedule_interval": "10 days"
}
],
"match": [
{
"hold_off": 50
}
]
}
响应示例¶
{
"sessions":
[
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"description": "Instance Database backup ",
"schedule":
{
"schedule_interval": "1 days",
"status": "scheduled",
"event": "start"
},
"session_tag": 250,
"session_id": "79eba555449d4cfe8ef66f34cb096295",
"jobs":
{
"0ae284d514eb47dd84154748b5056749":
{
"time_ended": 1493119342,
"status": "scheduled",
"result": "success",
"client_id": "752d8bd43d654e7a840bbfda77ce41af_szaher",
"time_started": 1493119341
}
},
"hold_off": 50
}
]
}
创建一个会话。
此操作在项目中创建一个新的会话。
正常响应代码:201
错误响应代码
语法错误 (753)
BadRequest (400)
未授权 (401)
ServiceUnavailable (503)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
description |
body |
字符串 |
会话的描述。 |
hold_off |
body |
int |
等待一段时间后再次运行相同会话的量。 |
session_tag |
body |
字符串 |
正在使用事件来启动或停止会话。 |
schedule |
body |
dict |
一个字典,其中包含会话计划信息。它与 job_schedule 相同。它包含 |
schedule_internval (可选) |
body |
字符串 |
会话的调度信息。例如“2 小时”表示会话将每 2 小时执行一次。 |
event (可选) |
body |
字符串 |
正在使用事件来启动或停止会话。 |
请求示例¶
{
"session_tag":20,
"description":"Webapp Database backup ",
"hold_off":30,
"schedule":{
"schedule_interval":"1 hours",
"status":"scheduled",
"event":"start"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
session_id |
body |
字符串 |
会话 UUID。 |
响应示例¶
{
"session_id": "79eba555449d4cfe8ef66f34cb096295"
}
显示会话。
此操作显示项目中某个会话。它将显示包含在此会话中的所有会话详细信息和作业。
正常响应代码:200
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
session_id |
查询 |
字符串 |
会话 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
user_id |
body |
字符串 |
用户的 UUID。 |
description |
body |
字符串 |
会话的描述。 |
schedule |
body |
dict |
一个字典,其中包含会话计划信息。它与 job_schedule 相同。它包含 |
session_tag |
body |
字符串 |
正在使用事件来启动或停止会话。 |
session_id |
body |
字符串 |
会话 UUID。 |
hold_off |
body |
int |
等待一段时间后再次运行相同会话的量。 |
响应示例¶
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"description": "Instance Database backup ",
"schedule":
{
"schedule_interval": "1 days",
"status": "scheduled",
"event": "start"
},
"_version": 2,
"session_tag": 250,
"session_id": "79eba555449d4cfe8ef66f34cb096295",
"hold_off": 50
}
{
"project_id": "752d8bd43d654e7a840bbfda77ce41af",
"user_id": "0cd44caf6db5486b94a04b33256a5ff4",
"description": "Instance Database backup ",
"schedule":
{
"schedule_interval": "1 days",
"status": "scheduled",
"event": "start"
},
"_version": 3,
"session_tag": 250,
"session_id": "79eba555449d4cfe8ef66f34cb096295",
"jobs":
{
"0ae284d514eb47dd84154748b5056749":
{
"time_ended": 1493119342,
"status": "scheduled",
"result": "success",
"client_id": "752d8bd43d654e7a840bbfda77ce41af_szaher",
"time_started": 1493119341
}
},
"hold_off": 50
}
更新会话。
此操作更新项目中的新会话。
正常响应代码:200
错误响应代码
语法错误 (753)
BadRequest (400)
未授权 (401)
ServiceUnavailable (503)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
请求参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
description |
body |
字符串 |
会话的描述。 |
hold_off |
body |
int |
等待一段时间后再次运行相同会话的量。 |
session_tag |
body |
字符串 |
正在使用事件来启动或停止会话。 |
schedule |
body |
dict |
一个字典,其中包含会话计划信息。它与 job_schedule 相同。它包含 |
schedule_internval (可选) |
body |
字符串 |
会话的调度信息。例如“2 小时”表示会话将每 2 小时执行一次。 |
event (可选) |
body |
字符串 |
正在使用事件来启动或停止会话。 |
session_id |
查询 |
字符串 |
会话 UUID。 |
请求示例¶
{
"session_tag": 250,
"description": "Instance Database backup ",
"hold_off": 50,
"schedule": {
"schedule_interval": "1 days",
"status": "scheduled",
"event": "start"
}
}
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
session_id |
body |
字符串 |
会话 UUID。 |
版本 |
body |
int |
文档版本。 |
响应示例¶
{
"version": 5,
"session_id": "0ec2c71697464d63813b419d2282a43a"
}
将作业附加到会话。
此操作将某个作业添加到会话。API 将加载作业和会话,并将作业添加到会话文档。
正常响应代码:204
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
session_id |
查询 |
字符串 |
会话 UUID。 |
job_id |
查询 |
字符串 |
作业 UUID。 |
此作业将不会返回任何响应。
从会话中删除作业。
此操作将删除项目中会话中的某个作业。
正常响应代码:204
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
session_id |
查询 |
字符串 |
会话 UUID。 |
job_id |
查询 |
字符串 |
作业 UUID。 |
此作业将不会返回任何响应。
从会话中删除作业。
此操作将删除项目中会话中的某个作业。
正常响应代码:202
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
session_id |
查询 |
字符串 |
会话 UUID。 |
响应参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
result (可选) |
body |
字符串 |
一个字符串,表示操作是否成功 |
session_tag |
body |
字符串 |
正在使用事件来启动或停止会话。 |
响应示例¶
{
"result": "success",
"session_tag": 21
}
删除会话。
此操作将删除项目中的某个会话。
正常响应代码:204
错误响应代码
未授权 (401)
禁止 (403)
查询参数¶
名称 |
入参 |
类型 |
描述 |
|---|---|---|---|
project_id |
查询 |
字符串 |
项目的 UUID。项目也称为租户。 |
session_id |
查询 |
字符串 |
会话 UUID。 |
此作业将不会返回任何响应。