Creating a Policy
Function
This API is used to create a policy. Policies are classified into backup policies and replication policies.
URI
POST /v3/{project_id}/policies
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Project ID |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
X-Auth-Token |
Yes |
String |
User token. Obtained by calling the corresponding IAM API. If the request is successfully processed, the value of X-Subject-Token included in the response header is the token value. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
policy |
Yes |
PolicyCreate object |
Request body for creating a policy |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
enabled |
No |
Boolean |
Whether to enable the policy Default: true |
|
name |
Yes |
String |
Specifies the policy name. The value consists of 1 to 64 characters and can contain only letters, digits, underscores (_), and hyphens (-). Minimum: 1 Maximum: 64 |
|
operation_definition |
Yes |
PolicyoODCreate object |
Scheduling parameter |
|
operation_type |
Yes |
String |
Policy type Enumeration values:
|
|
trigger |
Yes |
PolicyTriggerReq object |
Time rule for the policy execution |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
day_backups |
No |
Integer |
Specifies the number of retained daily backups. The latest backup of each day is saved in the long term. This parameter can be effective together with the maximum number of retained backups specified by max_backups. The value ranges from 0 to 100. If this parameter is configured, timezone is mandatory. Minimum: 0 Maximum: 100 |
|
destination_project_id |
No |
String |
ID of the replication destination project, which is mandatory for cross-region replication |
|
destination_region |
No |
String |
ID of the replication destination region, which is mandatory for cross-region replication. The value consists of 0 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-). |
|
enable_acceleration |
No |
Boolean |
Whether to enable the acceleration function to shorten the replication time for cross-region replication. If this parameter is not set, the acceleration function is disabled. |
|
max_backups |
No |
Integer |
Maximum number of retained backups. The value can be -1 or ranges from 0 to 99999. If the value is set to -1, the backups will not be cleared even though the configured retained backup quantity is exceeded. If this parameter and retention_duration_days are both left blank, the backups will be retained permanently. Minimum: 1 Maximum: 99999 Default: -1 |
|
month_backups |
No |
Integer |
Specifies the number of retained monthly backups. The latest backup of each month is saved in the long term. This parameter can be effective together with the maximum number of retained backups specified by max_backups. The value ranges from 0 to 100. If this parameter is configured, timezone is mandatory. Minimum: 0 Maximum: 100 |
|
retention_duration_days |
No |
Integer |
Duration of retaining a backup, in days. The maximum value is 99999. -1 indicates that the backups will not be cleared based on the retention duration. If this parameter and max_backups are left blank at the same time, the backups will be retained permanently. Minimum: 1 Maximum: 99999 Default: -1 |
|
timezone |
No |
String |
Time zone where the user is located, for example, UTC+08:00. Set this parameter only after you have configured any of the parameters day_backups, week_backups, month_backups, year_backups. |
|
week_backups |
No |
Integer |
Specifies the number of retained weekly backups. The latest backup of each week is saved in the long term. This parameter can be effective together with the maximum number of retained backups specified by max_backups. The value ranges from 0 to 100. If this parameter is configured, timezone is mandatory. |
|
year_backups |
No |
Integer |
Specifies the number of retained yearly backups. The latest backup of each year is saved in the long term. This parameter can be effective together with the maximum number of retained backups specified by max_backups. The value ranges from 0 to 100. If this parameter is configured, timezone is mandatory. Minimum: 0 Maximum: 100 |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
properties |
Yes |
PolicyTriggerPropertiesReq object |
Scheduler attributes |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
pattern |
Yes |
Array of strings |
Scheduling rule. In the replication policy, you are advised to set one time point for one day. A maximum of 24 rules can be configured. The scheduling rule complies with iCalendar RFC 2445, but it supports only parameters FREQ, BYDAY, BYHOUR, BYMINUTE, and INTERVAL. FREQ can be set only to WEEKLY and DAILY. BYDAY can be set to MO, TU, WE, TH, FR, SA, or SU (seven days of a week). BYHOUR ranges from 0 to 23 hours. BYMINUTE ranges from 0 minutes to 59 minutes. The scheduling interval must not be less than 1 hour. A maximum of 24 time points are allowed in a day. For example, if the scheduling time is 14:00 from Monday to Sunday, set the scheduling rule as follows: FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=14;BYMINUTE=00. If the scheduling time is 14:00 every day, set the scheduling rule as follows: FREQ=DAILY;INTERVAL=1;BYHOUR=14;BYMINUTE=00. |
Response Parameters
Status code: 200
|
Parameter |
Type |
Description |
|---|---|---|
|
policy |
Policy object |
Response to the request for creating a policy |
|
Parameter |
Type |
Description |
|---|---|---|
|
enabled |
Boolean |
Whether the policy is enabled |
|
id |
String |
Policy ID |
|
name |
String |
Policy name |
|
operation_definition |
PolicyoODCreate object |
Policy attributes |
|
operation_type |
String |
Policy type Enumeration values:
|
|
trigger |
PolicyTriggerResp object |
Time scheduling rule for the policy |
|
associated_vaults |
Array of PolicyAssociateVault objects |
Associated vault |
|
Parameter |
Type |
Description |
|---|---|---|
|
day_backups |
Integer |
Specifies the number of retained daily backups. The latest backup of each day is saved in the long term. This parameter can be effective together with the maximum number of retained backups specified by max_backups. The value ranges from 0 to 100. If this parameter is configured, timezone is mandatory. Minimum: 0 Maximum: 100 |
|
destination_project_id |
String |
ID of the replication destination project, which is mandatory for cross-region replication |
|
destination_region |
String |
ID of the replication destination region, which is mandatory for cross-region replication. The value consists of 0 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-). |
|
enable_acceleration |
Boolean |
Whether to enable the acceleration function to shorten the replication time for cross-region replication. If this parameter is not set, the acceleration function is disabled. |
|
max_backups |
Integer |
Maximum number of retained backups. The value can be -1 or ranges from 0 to 99999. If the value is set to -1, the backups will not be cleared even though the configured retained backup quantity is exceeded. If this parameter and retention_duration_days are both left blank, the backups will be retained permanently. Minimum: 1 Maximum: 99999 Default: -1 |
|
month_backups |
Integer |
Specifies the number of retained monthly backups. The latest backup of each month is saved in the long term. This parameter can be effective together with the maximum number of retained backups specified by max_backups. The value ranges from 0 to 100. If this parameter is configured, timezone is mandatory. Minimum: 0 Maximum: 100 |
|
retention_duration_days |
Integer |
Duration of retaining a backup, in days. The maximum value is 99999. -1 indicates that the backups will not be cleared based on the retention duration. If this parameter and max_backups are left blank at the same time, the backups will be retained permanently. Minimum: 1 Maximum: 99999 Default: -1 |
|
timezone |
String |
Time zone where the user is located, for example, UTC+08:00. Set this parameter only after you have configured any of the parameters day_backups, week_backups, month_backups, year_backups. |
|
week_backups |
Integer |
Specifies the number of retained weekly backups. The latest backup of each week is saved in the long term. This parameter can be effective together with the maximum number of retained backups specified by max_backups. The value ranges from 0 to 100. If this parameter is configured, timezone is mandatory. |
|
year_backups |
Integer |
Specifies the number of retained yearly backups. The latest backup of each year is saved in the long term. This parameter can be effective together with the maximum number of retained backups specified by max_backups. The value ranges from 0 to 100. If this parameter is configured, timezone is mandatory. Minimum: 0 Maximum: 100 |
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
String |
Scheduler ID |
|
name |
String |
Scheduler name |
|
properties |
PolicyTriggerPropertiesResp object |
Scheduler attributes |
|
type |
String |
Scheduler type. Currently, only time (periodic scheduling) is supported. Enumeration values:
|
|
Parameter |
Type |
Description |
|---|---|---|
|
pattern |
Array of strings |
Scheduling policy of the scheduler. The value consists of a maximum of 10,240 characters and complies with iCalendar RFC 2445, but it supports only four parameters, which are FREQ, BYDAY, BYHOUR, and BYMINUTE. FREQ can be set only to WEEKLY or DAILY. BYDAY can be set to MO, TU, WE, TH, FR, SA, or SU (seven days of a week). BYHOUR ranges from 0 to 23 hours. BYMINUTE ranges from 0 to 59 minutes. The scheduling interval cannot be less than 1 hour. A maximum of 24 time points are allowed in a day. |
|
start_time |
String |
Start time of the scheduler, for example, 2020-01-08 09:59:49 |
Example Requests
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" ]
}
}
}
}
Example Responses
Status code: 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-08 06:57:05"
},
"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"
}
}
Status Codes
|
Status Code |
Description |
|---|---|
|
200 |
OK |
Error Codes
See Error Codes.
Last Article: Policies
Next Article: Querying the Policy List
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.