创建策略 - CreatePolicy
功能介绍
创建策略,策略分为备份策略和复制策略。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
POST /v3/{project_id}/policies
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 项目ID,获取方法请参见获取项目ID 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| policy | 是 | PolicyCreate object | 参数解释: 用于指定策略的详细配置信息,包括策略名称、启用状态、保留规则和调度规则等 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| enabled | 否 | Boolean | 参数解释: 是否启用策略 约束限制: 不涉及 取值范围: 默认取值: true |
| name | 是 | String | 参数解释: 策略名称 约束限制: 不涉及 取值范围: 长度限制:1-64,只能由中文、字母、数字、“_”、“-”组成 默认取值: 不涉及 |
| operation_definition | 是 | PolicyoODCreate object | 参数解释: 策略的定时调度配置,包含备份保留规则、复制目标区域、调度频率等参数 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| operation_type | 是 | String | 参数解释: 保护类型 约束限制: 不涉及 取值范围: 取值范围如下:备份策略(backup)、复制策略(replication) 默认取值: 不涉及 |
| trigger | 是 | PolicyTriggerReq object | 参数解释: 策略的执行时间调度规则,定义任务的触发时间和频率 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| day_backups | 否 | Integer | 参数解释: 保留日备个数 约束限制: 该备份不受保留最大备份数限制,如果选择该参数,则timezone 也必选。该字段与retention_duration_days字段不能同时设置 取值范围: 取值为0到100 默认取值: 不涉及 |
| destination_project_id | 否 | String | 参数解释: 复制的目标区域项目ID,获取方法请参见获取项目ID 约束限制: 仅在跨区域复制时才会使用并且必须指定 取值范围: 不涉及 默认取值: 不涉及 |
| destination_region | 否 | String | 参数解释: 复制的目标区域 获取方法请参见"地区和终端节点查询"。 约束限制: 仅在跨区域复制时才会使用并且必须指定。目标区域不能与当前区域相同 取值范围: 长度限制:0- 255,只能由字母、数字、“_”、“-”组成 默认取值: 不涉及 |
| enable_acceleration | 否 | Boolean | 参数解释: 跨region复制时,是否启用加速从而缩短复制的时间。 约束限制: 如果启用加速,会额外收取加速的费用。 取值范围: 默认取值: false |
| max_backups | 否 | Integer | 参数解释: 单个备份对象自动备份的最大备份数 约束限制: 该字段与retention_duration_days字段不能同时设置,如果该字段和retention_duration_days字段同时为空,备份会永久保留 取值范围: 取值为-1或1-99999,-1代表不按备份数清理 默认取值: 不涉及 |
| month_backups | 否 | Integer | 参数解释: 保留月备个数 约束限制: 该备份不受保留最大备份数限制,如果选择该参数,则timezone 也必选。该字段与retention_duration_days字段不能同时设置 取值范围: 取值为0到100 默认取值: 不涉及 |
| retention_duration_days | 否 | Integer | 参数解释: 备份保留时长,单位天 约束限制: 如果该字段和max_backups 参数同时为空,备份会永久保留。该字段与max_backups、day_backups、week_backups、month_backups和year_backups字段不能同时设置 取值范围: -1和1-99999,单位天,-1代表不按时间清理 默认取值: 不涉及 |
| timezone | 否 | String | 参数解释: 用户所在时区,格式形如"UTC+08:00 约束限制: 如果选择年备,月备,周备,日备中任一参数,则该参数不能为空 取值范围: 不涉及 默认取值: 不涉及 |
| week_backups | 否 | Integer | 参数解释: 保留周备个数 约束限制: 如果选择该参数,则timezone 也必选,该字段与retention_duration_days字段不能同时设置 取值范围: 取值为0到100 默认取值: 不涉及 |
| year_backups | 否 | Integer | 参数解释: 保留年备个数 约束限制: 该备份不受保留最大备份数限制,如果选择该参数,则timezone 也必选,该字段与retention_duration_days字段不能同时设置 取值范围: 取值为0到100 默认取值: 不涉及 |
| full_backup_interval | 否 | Integer | 参数解释: 每间隔多少次执行一次全量备份 约束限制: 不涉及 取值范围: 当取值为 -1 时,不执行全量备份,取值范围[-1, 100] 默认取值: 不涉及 |
| advanced_retention_rules | 否 | PolicyAdvancedRetentionRules object | 参数解释: 按照时间维度的高级保留策略,可分别配置周备、月备、年备的保留规则 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| weekly_retention_rules | 否 | PolicyWeeklyRetentionRules object | 参数解释: 周备备份的保留策略配置,可指定每周哪几天进行周备备份及保留时长 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| monthly_retention_rules | 否 | PolicyMonthlyRetentionRules object | 参数解释: 月备备份的保留策略配置,可按周或按月指定备份日期及保留时长 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| yearly_retention_rules | 否 | PolicyYearlyRetentionRules object | 参数解释: 年备备份的保留策略配置,可按周或按月指定每年备份日期及保留时长 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| days_of_week | 否 | Array of strings | 参数解释: 设置每个星期中的指定天为周备备份 约束限制: 不涉及 取值范围: MO:周一 TU:周二 WE:周三 TH:周四 FR:周五 SA:周六 SU:周日 默认取值: 不涉及 |
| retention_duration_periods | 否 | Integer | 参数解释: 周备的保留时间 约束限制: 不涉及 取值范围: 取值范围为1-5200,以及-1,单位为周,-1代表周备策略不启用 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| retention_type | 否 | String | 参数解释: 月备规则的类型 约束限制: 不涉及 取值范围: WEEKLY:按周设置月备规则 MONTHLY:按月设置月备规则 默认取值: 不涉及 |
| retention_weeks | 否 | Array of strings | 参数解释: 将每月第几个星期的备份设置为月备备份 约束限制: 当retention_type为Weekly时才能设置,设置时需要与days_of_week共同设置 取值范围: FIRST:第一个 SECOND:第二个 THIRD:第三个 FOURTH:第四个 LAST:最后一个 默认取值: 不涉及 |
| days_of_week | 否 | Array of strings | 参数解释: 设置选中的星期中的指定天的备份为月备备份 约束限制: 当retention_type为Weekly时才能设置,设置时需要与retention_weeks共同设置 取值范围: MO:周一 TU:周二 WE:周三 TH:周四 FR:周五 SA:周六 SU:周日 默认取值: 不涉及 |
| days_of_month | 否 | Array of integers | 参数解释: 表示将每个月中的指定天设置为月备备份 约束限制: 当retention_type为Monthly时才能设置 取值范围: 取值范围为1-28和-1,-1代表每个月的最后一天 默认取值: 不涉及 |
| retention_duration_periods | 否 | Integer | 参数解释: 月备备份的保留时间 约束限制: 不涉及 取值范围: 取值范围为1-1200,以及-1,单位为月,-1代表月备策略不启用 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| retention_type | 否 | String | 参数解释: 年备规则的类型 约束限制: 不涉及 取值范围: WEEKLY:按周设置年备规则 MONTHLY:按月设置年备规则 默认取值: 不涉及 |
| retention_months | 否 | Array of strings | 参数解释: 将每年中指定月份的备份设置为年备备份 约束限制: 将每年中指定月份的备份设置为年备备份,当retention_type为Weekly时,需要与retention_weeks和days_of_week共同设置,当retention_type为Monthly时,需要与days_of_month共同设置 取值范围: JANUARY:一月 FEBRUARY:二月 MARCH:三月 APRIL:四月 MAY:五月 JUNE:六月 JULY:七月 AUGUST:八月 SEPTEMBER:九月 OCTOBER:十月 NOVEMBER:十一月 DECEMBER:十二月 默认取值: 不涉及 |
| retention_weeks | 否 | Array of strings | 参数解释: 将选中月份的第几个星期的备份设置为年备备份 约束限制: 当retention_type为Weekly时才能设置,设置时需要与retention_months和days_of_week共同设置 取值范围: FIRST:第一个 SECOND:第二个 THIRD:第三个 FOURTH:第四个 LAST:最后一个 默认取值: 不涉及 |
| days_of_month | 否 | Array of integers | 参数解释: 表示将选中月份的指定天的备份设置为年备备份 约束限制: 当retention_type为Monthly时才能设置,需要与retention_months共同设置 取值范围: 取值范围为1-28和-1,-1代表每个月的最后一天 默认取值: 不涉及 |
| days_of_week | 否 | Array of strings | 参数解释: 设置指定月份的指定星期中的指定天的备份为年备备份 约束限制: 当retention_type为Weekly时才能设置,设置时需要与retention_weeks和retention_months共同设置 取值范围: MO:周一 TU:周二 WE:周三 TH:周四 FR:周五 SA:周六 SU:周日 默认取值: 不涉及 |
| retention_duration_periods | 否 | Integer | 参数解释: 年备备份的保留时间 约束限制: 不涉及 取值范围: 取值范围为1-100,以及-1,单位为年,-1代表年备策略不启用 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| properties | 是 | PolicyTriggerPropertiesReq object | 参数解释: 策略调度器的属性配置,包含调度规则和启动时间窗口等参数 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| pattern | 是 | Array of strings | 参数解释: 调度规则 约束限制: 限制24条规则,可参照iCalendar RFC 2445规范中的事件规则,但仅支持FREQ、BYDAY、BYHOUR、BYMINUTE、INTERVAL等参数,其中FREQ仅支持WEEKLY和DAILY,BYDAY支持一周七天(MO、TU、WE、TH、FR、SA、SU),BYHOUR支持0-23小时,BYMINUTE支持0-59分钟,并且间隔不能小于一小时,一天最大24个时间点。例如,周一到周天,每天UTC时间的14:00调度,其规则为:'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00'。例如:某个地区的时间为 UTC+8,如果在该地区每天14:00调度,则在14点基础上减8,其规则为'FREQ=DAILY;INTERVAL=1;BYHOUR=6;BYMINUTE=00' 取值范围: 不涉及 默认取值: 不涉及 |
| start_window_minutes | 否 | Integer | 参数解释: 启动时间窗口大小 约束限制: 不涉及 取值范围: 60-480 默认取值: 不涉及 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| policy | Policy object | 参数解释: 策略的信息,包括策略信息,调度规则等信息 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| enabled | Boolean | 参数解释: 策略是否启用 取值范围: |
| id | String | 参数解释: 策略ID 取值范围: 不涉及 |
| name | String | 参数解释: 策略名称 取值范围: 长度为1~64个字符,只能由中文、字母、数字、“_”、“-”组成 |
| operation_definition | PolicyoODResp object | 参数解释: 策略的调度和保留规则等属性信息 取值范围: 不涉及 |
| operation_type | String | 参数解释: 保护类型 取值范围: 备份策略(backup)、复制策略(replication) |
| trigger | PolicyTriggerResp object | 参数解释: 策略时间调度规则 取值范围: 不涉及 |
| associated_vaults | Array of PolicyAssociateVault objects | 参数解释: 关联的存储库对象列表,包含绑定此策略的存储库信息 取值范围: 不涉及 |
| policy_type | String | 参数解释: 策略类型 取值范围: |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| day_backups | Integer | 参数解释: 保留日备个数 取值范围: 取值为0到100 |
| destination_project_id | String | 参数解释: 复制的目标区域项目ID 取值范围: 不涉及 |
| destination_region | String | 参数解释: 复制的目标区域 取值范围: 长度为0~255个字符,只能由字母、数字、“_”、“-”组成 |
| enable_acceleration | Boolean | 参数解释: 跨region复制时,是否启用加速从而缩短复制的时间。 取值范围: |
| max_backups | Integer | 参数解释: 单个备份对象自动备份的最大备份数 取值范围: 取值为-1或1-99999。默认取值不涉及。-1代表不按备份数清理。如果该字段和retention_duration_days字段同时为空,备份会永久保留 |
| month_backups | Integer | 参数解释: 保留月备个数 取值范围: 取值为0到100 |
| retention_duration_days | Integer | 参数解释: 备份保留时长,单位天 取值范围: -1代表不按时间清理,最长支持99999天 |
| timezone | String | 参数解释: 用户所在时区,格式形如UTC+08:00 取值范围: 不涉及 |
| week_backups | Integer | 参数解释: 保留周备个数,该备份不受保留最大备份数限制 取值范围: 取值为0到100 |
| year_backups | Integer | 参数解释: 保留年备个数,该备份不受保留最大备份数限制 取值范围: 取值为0到100 |
| full_backup_interval | Integer | 参数解释: 每间隔多少次执行一次全量备份 取值范围: 当取值为 -1 时,不执行全量备份。取值范围[-1, 100] |
| advanced_retention_rules | 参数解释: 按照时间的高级保留策略相关参数 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| weekly_retention_rules | 参数解释: 周备备份的保留策略 取值范围: 不涉及 | |
| monthly_retention_rules | 参数解释: 月备备份的保留策略 取值范围: 不涉及 | |
| yearly_retention_rules | 参数解释: 年备备份的保留策略 取值范围: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| days_of_week | Array of strings | 参数解释: 设置每个星期中的指定天为周备备份 取值范围: MO:周一 TU:周二 WE:周三 TH:周四 FR:周五 SA:周六 SU:周日 |
| retention_duration_periods | Integer | 参数解释: 周备的保留时间 取值范围: 取值范围为1-5200,以及-1,单位为周,-1代表周备策略不启用 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| retention_type | String | 参数解释: 月备规则的类型 取值范围: WEEKLY:按周设置月备规则 MONTHLY:按月设置月备规则 |
| retention_weeks | Array of strings | 参数解释: 将每月第几个星期的备份设置为月备备份 取值范围: FIRST:第一个 SECOND:第二个 THIRD:第三个 FOURTH:第四个 LAST:最后一个 |
| days_of_week | Array of strings | 参数解释: 设置选中的星期中的指定天的备份为月备备份 取值范围: MO:周一 TU:周二 WE:周三 TH:周四 FR:周五 SA:周六 SU:周日 |
| days_of_month | Array of integers | 参数解释: 表示将每个月中的指定天设置为月备备份 取值范围: 取值范围为1-28和-1,-1代表每个月的最后一天 |
| retention_duration_periods | Integer | 参数解释: 月备备份的保留时间 取值范围: 取值范围为1-1200,以及-1,单位为月,-1代表月备策略不启用 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| retention_type | String | 参数解释: 年备规则的类型 取值范围: WEEKLY:按周设置月备规则 MONTHLY:按月设置月备规则 |
| retention_months | Array of strings | 参数解释: 将每年中指定月份的备份设置为年备备份 取值范围: JANUARY:一月 FEBRUARY:二月 MARCH:三月 APRIL:四月 MAY:五月 JUNE:六月 JULY:七月 AUGUST:八月 SEPTEMBER:九月 OCTOBER:十月 NOVEMBER:十一月 DECEMBER:十二月 |
| retention_weeks | Array of strings | 参数解释: 将选中月份的第几个星期的备份设置为年备备份 取值范围: FIRST:第一个 SECOND:第二个 THIRD:第三个 FOURTH:第四个 LAST:最后一个 |
| days_of_month | Array of integers | 参数解释: 表示将选中月份的指定天的备份设置为年备备份 取值范围: 取值范围为1-28和-1,-1代表每个月的最后一天,需要与retention_months共同设置 |
| days_of_week | Array of strings | 参数解释: 设置指定月份的指定星期中的指定天的备份为年备备份 取值范围: MO:周一 TU:周二 WE:周三 TH:周四 FR:周五 SA:周六 SU:周日 |
| retention_duration_periods | Integer | 参数解释: 年备备份的保留时间 取值范围: 取值范围为1-100,以及-1,单位为年,-1代表年备策略不启用 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 调度器ID 取值范围: 不涉及 |
| name | String | 参数解释: 调度器名称 取值范围: 不涉及 |
| properties | PolicyTriggerPropertiesResp object | 参数解释: 策略调度器属性 取值范围: 不涉及 |
| type | String | 参数解释: 调度器类型 取值范围: 目前只支持 time: 定时调度 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| pattern | Array of strings | 参数解释: 调度规则。限制24条规则。调度器的调度规则,可参照iCalendar RFC 2445规范中的事件规则,但仅支持FREQ、BYDAY、BYHOUR、BYMINUTE、INTERVAL等参数,其中FREQ仅支持WEEKLY和DAILY,BYDAY支持一周七天(MO、TU、WE、TH、FR、SA、SU),BYHOUR支持0-23小时,BYMINUTE支持0-59分钟,并且间隔不能小于一小时,一天最大24个时间点。例如,周一到周天,每天UTC时间的14:00调度,其规则为:'FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00'。例如:某个地区的时间为 UTC+8,如果在该地区每天14:00调度,则在14点基础上减8,其规则为'FREQ=DAILY;INTERVAL=1;BYHOUR=6;BYMINUTE=00'。 取值范围: 不涉及 |
| start_time | String | 参数解释: 调度器开始时间,格式为yyyy-MM-dd HH:mm:ss 取值范围: 不涉及 |
| start_window_minutes | Integer | 参数解释: 启动时间窗口大小,单位为分钟 取值范围: 60-480 |
请求示例
-
创建一个备份策略,周一到周天每天14:00执行备份,保留策略按备份保留时长,保留一天。
POST https://{endpoint}/v3/f841e01fd2b14e7fa41b6ae7aa6b0594/policies { "policy" : { "enabled" : true, "name" : "policy001", "operation_definition" : { "day_backups" : 0, "month_backups" : 0, "retention_duration_days" : 1, "timezone" : "UTC+08:00", "week_backups" : 0, "year_backups" : 0 }, "operation_type" : "backup", "trigger" : { "properties" : { "pattern" : [ "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00" ] } } } } -
创建一个复制策略,周一到周天每天14:00执行复制,保留策略按备份保留时长,保留一天。
POST https://{endpoint}/v3/f841e01fd2b14e7fa41b6ae7aa6b0594/policies { "policy" : { "enabled" : true, "name" : "policy002", "operation_definition" : { "retention_duration_days" : 1, "day_backups" : 0, "week_backups" : 0, "month_backups" : 0, "year_backups" : 0, "timezone" : "UTC+08:00", "destination_region" : "cn-southwest-247", "destination_project_id" : "fcf6cb26c3bf4402869792207ad3dce4" }, "operation_type" : "replication", "trigger" : { "properties" : { "pattern" : [ "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00" ] } } } }
响应示例
状态码:200
-
创建备份策略成功。策略为周一到周天每天14:00执行备份,保留策略按备份保留时长,保留一天。
{ "policy" : { "name" : "policy001", "enabled" : true, "trigger" : { "properties" : { "pattern" : [ "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00" ], "start_time" : "2019-05-08T06:57:05.000+00:00", "start_window_minutes" : 60 }, "type" : "time", "id" : "d67269a6-5369-42d7-8150-5254bd446328", "name" : "default" }, "operation_definition" : { "retention_duration_days" : 1, "year_backups" : 0, "day_backups" : 0, "month_backups" : 0, "week_backups" : 0, "timezone" : "UTC+08:00" }, "operation_type" : "backup", "id" : "cbb3ce6f-3332-4e7c-b98e-77290d8471ff", "policy_type" : "custom_policy" } } -
创建复制策略成功。策略为周一到周天每天14:00执行复制,保留策略按备份保留时长,保留一天。
{ "policy" : { "name" : "policy002", "enabled" : true, "trigger" : { "id" : "b37cf79e-5cfa-4a84-99a3-91d60a314c46", "name" : "default", "type" : "time", "properties" : { "pattern" : [ "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00" ], "start_time" : "2019-05-08T06:58:05.000+00:00" } }, "operation_definition" : { "retention_duration_days" : 1, "day_backups" : 0, "week_backups" : 0, "month_backups" : 0, "year_backups" : 0, "timezone" : "UTC+08:00", "destination_region" : "cn-southwest-247", "destination_project_id" : "fcf6cb26c3bf4402869792207ad3dce4" }, "operation_type" : "replication", "id" : "e47e4916-481a-4d10-95a2-165bcfe598c5", "policy_type" : "custom_policy" } }
状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK |
错误码
请参见错误码。