更新时间:2024-04-19 GMT+08:00

创建策略

功能介绍

|-

URI

POST /v3/{project_id}/policies

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

policy

PolicyCreate object

创建策略body

表4 PolicyCreate

参数

是否必选

参数类型

描述

enabled

Boolean

是否启用策略

缺省值:true

name

String

策略名称,长度限制:1- 64,只能由中文、字母、数字、“_”、“-”组成。

最小长度:1

最大长度:64

operation_definition

PolicyoODCreate object

调度参数

operation_type

String

|-

trigger

PolicyTriggerReq object

策略执行时间规则

表5 PolicyoODCreate

参数

是否必选

参数类型

描述

day_backups

Integer

保留日备个数,该备份不受保留最大备份数限制。取值为0到100。如果选择该参数,则timezone 也必选。

最小值:0

最大值:100

max_backups

Integer

单个备份对象自动备份的最大备份数。取值为-1或0-99999。-1代表不按备份数清理。如果该字段和retention_duration_days字段同时为空,备份会永久保留。

最小值:1

最大值:99999

缺省值:-1

month_backups

Integer

保留月备个数,该备份不受保留最大备份数限制。取值为0到100。如果选择该参数,则timezone 也必选。

最小值:0

最大值:100

retention_duration_days

Integer

备份保留时长,单位天。最长支持99999天。-1代表不按时间清理。如果该字段和max_backups 参数同时为空,备份会永久保留。

最小值:1

最大值:99999

缺省值:-1

timezone

String

用户所在时区,格式形如UTC+08:00, 如果选择年备,月备,周备,日备中任一参数,则该参数不能为空。

week_backups

Integer

保留周备个数,该备份不受保留最大备份数限制。取值为0到100。如果选择该参数,则timezone 也必选。

year_backups

Integer

保留年备个数,该备份不受保留最大备份数限制。取值为0到100。如果选择该参数,则timezone 也必选。

最小值:0

最大值:100

full_backup_interval

Integer

每间隔多少次执行一次全量备份,当取值为 -1 时,不执行全量备份 最小值:-1 最大值:100

最小值:-1

最大值:100

表6 PolicyTriggerReq

参数

是否必选

参数类型

描述

properties

PolicyTriggerPropertiesReq object

调度器属性

表7 PolicyTriggerPropertiesReq

参数

是否必选

参数类型

描述

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'。

响应参数

状态码: 200

表8 响应Body参数

参数

参数类型

描述

policy

Policy object

创建响应

表9 Policy

参数

参数类型

描述

enabled

Boolean

策略是否启用

id

String

策略ID

name

String

策略名称

operation_definition

PolicyoODCreate object

策略属性

operation_type

String

|-

枚举值:

  • backup

  • replication

trigger

PolicyTriggerResp object

策略时间调度规则

associated_vaults

Array of PolicyAssociateVault objects

关联的存储库

表10 PolicyoODCreate

参数

参数类型

描述

day_backups

Integer

保留日备个数,该备份不受保留最大备份数限制。取值为0到100。如果选择该参数,则timezone 也必选。

最小值:0

最大值:100

max_backups

Integer

单个备份对象自动备份的最大备份数。取值为-1或0-99999。-1代表不按备份数清理。如果该字段和retention_duration_days字段同时为空,备份会永久保留。

最小值:1

最大值:99999

缺省值:-1

month_backups

Integer

保留月备个数,该备份不受保留最大备份数限制。取值为0到100。如果选择该参数,则timezone 也必选。

最小值:0

最大值:100

retention_duration_days

Integer

备份保留时长,单位天。最长支持99999天。-1代表不按时间清理。如果该字段和max_backups 参数同时为空,备份会永久保留。

最小值:1

最大值:99999

缺省值:-1

timezone

String

用户所在时区,格式形如UTC+08:00, 如果选择年备,月备,周备,日备中任一参数,则该参数不能为空。

week_backups

Integer

保留周备个数,该备份不受保留最大备份数限制。取值为0到100。如果选择该参数,则timezone 也必选。

year_backups

Integer

保留年备个数,该备份不受保留最大备份数限制。取值为0到100。如果选择该参数,则timezone 也必选。

最小值:0

最大值:100

full_backup_interval

Integer

每间隔多少次执行一次全量备份,当取值为 -1 时,不执行全量备份 最小值:-1 最大值:100

最小值:-1

最大值:100

表11 PolicyTriggerResp

参数

参数类型

描述

id

String

调度器id

name

String

调度器名称

properties

PolicyTriggerPropertiesResp object

调度器属性

type

String

调度器类型,目前只支持 time: 定时调度。

枚举值:

  • time

表12 PolicyTriggerPropertiesResp

参数

参数类型

描述

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

调度器开始时间,例如:"2020-01-08 09:59:49"

表13 PolicyAssociateVault

参数

参数类型

描述

destination_vault_id

String

关联的远端存储库ID

vault_id

String

存储库ID

请求示例

创建一个备份策略,周一到周天每天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" ]
      }
    }
  }
}

响应示例

状态码: 200

OK

{
  "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"
      },
      "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"
  }
}

状态码

状态码

描述

200

OK

错误码

请参见错误码