修改策略 - UpdatePolicy
功能介绍
修改策略
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
PUT /v3/{project_id}/policies/{policy_id}
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| policy | 是 | PolicyUpdate object | 参数解释: 修改策略body,用于指定修改策略的详细配置信息,包括策略名称、启用状态、保留规则和调度规则等 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| enabled | 否 | Boolean | 参数解释: 是否启用策略 约束限制: 不涉及 取值范围: 默认取值: true |
| name | 否 | String | 参数解释: 策略名称 约束限制: 不涉及 取值范围: 长度限制:1-64,只能由中文、字母、数字、“_”、“-”组成 默认取值: 不涉及 |
| operation_definition | 否 | PolicyoODCreate object | 参数解释: 策略的定时调度配置,包含备份保留规则、复制目标区域、调度频率等参数 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| trigger | 否 | PolicyTriggerUpdateReq 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 | 是 | 参数解释: 策略调度器的属性配置,包含调度规则和启动时间窗口等参数 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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执行备份,保留策略按备份保留时长,保留一天。
PUT https://{endpoint}/v3/f841e01fd2b14e7fa41b6ae7aa6b0594/policies/cbb3ce6f-3332-4e7c-b98e-77290d8471ff
{
"policy" : {
"enabled" : true,
"name" : "policy001",
"operation_definition" : {
"day_backups" : 0,
"month_backups" : 0,
"max_backups" : 1,
"timezone" : "UTC+08:00",
"week_backups" : 0,
"year_backups" : 0
},
"trigger" : {
"properties" : {
"pattern" : [ "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00" ]
}
}
}
} 响应示例
状态码:200
{
"policy" : {
"name" : "policy001",
"associated_vaults" : [ ],
"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" : {
"max_backups" : 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"
}
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK |
错误码
请参见错误码。