Creating a Backup Policy¶
Function¶
This API is used to create a backup policy to back up servers periodically.
URI¶
Request¶
Parameter description
Parameter description of field policy_create
¶ Parameter
Mandatory
Type
Description
description
No
String
Backup policy description
The value consists of 0 to 255 characters and must not contain a greater-than sign (>) or less-than sign (<).
name
Yes
String
Backup policy name
The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-).
parameters
Yes
policy_param
Backup parameters
For details, see Table 4.
provider_id
Yes
String
Backup provider ID, which specifies whether the backup object is a server or disk. This parameter has a fixed value. For CSBS, the value is fc4d5750-22e7-4798-8a46-f48f62c4c1da.
resources
Yes
List<resource>
Backup object list. The list can be blank.
For details, see Table 5.
scheduled_operations
Yes
List<scheduled_operation_create>
Scheduling period
For details, see Table 6.
tags
No
List<resource_tag>
Tag list
This list cannot be an empty list.
The list can contain up to 10 keys.
Keys in this list must be unique.
Parameter description of field policy_param
¶ Parameter
Mandatory
Type
Description
common
No
common_param
General backup policy parameters, which are blank by default
Parameter description of field resource
¶ Parameter
Mandatory
Type
Description
id
Yes
String
Backup object ID
type
Yes
String
Entity object type of backup objects
The value is fixed at OS::Nova::Server (ECSs).
name
Yes
String
Backup object name
extra_info
No
Dict
Additional information about the backup object
Parameter description of field scheduled_operation_create
¶ Parameter
Mandatory
Type
Description
description
No
String
Scheduling period description
The value consists of 0 to 255 characters and must not contain a greater-than sign (>) or less-than sign (<).
enabled
Yes
Boolean
Whether the backup policy is enabled
If it is set to true, automatic scheduling is enabled. If it is set to false, automatic scheduling is disabled but you can execute the policy manually.
name
No
String
Scheduling period name
The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-).
operation_type
Yes
String
Operation type
Enumeration values: backup
operation_definition
Yes
operation_definition
Scheduling period parameters
For details, see Table 7.
trigger
Yes
trigger
Scheduling policy
Parameter description of field operation_definition
¶ Parameter
Mandatory
Type
Description
max_backups
No
Integer
Maximum number of backups that can be automatically created for a backup object. The value can be -1 or ranges from 0 to 99999. If the value is set to -1, backups will not be cleared by quantity limit.
retention_duration_days
No
Integer
Duration of retaining a backup, in days. The value can be -1 or ranges from 0 to 99999. If the value is set to -1, backups will not be cleared by retention duration.
permanent
No
Boolean
Whether backups are permanently retained. false: no. true: yes
plan_id
No
String
Backup policy ID
provider_id
No
String
Backup provider ID, which specifies whether the backup object is a server or disk. This parameter has a fixed value. For CSBS, the value is fc4d5750-22e7-4798-8a46-f48f62c4c1da.
day_backups
No
Integer
Maximum number of daily backups that can be retained. The latest backup of each day is saved in the long term. This parameter and max_backups will both be applied. If this parameter is configured, timezone is mandatory.
week_backups
No
Integer
Maximum number of weekly backups that can be retained. The latest backup of each week is saved in the long term. This parameter and max_backups will both be applied. If this parameter is configured, timezone is mandatory.
month_backups
No
Integer
Maximum number of monthly backups that can be retained. The latest backup of each month is saved in the long term. This parameter and max_backups will both be applied. If this parameter is configured, timezone is mandatory.
year_backups
No
Integer
Maximum number of yearly backups that can be retained. The latest backup of each year is saved in the long term. This parameter and max_backups will both be applied. If this parameter is configured, timezone is mandatory.
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, and year_backups.
Note
If permanent is set to true, backups will be retained permanently, despite the settings of max_backups and retention_duration_days.
If permanent is set to false, settings of max_backups and retention_duration_days are effective.
If none of permanent, max_backups, and retention_duration_days is set, backups will be retained permanently.
Parameter description of field trigger
Parameter description of field trigger_properties
¶ Parameter
Mandatory
Type
Description
pattern
Yes
String
Scheduling policy of the scheduler. The value consists of a maximum of 10,240 characters. The scheduling policy 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.
Parameter description of field resource_tag
¶ Parameter
Mandatory
Type
Description
key
Yes
String
Tag key
It consists of up to 36 characters.
It cannot be an empty string.
Spaces before and after a key will be deprecated.
It can contain only letters, digits, hyphens (-), and underscores (_).
value
Yes
String
Tag value
It consists of up to 43 characters.
It can be an empty string.
Spaces before and after a tag value will be deprecated.
It can contain only letters, digits, hyphens (-), and underscores (_).
Example request
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" } ] } }
Response¶
Parameter description
Parameter description of field policy_resp
¶ Parameter
Type
Description
created_at
String
Creation time, for example, 2017-04-18T01:21:52.701973
description
String
Backup policy description
The value consists of 0 to 255 characters and must not contain a greater-than sign (>) or less-than sign (<).
id
String
Backup policy ID
name
String
Backup policy name
The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-).
parameters
policy_param
Parameters of a backup policy
For details, see Table 13.
project_id
String
Project ID
provider_id
String
Backup provider ID, which specifies whether the backup object is a server or disk. This parameter has a fixed value. For CSBS, the value is fc4d5750-22e7-4798-8a46-f48f62c4c1da.
resources
List<resource>
Backup object list
For details, see Table 14.
scheduled_operations
List<scheduled_operation_resp>
Scheduling period list
For details, see Table 15.
status
String
Backup policy status
disabled: indicates that the backup policy is unavailable.
enabled: indicates that the backup policy is available.
tags
List<resource_tag>
Tag list
Keys in the tag list must be unique.
Parameter description of field policy_param
¶ Parameter
Type
Description
common
common_param
Common parameters of a backup policy
Parameter description of field resource
¶ Parameter
Type
Description
id
String
Backup object ID
type
String
Entity object type of backup objects
The value is fixed at OS::Nova::Server (ECSs).
name
String
Backup object name
extra_info
Dict
Additional information about the backup object
Parameter description of field scheduled_operation_resp
¶ Parameter
Type
Description
description
String
Scheduling period description
The value consists of 0 to 255 characters and must not contain a greater-than sign (>) or less-than sign (<).
enabled
Boolean
Whether the scheduling period is enabled
The default value is true. If it is set to false, automatic scheduling is disabled but manual scheduling is supported.
name
String
Scheduling period name
The value consists of 1 to 255 characters and can contain only letters, digits, underscores (_), and hyphens (-).
operation_type
String
Operation type
Enumeration values: backup
operation_definition
operation_definition
Scheduling period parameters
For details, see Table 16.
trigger
trigger_resp
Scheduling policy
id
String
Scheduling period ID
trigger_id
String
Scheduler ID
Parameter description of field operation_definition
¶ Parameter
Type
Description
max_backups
String
Maximum number of backups that can be automatically created for a backup object. The value can be -1 or ranges from 0 to 99999. If the value is set to -1, backups will not be cleared by quantity limit.
retention_duration_days
String
Duration of retaining a backup, in days. The value can be -1 or ranges from 0 to 99999. If the value is set to -1, backups will not be cleared by retention duration.
permanent
String
Whether backups are permanently retained
plan_id
String
Backup policy ID
provider_id
String
Backup provider ID, which specifies whether the backup object is a server or disk. This parameter has a fixed value. For CSBS, the value is fc4d5750-22e7-4798-8a46-f48f62c4c1da.
Note
If permanent is set to true, backups will be retained permanently, despite the settings of max_backups and retention_duration_days.
If permanent is set to false, settings of max_backups and retention_duration_days are effective.
If none of permanent, max_backups, and retention_duration_days is set, backups will be retained permanently.
Parameter description of field trigger_resp
¶ Parameter
Type
Description
properties
trigger_properties_resp
Scheduler properties
For details, see Parameter description of field trigger_properties_resp.
id
String
Scheduler ID
name
String
Scheduler name
type
String
Scheduling type. The value is fixed at time.
Parameter description of field trigger_properties_resp
¶ Parameter
Type
Description
pattern
String
Scheduling policy of the scheduler
The value consists of a maximum of 10,240 characters. The scheduling policy complies with iCalendar RFC 2445, but it supports only four parameters, which are FREQ, BYDAY, BYHOUR, and BYMINUTE. FREQ can be set to WEEKLY and DAILY, BYDAY can be set to MO, TU, WE, TH, FR, SA, and SU (seven days of a week), BYHOUR ranges from 0 hours to 23 hours, and 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.
start_time
String
Scheduler start time, for example, 2017-04-18T01:21:52
format
String
Scheduler type
Parameter description of field resource_tag
¶ Parameter
Type
Description
key
String
Tag key
It consists of up to 36 characters.
It cannot be an empty string.
It can contain only letters, digits, hyphens (-), and underscores (_).
value
String
Tag value
It consists of up to 43 characters.
It can be an empty string.
It can contain only letters, digits, hyphens (-), and underscores (_).
Example response
{ "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" } }
Status Codes¶
Normal
Status Code
Description
200
OK
Abnormal
Status Code
Description
400
Invalid request parameters.
401
Authentication failed.
403
No operation permission.
404
Requested object not found.
500
Service internal error.
503
Service unavailable.
Error Codes¶
For details, see Error Codes.