创建备份策略
功能介绍
创建备份策略对服务器进行周期性备份。
URI
- URI
- 参数说明
表1 参数说明 参数
是否必选
参数类型
描述
project_id
是
String
项目ID。
获取方法请参见获取项目ID。
请求
- 要素说明
表2 要素说明 参数
是否必选
参数类型
描述
policy
是
policy_create
创建参数。
详情请参见表3。
- policy_create 字段数据结构说明
表3 policy_create 字段数据结构说明 参数
是否必选
参数类型
描述
description
否
String
备份策略描述,长度限制:0- 255,除了“<”、“>”不能输入,其它字符均可。
name
是
String
备份策略名称,长度限制:1- 255,只能由中文、字母、数字、“_”、“-”组成。
parameters
是
policy_param
备份参数。
详情请参见表4。
provider_id
是
String
备份提供商ID,当前取值固定值:fc4d5750-22e7-4798-8a46-f48f62c4c1da。用于区分备份对象是服务器或磁盘。
resources
是
List<resource>
备份对象列表,列表可以为空。
详情请参见表5。
scheduled_operations
是
List<scheduled_operation_create>
调度周期。
详情请参见表6。
- policy_param 字段数据结构说明
- resource 字段数据结构说明
- scheduled_operation_create 字段数据结构说明
表6 scheduled_operation_create 字段数据结构说明 参数
是否必选
参数类型
描述
description
否
String
调度周期描述,长度限制:0- 255,除了“<”、“>”不能输入,其它字符均可。
enabled
是
Boolean
是否启用该调度周期, 启用时策略会自动调度;不启用时策略不会自动调度,可以通过调用执行备份策略接口手动执行策略。
name
否
String
调度周期名称,长度限制:1- 255,只能由中文、字母、数字、“_”、“-”组成。
operation_type
是
String
操作类型,如备份
Enum:[ backup]
operation_definition
是
operation_definition
调度周期参数。
详情请参见表7。
trigger
是
trigger
调度策略
- operation_definition 字段数据结构说明
表7 operation_definition 字段数据结构说明 参数
是否必选
参数类型
描述
max_backups
否
Integer
单个备份对象自动备份的最大备份数。取值为-1或0-99999。-1代表不按备份数清理。
retention_duration_days
否
Integer
备份保留时长,单位天。取值为-1或0-99999。-1代表不按时间清理。
permanent
否
Boolean
是否永久保留。“false”:不永久保留,“true”:永久保留
plan_id
否
String
备份策略ID。
provider_id
否
String
备份提供商ID,当前取值固定值:fc4d5750-22e7-4798-8a46-f48f62c4c1da。用于区分备份对象是服务器或磁盘。
- permanent配置为true,无论max_backups和retention_duration_days配置为何值,都是表示永久保留。
- permanent配置为false或者不配置,以max_backups和retention_duration_days配置为准。
- permanent,max_backups和retention_duration_days都不配置,则表示永久保留。
- trigger 字段数据结构说明
表8 trigger 字段数据结构说明 参数
是否必选
参数类型
描述
properties
是
trigger_properties
调度器属性。
详情请参见表9。
- trigger_properties 字段数据结构说明
- 请求样例
POST https://{endpoint}/v1/{project_id}/policies { "policy" : { "name" : "my-plan", "description" : "My plan", "provider_id" : "fc4d5750-22e7-4798-8a46-f48f62c4c1da", "parameters" : { "common" : { } }, "scheduled_operations" : [ { "name" : "my-backup-policy", "description" : "My backup policy", "enabled" : true, "operation_definition" : { "max_backups" : 20 }, "trigger" : { "properties" : { "pattern" : "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n" } }, "operation_type" : "backup" } ], "resources" : [ { "id" : "45baf976-c20a-4894-a7c3-c94b7376bf55", "type" : "OS::Nova::Server", "name" : "resource1", }, { "id" : "5aa119a8-d25b-45a7-8d1b-88e127885635", "type" : "OS::Nova::Server", "name" : "resource2" } ] } }
响应
- 要素说明
表10 要素说明 参数
参数类型
描述
policy
policy_resp
详情请参见表11。
- policy_resp 字段数据结构说明
表11 policy_resp 字段数据结构说明 参数
参数类型
描述
created_at
String
创建时间,如:"2017-04-18T01:21:52.701973"
description
String
备份策略描述,长度限制:0- 255,除了“<”、“>”不能输入,其它字符均可。
id
String
备份策略ID
name
String
备份策略名称,长度限制:1- 255,只能由中文、字母、数字、“_”、“-”组成。
parameters
policy_param
备份策略参数。
详情请参见表12。
project_id
String
项目ID
获取方法请参见获取项目ID
provider_id
String
备份提供商ID,当前取值固定值:fc4d5750-22e7-4798-8a46-f48f62c4c1da。用于区分备份对象是服务器或磁盘。
resources
List<resource>
备份对象列表。
详情请参见表13。
scheduled_operations
List<scheduled_operation_resp>
调度周期列表。
详情请参见表14。
status
String
备份策略状态,
“disabled”:不可用
“enabled”:可用
- policy_param 字段数据结构说明
- resource 字段数据结构说明
- scheduled_operation_resp 字段数据结构说明
表14 scheduled_operation_resp 字段数据结构说明 参数
参数类型
描述
description
String
调度周期描述,长度限制:0- 255,除了“<”、“>”不能输入,其它字符均可。
enabled
Boolean
是否启用该调度周期,默认为true, 不启用时策略不会自动调度,可以手工调度
name
String
调度周期名称,长度限制:1- 255,只能由中文、字母、数字、“_”、“-”组成。
operation_type
String
操作类型,备份
Enum:[ backup]
operation_definition
operation_definition
调度周期参数。
详情请参见表15。
trigger
trigger_resp
调度策略
id
String
调度周期ID
trigger_id
String
调度器ID
- operation_definition 字段数据结构说明
表15 operation_definition 字段数据结构说明 参数
参数类型
描述
max_backups
String
单个备份对象自动备份的最大备份数。取值为-1或0-99999。-1代表不按备份数清理。
retention_duration_days
String
备份保留时长,单位天。取值为-1或0-99999。-1代表不按时间清理。
permanent
String
是否永久保留。
plan_id
String
备份策略ID。
provider_id
String
备份提供商ID,当前取值固定值:fc4d5750-22e7-4798-8a46-f48f62c4c1da。用于区分备份对象是服务器或磁盘。
- permanent配置为true,无论max_backups和retention_duration_days配置为何值,都是表示永久保留。
- permanent配置为false或者不配置,以max_backups和retention_duration_days配置为准。
- permanent,max_backups和retention_duration_days都不配置,则表示永久保留。
- trigger_resp 字段数据结构说明
表16 trigger_resp 字段数据结构说明 参数
参数类型
描述
properties
trigger_properties_resp
调度器属性。
id
String
调度器ID。
name
String
调度器名称。
type
String
调度类型,"time":时间类型
- trigger_properties_resp 字段数据结构说明
表17 trigger_properties_resp 字段数据结构说明 参数
参数类型
描述
pattern
String
调度器的调度策略,长度限制为10240个字符,参照iCalendar RFC 2445规范,但仅支持FREQ、BYDAY、BYHOUR、BYMINUTE四个参数,其中FREQ仅支持WEEKLY和DAILY,BYDAY支持一周七天(MO、TU、WE、TH、FR、SA、SU),BYHOUR支持0-23小时,BYMINUTE支持0-59分钟,并且时间点间隔不能小于一小时,一个备份策略可以同时设置多个备份时间点,一天最多可以设置24个时间点。
start_time
String
调度器开始时间,如:"2017-04-18T01:21:52"
format
String
调度器类型
- 响应样例
{ "policy" : { "created_at" : "2017-03-07T09:27:40.928000", "description" : "My plan", "id" : "f766c171-9336-479a-8b30-b83cabf6381e", "name" : "my-plan", "parameters" : { "common" : { } }, "project_id" : "tenant", "provider_id" : "c714180d-ea34-4b13-9a5e-577c7c416eec", "resources" : [ { "id" : "45baf976-c20a-4894-a7c3-c94b7376bf55", "name" : "resource1", "type" : "OS::Nova::Server", "extra_info" : { } }, { "id" : "5aa119a8-d25b-45a7-8d1b-88e127885635", "name" : "resource2", "type" : "OS::Nova::Server" } ], "scheduled_operations" : [ { "description" : "My backup policy", "enabled" : true, "id" : "9303a23d-e433-48e7-b88a-5ee6442e434e", "name" : "my-backup-policy", "operation_definition" : { "max_backups" : "20", "plan_id" : "f766c171-9336-479a-8b30-b83cabf6381e", "provider_id" : "c714180d-ea34-4b13-9a5e-577c7c416eec" }, "operation_type" : "backup", "trigger" : { "id" : "8178846b-766d-4fe6-941f-b38c76b6f3b9", "name" : "default", "properties" : { "pattern" : "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n", "start_time" : "2017-03-07 09:27:41", "format" : "ical" }, "type" : "time" }, "trigger_id" : "8178846b-766d-4fe6-941f-b38c76b6f3b9" } , ], "status" : "suspended" } }
状态码
- 正常
状态码
说明
200
OK
- 异常
状态码
说明
400
请求参数不合法
401
鉴权失败
403
没有操作权限
404
请求对象不存在
500
服务内部错误
503
服务不可用
错误码
请参考错误码。