Create a Backup Configuration
/backupservice/v1/configuration
Create a new backup configuration. Requires authorization to create backup configurations as well as appropriate authorization to create snapshots from the target volume.
Prerequisite: Ensure that you have selected a replication policy for your Oracle Cloud Infrastructure Object Storage Classic instance. See Selecting a Replication Policy for Your Service Instance in Using Oracle Cloud Infrastructure Object Storage Classic.
Required Role: To complete this task, you must have the Compute_Operations
role. If this role isn't assigned to you or you're not sure, then ask your system administrator to ensure that the role is assigned to you in Oracle Cloud My Services. See Modifying User Roles in Managing and Monitoring Oracle Cloud.
Request
- application/oracle-compute-v3+json
- application/json
object
-
backupRetentionCount(optional):
integer(int32)
Minimum Value:
1
How many backups to retain -
description(optional):
string
Description of this Backup Configuration
-
enabled(optional):
boolean
Default Value:
false
When true, backups will automatically be generated based on the interval. -
interval:
object Interval
There are two kinds of Intervals. Each Interval has its own JSON format. Your Interval field should look like one of the following:
"interval":{"Hourly":{"hourlyInterval":2}}
{"DailyWeekly":{"daysOfWeek":["MONDAY"],"timeOfDay":"03:15","userTimeZone":"America/Los_Angeles"}}
Days of the week is any day of the week fully capitalized (MONDAY, TUESDAY, etc). The user time zone is any IANA user timezone. For example user time zones see List of IANA time zones.
-
name:
string
Pattern:
(^/$|^(/[\w@\.-]+)+$)
The multi-part name of the object. Object names can contain only alphanumeric characters, hyphens, underscores, @ and periods. Object names are case-sensitive. -
volumeUri:
string(uri)
The complete URI of the storage volume that you want to backup.
object
"interval":{"Hourly":{"hourlyInterval":2}}
{"DailyWeekly":{"daysOfWeek":["MONDAY"],"timeOfDay":"03:15","userTimeZone":"America/Los_Angeles"}}
Days of the week is any day of the week fully capitalized (MONDAY, TUESDAY, etc). The user time zone is any IANA user timezone. For example user time zones see List of IANA time zones.
Response
- application/oracle-compute-v3+json
- application/json
201 Response
object
-
backupRetentionCount(optional):
integer(int32)
How many backups to retain
-
description(optional):
string
Description of this Backup Configuration
-
enabled(optional):
boolean
Default Value:
false
When true, backups will automatically be generated based on the interval. -
interval(optional):
object Interval
There are two kinds of Intervals. Each Interval has its own JSON format. Your Interval field should look like one of the following:
"interval":{"Hourly":{"hourlyInterval":2}}
{"DailyWeekly":{"daysOfWeek":["MONDAY"],"timeOfDay":"03:15","userTimeZone":"America/Los_Angeles"}}
Days of the week is any day of the week fully capitalized (MONDAY, TUESDAY, etc). The user time zone is any IANA user timezone. For example user time zones see List of IANA time zones.
-
name(optional):
string
Pattern:
(^/$|^(/[\w@\.-]+)+$)
The multi-part name of the object. Object names can contain only alphanumeric characters, hyphens, underscores, @ and periods. Object names are case-sensitive. -
nextScheduledRun(optional):
string(date-time)
Scheduled time for next backup execution
-
runAsUser(optional):
string
Pattern:
(^/$|^(/[\w@\.-]+)+$)
Any actions on this model will be performed as this user. -
tagId(optional):
string(uuid)
ID used to tag other cloud resources
-
uri(optional):
string(uri)
Uniform Resource Identifier
-
volumeUri(optional):
string(uri)
The complete URI of the storage volume that you want to backup.
object
"interval":{"Hourly":{"hourlyInterval":2}}
{"DailyWeekly":{"daysOfWeek":["MONDAY"],"timeOfDay":"03:15","userTimeZone":"America/Los_Angeles"}}
Days of the week is any day of the week fully capitalized (MONDAY, TUESDAY, etc). The user time zone is any IANA user timezone. For example user time zones see List of IANA time zones.
400 Response
401 Response
500 Response
Examples
cURL Command
The following example shows how to create backup configuration to schedule backup of storage volumes by submitting a POST request on the REST resource using cURL. For more information about cURL, see Use cURL.
Enter the command on a single line. Line breaks are used in this example for readability.
curl -i -X POST -H "Cookie: $COMPUTE_COOKIE" -H "Content-Type: application/oracle-compute-v3+json" -H "Accept: application/oracle-compute-v3+json" -d "@requestbody.json" https://api-z999.compute.us0.oraclecloud.com/backupservice/v1/configuration/
-
COMPUTE_COOKIE
is the name of the variable in which you stored the authentication cookie earlier. For information about retrieving the authentication cookie and storing it in a variable, see Authentication. -
api-z999.compute.us0.oraclecloud.com
is an example REST endpoint URL. Change this value to the REST endpoint URL of your Compute Classic site. For information about finding out REST endpoint URL for your site, see Send Requests.
Example of Request Body
The following shows an example of the request body content in the requestbody.json
file. This example creates a new backup configuration /Compute-acme/jack.jones@example.com/backupConfigVol1
, provided that a backup configuration with the same name does not exist already. The following example shows the sample request body to create a backup configuration to backup an existing storage volume /Compute-acme/jack.jones@example.com/vol1
every hour and retain only the two most recent backup.
{ "volumeUri": "http://api-z999.compute.us0.oraclecloud.com/storage/volume/Compute-acme/jack.jones@example.com/vol1", "name": "/Compute-acme/jack.jones@example.com/backupConfigVol1", "enabled": false, "backupRetentionCount": 2, "interval": { "Hourly": { "hourlyInterval": 1 } } }
Example of Response Body
The following example shows the response body in JSON format.
{ "uri": "https://api-z999.compute.us0.oraclecloud.com/backupservice/v1/configuration/Compute-acme/jack.jones@example.com/backupConfigVol1", "runAsUser": "/Compute-acme/jack.jones@example.com", "name": "/Compute-acme/jack.jones@example.com/backupConfigVol1", "enabled": false, "backupRetentionCount": 2, "nextScheduledRun": "2016-08-19T05:10:44.859Z", "interval": { "Hourly": { "hourlyInterval": 1 } }, "volumeUri": "http://api-z999.compute.us0.oraclecloud.com/storage/volume/Compute-acme/jack.jones@example.com/vol1", "description": null, "tagId": "27f57e2d-f0f6-430d-9c04-40a58d632513" }