Protectables
Enables the Karbor user to access information about which resource types are
protectable (i.e. can be protected by Karbor). In addition, enables the user
to get additional information on each resource type, such as a list of actual
instances and their dependencies.
/v1/{tenant_id} /protectables
detail
Lists all the available protectable types.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
sort (Optional)
query
string
Comma-separated list of sort keys and optional
sort directions in the form of < key > [: < direction > ]. A valid
direction is asc
(ascending) or desc
(descending).
limit (Optional)
query
integer
Requests a page size of items. Returns a number
of items up to a limit value. Use the limit
parameter to make
an initial limited request and use the ID of the last-seen item
from the response as the marker
parameter value in a
subsequent limited request.
marker (Optional)
query
string
The ID of the last-seen item. Use the limit
parameter to make an initial limited request and use the ID of the
last-seen item from the response as the marker
parameter value
in a subsequent limited request.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
protectable_type
body
array
All the available protection types.
Response Example
{
"protectable_type" : [
"OS::Keystone::Project" ,
"OS::Cinder::Volume" ,
"OS::Glance::Image" ,
"OS::Nova::Server"
]
}
/v1/{tenant_id} /protectables/{protectable_type}
detail
Shows the information of a given protectable type.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
protectable_type
path
string
The name of a specified protectable type.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
protectable_type
body
object
A protectable_type
object.
name
body
string
The name of the protectable type.
dependent_types
body
array
All dependent protectable type, It can be an empty list.
Response Example
{
"protectable_type" : {
"name" : "OS::Nova::Server" ,
"dependent_types" : [
"OS::Cinder::Volume" ,
"OS::Glance::Image"
]
}
}
/v1/{tenant_id} /protectables/{protectable_type} /instances
List protectable instances
detail
List all the available instances for the given protectable type.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
protectable_type
path
string
The name of a specified protectable type.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
instances
body
array
The list of protectable_instance
objects.
id
body
UUID
The UUID of a protectable instance.
type
body
string
The name of a specified protectable type.
name
body
string
The name of a protectable instance.
dependent_resources
body
array
All dependent resources for a given protectable instance, It can be an
empty list.
instances_links
body
array
Links for transfer.
Response Example
{
"instances" : [
{
"id" : "25336116-f38e-4c22-81ad-e9b7bd71ba51" ,
"type" : "OS::Cinder::Volume" ,
"name" : "System volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
},
{
"id" : "33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" ,
"type" : "OS::Cinder::Volume" ,
"name" : "Data volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
}
],
"instances_links" : [
{
"href" : "/v1/{project_id}/instances?limit=1&marker=cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" ,
"rel" : "next"
}
]
}
/v1/{tenant_id} /protectables/{protectable_type} /instances/{resource_id}
Show protectable instance
detail
Show the information about a specific instance and its immediate dependencies.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
protectable_type
path
string
The name of a specified protectable type.
resource_id
path
UUID
The UUID of a resource.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
instance
body
object
A protectable_instance
object.
id
body
UUID
The UUID of a protectable instance.
type
body
string
The name of a specified protectable type.
name
body
string
The name of a protectable instance.
dependent_resources
body
array
All dependent resources for a given protectable instance, It can be an
empty list.
Response Example
{
"instance" : {
"id" : "cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" ,
"type" : "OS::Nova::Server" ,
"name" : "My VM" ,
"dependent_resources" : [
{
"id" : "99777fdd-8a5b-45ab-ba2c-52420008103f" ,
"type" : "OS::Glance::Image" ,
"name" : "cirros-0.3.4-x86_64-uec"
}
]
}
}
Providers
Enables the Karbor user to list available providers and get parameters and
result schema super-set for all plugins of a specific Provider.
/v1/{tenant_id} /providers
List protection providers
detail
List all the information about the providers offered at a given service, or
part of the providers limited by ?limit={limit_num}
by GET
method.
All providers need to be configured first by the admin.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
sort (Optional)
query
string
Comma-separated list of sort keys and optional
sort directions in the form of < key > [: < direction > ]. A valid
direction is asc
(ascending) or desc
(descending).
limit (Optional)
query
integer
Requests a page size of items. Returns a number
of items up to a limit value. Use the limit
parameter to make
an initial limited request and use the ID of the last-seen item
from the response as the marker
parameter value in a
subsequent limited request.
marker (Optional)
query
string
The ID of the last-seen item. Use the limit
parameter to make an initial limited request and use the ID of the
last-seen item from the response as the marker
parameter value
in a subsequent limited request.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
providers
body
array
The list of provider
objects.
id
body
UUID
The UUID of the provider.
name
body
string
The name of the provider.
description
body
string
The description for this object, resource, operation and so on. May be
NULL
.
extended_info_schema
body
dict
The extended info schema for provider.
saved_info_schema
body
dict
The saved info schema for provider.
restore_schema
body
dict
The restore schema for provider.
providers_links
body
array
Links for transfer.
Response Example
{
"providers" : [
{
"id" : "2220f8b1-975d-4621-a872-fa9afb43cb6c" ,
"name" : "OS Infra Provider" ,
"description" : "This provider uses OpenStack's own services (swift, cinder) as storage" ,
"extended_info_schema" : {
"options_schema" : {
"OS::Cinder::Volume" : {
"required" : [
"backup_mode"
],
"type" : "object" ,
"properties" : {
"backup_mode" : {
"default" : "auto" ,
"enum" : [
"full" ,
"incremental" ,
"auto"
],
"type" : "string" ,
"description" : "The backup mode." ,
"title" : "Backup Mode"
}
},
"title" : "Cinder Protection Options"
}
},
"saved_info_schema" : {
"OS::Cinder::Volume" : {
"required" : [
"name"
],
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string" ,
"description" : "The name for this backup." ,
"title" : "Name"
}
},
"title" : "Cinder Protection Saved Info"
}
},
"restore_schema" : {
"OS::Cinder::Volume" : {
"type" : "object" ,
"properties" : {
"restore_name" : {
"type" : "string" ,
"description" : "The name of the restored volume." ,
"title" : "Restore Name"
}
},
"title" : "Cinder Protection Restore"
}
}
}
}
],
"providers_links" : [
{
"href" : "/v1/{project_id}/providers?limit={limit_num}&marker=cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"rel" : "next"
}
]
}
/v1/{tenant_id} /providers/{provider_id}
detail
Shows the information about a specific provider.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
provider_id
path
UUID
The UUID of a provider.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
provider
body
object
A provider
object.
id
body
UUID
The UUID of the provider.
name
body
string
The name of the provider.
description
body
string
The description for this object, resource, operation and so on. May be
NULL
.
extended_info_schema
body
dict
The extended info schema for provider.
saved_info_schema
body
dict
The saved info schema for provider.
restore_schema
body
dict
The restore schema for provider.
Response Example
{
"provider" : {
"id" : "2220f8b1-975d-4621-a872-fa9afb43cb6c" ,
"name" : "OS Infra Provider" ,
"description" : "This provider uses OpenStack's own services (swift, cinder) as storage" ,
"extended_info_schema" : {
"options_schema" : {
"OS::Cinder::Volume" : {
"required" : [
"backup_mode"
],
"type" : "object" ,
"properties" : {
"backup_mode" : {
"default" : "auto" ,
"enum" : [
"full" ,
"incremental" ,
"auto"
],
"type" : "string" ,
"description" : "The backup mode." ,
"title" : "Backup Mode"
}
},
"title" : "Cinder Protection Options"
}
},
"saved_info_schema" : {
"OS::Cinder::Volume" : {
"required" : [
"name"
],
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string" ,
"description" : "The name for this backup." ,
"title" : "Name"
}
},
"title" : "Cinder Protection Saved Info"
}
},
"restore_schema" : {
"OS::Cinder::Volume" : {
"type" : "object" ,
"properties" : {
"restore_name" : {
"type" : "string" ,
"description" : "The name of the restored volume." ,
"title" : "Restore Name"
}
},
"title" : "Cinder Protection Restore"
}
}
}
}
}
Plans
This API enables the Karbor user to access the protection Plan registry and do
the following operations:
Plan CRUD.
List Plans.
Starting and suspending of plans.
When you perform the above operation, these status values are possible:
Status
Description
started
A plan is updated.
suspended
A plan is created.
List all the protection plans offered for the given project, or part of the
protection plans limited by ?limit={limit_num}
by GET
method.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
sort (Optional)
query
string
Comma-separated list of sort keys and optional
sort directions in the form of < key > [: < direction > ]. A valid
direction is asc
(ascending) or desc
(descending).
limit (Optional)
query
integer
Requests a page size of items. Returns a number
of items up to a limit value. Use the limit
parameter to make
an initial limited request and use the ID of the last-seen item
from the response as the marker
parameter value in a
subsequent limited request.
marker (Optional)
query
string
The ID of the last-seen item. Use the limit
parameter to make an initial limited request and use the ID of the
last-seen item from the response as the marker
parameter value
in a subsequent limited request.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
plans
body
array
The list of plan
objects.
id
body
UUID
The UUID of the plan.
name
body
string
The name of the plan.
resources
body
array
The list of all resources in plan.
status
body
string
The status of plan. A valid value is started
or suspended
.
provider_id
body
UUID
The UUID of the provider.
parameters
body
dict
The specified parameters for plan.
plans_links
body
array
Links for transfer.
Response Example
{
"plans" : [
{
"id" : "9e5475d2-6425-4986-9136-a4f09642297f" ,
"name" : "My 3 tier application" ,
"resources" : [
{
"id" : "99777fdd-8a5b-45ab-ba2c-52420008103f" ,
"type" : "OS::Glance::Image" ,
"name" : "cirros-0.3.4-x86_64-uec"
},
{
"id" : "cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" ,
"type" : "OS::Nova::Server" ,
"name" : "App server"
},
{
"id" : "25336116-f38e-4c22-81ad-e9b7bd71ba51" ,
"type" : "OS::Cinder::Volume" ,
"name" : "System volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
},
{
"id" : "33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" ,
"type" : "OS::Cinder::Volume" ,
"name" : "Data volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
}
],
"status" : "suspended" ,
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"parameters" : {
"OS::Nova::Server" : {
"backup_name" : "os"
},
"OS::Nova::Server#cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" : {
"backup_name" : "crash"
},
"OS::Cinder::Volume" : {
"backup_name" : "os"
},
"OS::Cinder::Volume#33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" : {
"backup_name" : "crash"
}
}
}
],
"plans_links" : [
{
"href" : "/v1/{project_id}/plans?limit={limit_num}&marker=9e5475d2-6425-4986-9136-a4f09642297f" ,
"rel" : "next"
}
]
}
Create a new plan.
To specify the parameters for this plan, include the parameters
in the parameters
attribute in the request body.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
plan
body
object
A plan
object.
name
body
string
The name of the plan.
resources
body
array
The list of all resources in plan.
provider_id
body
UUID
The UUID of the provider.
parameters
body
dict
The specified parameters for plan.
Request Example
{
"plan" : {
"name" : "My 3 tier application" ,
"resources" : [
{
"id" : "99777fdd-8a5b-45ab-ba2c-52420008103f" ,
"type" : "OS::Glance::Image" ,
"name" : "cirros-0.3.4-x86_64-uec"
},
{
"id" : "cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" ,
"type" : "OS::Nova::Server" ,
"name" : "App server"
},
{
"id" : "25336116-f38e-4c22-81ad-e9b7bd71ba51" ,
"type" : "OS::Cinder::Volume" ,
"name" : "System volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
},
{
"id" : "33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" ,
"type" : "OS::Cinder::Volume" ,
"name" : "Data volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
}
],
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"parameters" : {
"OS::Nova::Server" : {
"backup_name" : "os"
},
"OS::Nova::Server#cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" : {
"backup_name" : "crash"
},
"OS::Cinder::Volume" : {
"backup_name" : "os"
},
"OS::Cinder::Volume#33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" : {
"backup_name" : "crash"
}
}
}
}
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
plan
body
object
A plan
object.
id
body
UUID
The UUID of the plan.
name
body
string
The name of the plan.
resources
body
array
The list of all resources in plan.
status
body
string
The status of plan. A valid value is started
or suspended
.
provider_id
body
UUID
The UUID of the provider.
parameters
body
dict
The specified parameters for plan.
Response Example
{
"plan" : {
"id" : "9e5475d2-6425-4986-9136-a4f09642297f" ,
"name" : "My 3 tier application" ,
"resources" : [
{
"id" : "99777fdd-8a5b-45ab-ba2c-52420008103f" ,
"type" : "OS::Glance::Image" ,
"name" : "cirros-0.3.4-x86_64-uec"
},
{
"id" : "cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" ,
"type" : "OS::Nova::Server" ,
"name" : "App server"
},
{
"id" : "25336116-f38e-4c22-81ad-e9b7bd71ba51" ,
"type" : "OS::Cinder::Volume" ,
"name" : "System volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
},
{
"id" : "33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" ,
"type" : "OS::Cinder::Volume" ,
"name" : "Data volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
}
],
"status" : "suspended" ,
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"parameters" : {
"OS::Nova::Server" : {
"backup_name" : "os"
},
"OS::Nova::Server#cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" : {
"backup_name" : "crash"
},
"OS::Cinder::Volume" : {
"backup_name" : "os"
},
"OS::Cinder::Volume#33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" : {
"backup_name" : "crash"
}
}
}
}
/v1/{tenant_id} /plans/{plan_id}
detail
Shows the information about a specific plan.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
plan_id
body
UUID
The UUID of the plan.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
plan
body
object
A plan
object.
id
body
UUID
The UUID of the plan.
name
body
string
The name of the plan.
resources
body
array
The list of all resources in plan.
status
body
string
The status of plan. A valid value is started
or suspended
.
provider_id
body
UUID
The UUID of the provider.
parameters
body
dict
The specified parameters for plan.
Response Example
{
"plan" : {
"id" : "9e5475d2-6425-4986-9136-a4f09642297f" ,
"name" : "My 3 tier application" ,
"resources" : [
{
"id" : "99777fdd-8a5b-45ab-ba2c-52420008103f" ,
"type" : "OS::Glance::Image" ,
"name" : "cirros-0.3.4-x86_64-uec"
},
{
"id" : "cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" ,
"type" : "OS::Nova::Server" ,
"name" : "App server"
},
{
"id" : "25336116-f38e-4c22-81ad-e9b7bd71ba51" ,
"type" : "OS::Cinder::Volume" ,
"name" : "System volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
},
{
"id" : "33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" ,
"type" : "OS::Cinder::Volume" ,
"name" : "Data volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
}
],
"status" : "suspended" ,
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"parameters" : {
"OS::Nova::Server" : {
"backup_name" : "os"
},
"OS::Nova::Server#cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" : {
"backup_name" : "crash"
},
"OS::Cinder::Volume" : {
"backup_name" : "os"
},
"OS::Cinder::Volume#33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" : {
"backup_name" : "crash"
}
}
}
}
/v1/{tenant_id} /plans/{plan_id}
detail
Updates a specific plan.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
plan_id
body
UUID
The UUID of the plan.
plan
body
object
A plan
object.
name (Optional)
body
string
The name of the plan.
resources (Optional)
body
array
The list of all resources in plan.
status (Optional)
body
string
The status of plan. A valid value is started
or suspended
.
Request Example
{
"plan" : {
"status" : "started" ,
"name" : "My 1 tier application"
}
}
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
plan
body
object
A plan
object.
id
body
UUID
The UUID of the plan.
name
body
string
The name of the plan.
resources
body
array
The list of all resources in plan.
status
body
string
The status of plan. A valid value is started
or suspended
.
provider_id
body
UUID
The UUID of the provider.
parameters
body
dict
The specified parameters for plan.
Response Example
{
"plan" : {
"id" : "9e5475d2-6425-4986-9136-a4f09642297f" ,
"name" : "My 1 tier application" ,
"resources" : [
{
"id" : "99777fdd-8a5b-45ab-ba2c-52420008103f" ,
"type" : "OS::Glance::Image" ,
"name" : "cirros-0.3.4-x86_64-uec"
},
{
"id" : "cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" ,
"type" : "OS::Nova::Server" ,
"name" : "App server"
},
{
"id" : "25336116-f38e-4c22-81ad-e9b7bd71ba51" ,
"type" : "OS::Cinder::Volume" ,
"name" : "System volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
},
{
"id" : "33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" ,
"type" : "OS::Cinder::Volume" ,
"name" : "Data volume" ,
"extra_info" : {
"availability_zone" : "az1"
}
}
],
"status" : "started" ,
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"parameters" : {
"OS::Nova::Server" : {
"backup_name" : "os"
},
"OS::Nova::Server#cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" : {
"backup_name" : "crash"
},
"OS::Cinder::Volume" : {
"backup_name" : "os"
},
"OS::Cinder::Volume#33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" : {
"backup_name" : "crash"
}
}
}
}
/v1/{tenant_id} /plans/{plan_id}
detail
Deletes a specific plan.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
202 - Accepted
Request was accepted for processing, but the processing has not been
completed. A ‘location’ header is included in the response which contains
a link to check the progress of the request.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
plan_id
body
UUID
The UUID of the plan.
Triggers
This API enables the Karbor user to access the trigger registry and do
the following operations:
Trigger CRUD.
List Triggers.
List all the triggers offered for the given project, or part of the triggers
limited by ?limit={limit_num}
by GET
method.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
sort (Optional)
query
string
Comma-separated list of sort keys and optional
sort directions in the form of < key > [: < direction > ]. A valid
direction is asc
(ascending) or desc
(descending).
limit (Optional)
query
integer
Requests a page size of items. Returns a number
of items up to a limit value. Use the limit
parameter to make
an initial limited request and use the ID of the last-seen item
from the response as the marker
parameter value in a
subsequent limited request.
marker (Optional)
query
string
The ID of the last-seen item. Use the limit
parameter to make an initial limited request and use the ID of the
last-seen item from the response as the marker
parameter value
in a subsequent limited request.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
triggers
body
array
The list of trigger
objects.
id
body
UUID
The UUID of the trigger.
type
body
string
The type of the trigger.
name
body
string
The name of the trigger.
properties
body
dict
The property list for trigger. it must include “pattern
” and
“format
”, may include “window
” “start_time
” and “end_time
”.
plans_links
body
array
Links for transfer.
Response Example
{ "triggers" : [
{ "trigger_info" : {
"id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa398" ,
"type" : "time" ,
"name" : "My backup trigger" ,
"properties" : {
"format" : "calendar" ,
"pattern" : "BEGIN:VEVENT\\nRRULE:FREQ=HOURLY;INTERVAL=1;\\nEND:VEVENT" ,
"start_time" : "2015-12-17T08:30:00" ,
"end_time" : "2016-03-17T08:30:00" ,
"window" : "3600"
}
}
}
],
"triggers_links" : [
{
"href" : "/v1/{project_id}/triggers?limit={limit_num}&marker=2a9ce1f3-cc1a-4516-9435-0ebb13caa398" ,
"rel" : "next"
}
]
}
Create a new trigger.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
trigger_info
body
object
A trigger
object.
type
body
string
The type of the trigger.
name
body
string
The name of the trigger.
properties
body
dict
The property list for trigger. it must include “pattern
” and
“format
”, may include “window
” “start_time
” and “end_time
”.
Request Example
{ "trigger_info" : {
"name" : "My backup trigger" ,
"type" : "time" ,
"properties" : {
"format" : "calendar" ,
"pattern" : "BEGIN:VEVENT\\nRRULE:FREQ=HOURLY;INTERVAL=1;\\nEND:VEVENT" ,
"start_time" : "2015-12-17T08:30:00" ,
"end_time" : "2016-03-17T08:30:00" ,
"window" : "3600"
}
}
}
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
trigger_info
body
object
A trigger
object.
id
body
UUID
The UUID of the trigger.
type
body
string
The type of the trigger.
name
body
string
The name of the trigger.
properties
body
dict
The property list for trigger. it must include “pattern
” and
“format
”, may include “window
” “start_time
” and “end_time
”.
Response Example
{ "trigger_info" : {
"id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa398" ,
"name" : "My backup trigger" ,
"type" : "time" ,
"properties" : {
"format" : "calendar" ,
"pattern" : "BEGIN:VEVENT\\nRRULE:FREQ=HOURLY;INTERVAL=1;\\nEND:VEVENT" ,
"start_time" : "2015-12-17T08:30:00" ,
"end_time" : "2016-03-17T08:30:00" ,
"window" : "3600"
}
}
}
/v1/{tenant_id} /triggers/{trigger_id}
detail
Shows the information about a specified trigger.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
trigger_id
path
UUID
The UUID of the trigger.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
trigger_info
body
object
A trigger
object.
id
body
UUID
The UUID of the trigger.
type
body
string
The type of the trigger.
name
body
string
The name of the trigger.
properties
body
dict
The property list for trigger. it must include “pattern
” and
“format
”, may include “window
” “start_time
” and “end_time
”.
Response Example
{ "trigger_info" : {
"id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa398" ,
"name" : "My backup trigger" ,
"type" : "time" ,
"properties" : {
"format" : "calendar" ,
"pattern" : "BEGIN:VEVENT\\nRRULE:FREQ=HOURLY;INTERVAL=1;\\nEND:VEVENT" ,
"start_time" : "2015-12-17T08:30:00" ,
"end_time" : "2016-03-17T08:30:00" ,
"window" : "3600"
}
}
}
/v1/{tenant_id} /triggers/{trigger_id}
detail
Updates the name or properties of a specific trigger alone or at the same
time.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
trigger_id
path
UUID
The UUID of the trigger.
trigger_info
body
object
A trigger
object.
name (Optional)
body
string
The name of the trigger.
properties (Optional)
body
dict
The property list for trigger. it must include “pattern
” and
“format
”, may include “window
” “start_time
” and “end_time
”.
Request Example
{ "trigger_info" : {
"name" : "Trigger for backup" ,
"properties" : {
"format" : "calendar" ,
"pattern" : "BEGIN:VEVENT\\nRRULE:FREQ=HOURLY;INTERVAL=1;\\nEND:VEVENT" ,
"start_time" : "2015-12-17T08:30:00" ,
"end_time" : "2016-03-17T08:30:00" ,
"window" : "3600"
}
}
}
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
trigger_info
body
object
A trigger
object.
id
body
UUID
The UUID of the trigger.
type
body
string
The type of the trigger.
name
body
string
The name of the trigger.
properties
body
dict
The property list for trigger. it must include “pattern
” and
“format
”, may include “window
” “start_time
” and “end_time
”.
Response Example
{ "trigger_info" : {
"id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa398" ,
"name" : "Trigger for backup" ,
"type" : "time" ,
"properties" : {
"format" : "calendar" ,
"pattern" : "BEGIN:VEVENT\\nRRULE:FREQ=HOURLY;INTERVAL=1;\\nEND:VEVENT" ,
"start_time" : "2015-12-17T08:30:00" ,
"end_time" : "2016-03-17T08:30:00" ,
"window" : "3600"
}
}
}
/v1/{tenant_id} /triggers/{trigger_id}
detail
Deletes a specific trigger.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
202 - Accepted
Request was accepted for processing, but the processing has not been
completed. A ‘location’ header is included in the response which contains
a link to check the progress of the request.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
trigger_id
path
UUID
The UUID of the trigger.
Scheduled operations
This API enables the Karbor user to manage protection Operations:
Create a checkpoint for a given Protection Plan.
Delete unneeded checkpoints from the provider.
Status on a given Operation ID.
Scheduled operations are operations that will be executed when a specific
trigger is triggered.
/v1/{tenant_id} /scheduled_operations
List scheduled operations
detail
List all the scheduled operations based on trigger and plan, or part of the
scheduled operations limited by ?limit={limit_num}
by GET
method.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
sort (Optional)
query
string
Comma-separated list of sort keys and optional
sort directions in the form of < key > [: < direction > ]. A valid
direction is asc
(ascending) or desc
(descending).
limit (Optional)
query
integer
Requests a page size of items. Returns a number
of items up to a limit value. Use the limit
parameter to make
an initial limited request and use the ID of the last-seen item
from the response as the marker
parameter value in a
subsequent limited request.
marker (Optional)
query
string
The ID of the last-seen item. Use the limit
parameter to make an initial limited request and use the ID of the
last-seen item from the response as the marker
parameter value
in a subsequent limited request.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
operations
body
array
The list of scheduled operation
objects.
scheduled_operation
body
object
A scheduled operation
object.
id
body
UUID
The UUID of the scheduled operation.
name
body
string
The name of the scheduled operation.
description
body
string
The description for this object, resource, operation and so on. May be
NULL
.
operation_type
body
string
The type of the scheduled operation.
trigger_id
body
UUID
The UUID of the trigger.
operation_definition
body
dict
The operation definition for scheduled operation, include provider_id
and plan_id
key.
enabled
body
int
“1
” means Enable
, “0
” means Disable
.
plans_links
body
array
Links for transfer.
Response Example
{ "operations" : [
{ "scheduled_operation" : {
"id" : "1a2c0c3d-f402-4cd8-b5db-82e85cb51fad" ,
"name" : "My scheduled operation" ,
"description" : "It will run everyday" ,
"operation_type" : "protect" ,
"trigger_id" : "23902b02-5666-4ee6-8dfe-962ac09c3995" ,
"operation_definition" : {
"provider_id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa399" ,
"plan_id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa398"
},
"enabled" : 1
}
},
],
"operations_links" : [
{
"href" : "/v1/{project_id}/scheduled_operations?limit={limit_num}&marker=1a2c0c3d-f402-4cd8-b5db-82e85cb51fad" ,
"rel" : "next"
}
]
}
/v1/{tenant_id} /scheduled_operations
Create scheduled operation
detail
Create a new scheduled operation.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
scheduled_operation
body
object
A scheduled operation
object.
name
body
string
The name of the scheduled operation.
description
body
string
The description for this object, resource, operation and so on. May be
NULL
.
operation_type
body
string
The type of the scheduled operation.
trigger_id
body
UUID
The UUID of the trigger.
operation_definition
body
dict
The operation definition for scheduled operation, include provider_id
and plan_id
key.
Request Example
{ "scheduled_operation" : {
"name" : "My scheduled operation" ,
"description" : "It will run everyday" ,
"operation_type" : "protect" ,
"trigger_id" : "23902b02-5666-4ee6-8dfe-962ac09c3995" ,
"operation_definition" : {
"provider_id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa399" ,
"plan_id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa398"
}
}
}
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
scheduled_operation
body
object
A scheduled operation
object.
id
body
UUID
The UUID of the scheduled operation.
name
body
string
The name of the scheduled operation.
description
body
string
The description for this object, resource, operation and so on. May be
NULL
.
operation_type
body
string
The type of the scheduled operation.
trigger_id
body
UUID
The UUID of the trigger.
operation_definition
body
dict
The operation definition for scheduled operation, include provider_id
and plan_id
key.
enabled
body
int
“1
” means Enable
, “0
” means Disable
.
Response Example
{ "scheduled_operation" : {
"id" : "1a2c0c3d-f402-4cd8-b5db-82e85cb51fad" ,
"name" : "My scheduled operation" ,
"description" : "It will run everyday" ,
"operation_type" : "protect" ,
"trigger_id" : "23902b02-5666-4ee6-8dfe-962ac09c3995" ,
"operation_definition" : {
"provider_id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa399" ,
"plan_id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa398"
},
"enabled" : 1
}
}
/v1/{tenant_id} /scheduled_operations/{scheduled_operation_id}
detail
Shows the specified scheduled operation information.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
scheduled_operation_id
path
UUID
The UUID of the scheduled operation.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
scheduled_operation
body
object
A scheduled operation
object.
id
body
UUID
The UUID of the scheduled operation.
name
body
string
The name of the scheduled operation.
description
body
string
The description for this object, resource, operation and so on. May be
NULL
.
operation_type
body
string
The type of the scheduled operation.
trigger_id
body
UUID
The UUID of the trigger.
operation_definition
body
dict
The operation definition for scheduled operation, include provider_id
and plan_id
key.
enabled
body
int
“1
” means Enable
, “0
” means Disable
.
Response Example
{ "scheduled_operation" : {
"id" : "1a2c0c3d-f402-4cd8-b5db-82e85cb51fad" ,
"name" : "My scheduled operation" ,
"description" : "It will run everyday" ,
"operation_type" : "protect" ,
"trigger_id" : "23902b02-5666-4ee6-8dfe-962ac09c3995" ,
"operation_definition" : {
"provider_id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa399" ,
"plan_id" : "2a9ce1f3-cc1a-4516-9435-0ebb13caa398"
},
"enabled" : 1
}
}
/v1/{tenant_id} /scheduled_operations/{scheduled_operation_id}
Delete scheduled operation
detail
Deletes a specific scheduled operation.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
202 - Accepted
Request was accepted for processing, but the processing has not been
completed. A ‘location’ header is included in the response which contains
a link to check the progress of the request.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
scheduled_operation_id
path
UUID
The UUID of the scheduled operation.
Checkpoints
This API enables the Karbor user to access and manage the checkpoints stored in
the protection provider:
List all checkpoints given a Bank ID.
Show Information on a given checkpoint ID.
Delete a checkpoint.
Create a checkpoint.
When you perform the above operation, these status values are possible:
Status
Description
error
A checkpoint creation error occurred.
protecting
The checkpoint is being created.
available
The checkpoint is created, and available.
deleting
The checkpoint is being deleted.
deleted
The checkpoint is deleted.
error-deleting
A checkpoint deletion error occurred.
/v1/{tenant_id} /providers/{provider_id} /checkpoints
detail
List all the checkpoints offered at the given provider, or part of checkpoints
limited by ?limit={limit_num}
by GET
method.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
provider_id
path
UUID
The UUID of a provider.
sort (Optional)
query
string
Comma-separated list of sort keys and optional
sort directions in the form of < key > [: < direction > ]. A valid
direction is asc
(ascending) or desc
(descending).
limit (Optional)
query
integer
Requests a page size of items. Returns a number
of items up to a limit value. Use the limit
parameter to make
an initial limited request and use the ID of the last-seen item
from the response as the marker
parameter value in a
subsequent limited request.
marker (Optional)
query
string
The ID of the last-seen item. Use the limit
parameter to make an initial limited request and use the ID of the
last-seen item from the response as the marker
parameter value
in a subsequent limited request.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
checkpoints
body
array
The list of checkpoint
objects.
id
body
UUID
The UUID of the checkpoint.
project_id
body
string
The UUID of the tenant in a multi-tenancy cloud.
status
body
string
The status of checkpoint. A valid value is error
, protecting
,
available
, deleting
, deleted
or error-deleting
.
protection_plan
body
object
A plan
object.
resource_graph
body
array
The resource graph of protection plan corresponding to the checkpoint.
checkpoints_links
body
array
Links for transfer.
Response Example
{
"checkpoints" : [
{
"id" : "dcb20606-ad71-40a3-80e4-ef0fafdad0c3" ,
"project_id" : "e486a2f49695423ca9c47e589b948108" ,
"status" : "available" ,
"protection_plan" : {
"id" : "3523a271-68aa-42f5-b9ba-56e5200a2ebb" ,
"name" : "My 3 tier application" ,
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"resources" : [
{
"id" : "99777fdd-8a5b-45ab-ba2c-52420008103f" ,
"type" : "OS::Glance::Image" ,
"name" : "cirros-0.3.4-x86_64-uec"
},
{
"id" : "cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" ,
"type" : "OS::Nova::Server" ,
"name" : "App server"
},
{
"id" : "25336116-f38e-4c22-81ad-e9b7bd71ba51" ,
"type" : "OS::Cinder::Volume" ,
"name" : "System volume"
},
{
"id" : "33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" ,
"type" : "OS::Cinder::Volume" ,
"name" : "Data volume"
}
]
},
"resource_graph" : "[{'0x3': ['OS::Cinder::Volume', '33b6bb0b-1157-4e66-8553-1c9e14b1c7ba', 'Data volume'], '0x2': ['OS::Cinder::Volume', '25336116-f38e-4c22-81ad-e9b7bd71ba51', 'System volume'], '0x1': ['OS::Nova::Server', 'cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01', 'App server'], '0x0': ['OS::Glance::Image', '99777fdd-8a5b-45ab-ba2c-52420008103f', 'cirros-0.3.4-x86_64-uec']}, [['0x1', ['0x0']]]]"
}
],
"checkpoints_links" : [
{
"href" : "/v1/{project_id}/checkpoints?limit={limit_num}&marker=dcb20606-ad71-40a3-80e4-ef0fafdad0c3" ,
"rel" : "next"
}
]
}
/v1/{tenant_id} /providers/{provider_id} /checkpoints
detail
Execute the protect operation for the specified plan and create a checkpoint
at a given provider.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
provider_id
path
UUID
The UUID of a provider.
checkpoint
body
object
A checkpoint
object.
plan_id
body
UUID
The UUID of the plan.
extra_info (Optional)
body
dict
The extra information for checkpoint.
Request Example
{
"checkpoint" : {
"plan_id" : "3523a271-68aa-42f5-b9ba-56e5200a2ebb" ,
"extra_info" : {
"create-by" : "operation-engine" ,
"trigger_id" : "33b6bb0b-1157-4e66-8553-1c9e14b1c7ba"
}
}
}
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
checkpoint
body
object
A checkpoint
object.
id
body
UUID
The UUID of the checkpoint.
project_id
body
string
The UUID of the tenant in a multi-tenancy cloud.
status
body
string
The status of checkpoint. A valid value is error
, protecting
,
available
, deleting
, deleted
or error-deleting
.
protection_plan
body
object
A plan
object.
resource_graph
body
array
The resource graph of protection plan corresponding to the checkpoint.
Response Example
{
"checkpoint" : {
"id" : "dcb20606-ad71-40a3-80e4-ef0fafdad0c3" ,
"project_id" : "e486a2f49695423ca9c47e589b948108" ,
"status" : "available" ,
"protection_plan" : {
"id" : "3523a271-68aa-42f5-b9ba-56e5200a2ebb" ,
"name" : "My 3 tier application" ,
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"resources" : [
{
"id" : "99777fdd-8a5b-45ab-ba2c-52420008103f" ,
"type" : "OS::Glance::Image" ,
"name" : "cirros-0.3.4-x86_64-uec"
},
{
"id" : "cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" ,
"type" : "OS::Nova::Server" ,
"name" : "App server"
},
{
"id" : "25336116-f38e-4c22-81ad-e9b7bd71ba51" ,
"type" : "OS::Cinder::Volume" ,
"name" : "System volume"
},
{
"id" : "33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" ,
"type" : "OS::Cinder::Volume" ,
"name" : "Data volume"
}
]
},
"resource_graph" : "[{'0x3': ['OS::Cinder::Volume', '33b6bb0b-1157-4e66-8553-1c9e14b1c7ba', 'Data volume'], '0x2': ['OS::Cinder::Volume', '25336116-f38e-4c22-81ad-e9b7bd71ba51', 'System volume'], '0x1': ['OS::Nova::Server', 'cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01', 'App server'], '0x0': ['OS::Glance::Image', '99777fdd-8a5b-45ab-ba2c-52420008103f', 'cirros-0.3.4-x86_64-uec']}, [['0x1', ['0x0']]]]"
}
}
/v1/{tenant_id} /providers/{provider_id} /checkpoints/{checkpoint_id}
detail
Shows the information about the specified checkpoint offered at a given
provider.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
provider_id
path
UUID
The UUID of a provider.
checkpoint_id
path
UUID
The UUID of a checkpoint.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
checkpoint
body
object
A checkpoint
object.
id
body
UUID
The UUID of the checkpoint.
project_id
body
string
The UUID of the tenant in a multi-tenancy cloud.
status
body
string
The status of checkpoint. A valid value is error
, protecting
,
available
, deleting
, deleted
or error-deleting
.
protection_plan
body
object
A plan
object.
resource_graph
body
array
The resource graph of protection plan corresponding to the checkpoint.
Response Example
{
"checkpoint" : {
"id" : "dcb20606-ad71-40a3-80e4-ef0fafdad0c3" ,
"project_id" : "e486a2f49695423ca9c47e589b948108" ,
"status" : "available" ,
"protection_plan" : {
"id" : "3523a271-68aa-42f5-b9ba-56e5200a2ebb" ,
"name" : "My 3 tier application" ,
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"resources" : [
{
"id" : "99777fdd-8a5b-45ab-ba2c-52420008103f" ,
"type" : "OS::Glance::Image" ,
"name" : "cirros-0.3.4-x86_64-uec"
},
{
"id" : "cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01" ,
"type" : "OS::Nova::Server" ,
"name" : "App server"
},
{
"id" : "25336116-f38e-4c22-81ad-e9b7bd71ba51" ,
"type" : "OS::Cinder::Volume" ,
"name" : "System volume"
},
{
"id" : "33b6bb0b-1157-4e66-8553-1c9e14b1c7ba" ,
"type" : "OS::Cinder::Volume" ,
"name" : "Data volume"
}
]
},
"resource_graph" : "[{'0x3': ['OS::Cinder::Volume', '33b6bb0b-1157-4e66-8553-1c9e14b1c7ba', 'Data volume'], '0x2': ['OS::Cinder::Volume', '25336116-f38e-4c22-81ad-e9b7bd71ba51', 'System volume'], '0x1': ['OS::Nova::Server', 'cb4ef2ff-10f5-46c9-bce4-cf7a49c65a01', 'App server'], '0x0': ['OS::Glance::Image', '99777fdd-8a5b-45ab-ba2c-52420008103f', 'cirros-0.3.4-x86_64-uec']}, [['0x1', ['0x0']]]]"
}
}
/v1/{tenant_id} /providers/{provider_id} /checkpoints/{checkpoint_id}
detail
Deletes a specific checkpoint.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
202 - Accepted
Request was accepted for processing, but the processing has not been
completed. A ‘location’ header is included in the response which contains
a link to check the progress of the request.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
provider_id
path
UUID
The UUID of a provider.
checkpoint_id
path
UUID
The UUID of a checkpoint.
Restores
This API enables the Karbor user restore a checkpoint on to a restore target:
List all restores by a given project.
Create restored system from a checkpoint.
Show the information of a given restore operation.
When you perform the above operation, these status values are possible:
Status
Description
started
A restore operation is in progress.
success
A restore operation is success.
failed
A restore operation is failed.
List all restores started, success or failed, triggered by a given project,
or part of the protection plans limited by ?limit={limit_num}
by GET
method.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
sort (Optional)
query
string
Comma-separated list of sort keys and optional
sort directions in the form of < key > [: < direction > ]. A valid
direction is asc
(ascending) or desc
(descending).
limit (Optional)
query
integer
Requests a page size of items. Returns a number
of items up to a limit value. Use the limit
parameter to make
an initial limited request and use the ID of the last-seen item
from the response as the marker
parameter value in a
subsequent limited request.
marker (Optional)
query
string
The ID of the last-seen item. Use the limit
parameter to make an initial limited request and use the ID of the
last-seen item from the response as the marker
parameter value
in a subsequent limited request.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
restores
body
array
The list of restore
objects.
id
body
UUID
The UUID of the restore.
project_id
body
string
The UUID of the tenant in a multi-tenancy cloud.
provider_id
body
UUID
The UUID of the provider.
checkpoint_id
body
UUID
The UUID of the checkpoint.
restore_target
body
string
The target of the restore operation.
parameters
body
dict
specifies each resource or resource type paramters according to protection
plugin’s restore schema.
status
body
string
The status of restore. A valid value is “started
” “success
” or
“failed
”.
resource_status
body
dict
Map of the restore status for each resource
resource_reason
body
dict
Map of the reason for failure of each resource in the restore
restores_links
body
array
Links for transfer.
Response Example
{
"restores" : [
{
"id" : "22b82aa7-9179-4c71-bba2-caf5c0e68db7" ,
"project_id" : "e486a2f49695423ca9c47e589b948108" ,
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"checkpoint_id" : "dcb20606-ad71-40a3-80e4-ef0fafdad0c3" ,
"restore_target" : "http://192.168.1.2/identity/" ,
"parameters" : {
"OS::Cinder::Volume" : {
},
"OS::Nova::Server#3f8af6c6-ecea-42bd-b44c-724785bbe5ea" : {
}
},
"restore_auth" : {
"type" : "password" ,
"username" : "admin" ,
"password" : "***"
},
"resource_status" : {
"OS::Nova::Server#3f8af6c6-ecea-42bd-b44c-724785bbe5ea" : "restoring" ,
"OS::Cinder::Volume#98eb847f-9f59-4d54-8b7b-5047bd2fa4c7" : "error"
},
"resource_reason" : {
"OS::Cinder::Volume#98eb847f-9f59-4d54-8b7b-5047bd2fa4c7" : "Backup not found"
},
"status" : "success"
}
],
"restores_links" : [
{
"href" : "/v1/{project_id}/restores?limit={limit_num}&marker=22b82aa7-9179-4c71-bba2-caf5c0e68db7" ,
"rel" : "next"
}
]
}
Start a restore operation.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
restore
body
object
A restore
object.
provider_id
body
UUID
The UUID of the provider.
checkpoint_id
body
UUID
The UUID of the checkpoint.
restore_target
body
string
The target of the restore operation.
restore_auth
body
dict
The authentication for restore, include “type
” “username
” and
“password
” key.
parameters
body
dict
specifies each resource or resource type paramters according to protection
plugin’s restore schema.
Request Example
{
"restore" : {
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"checkpoint_id" : "dcb20606-ad71-40a3-80e4-ef0fafdad0c3" ,
"restore_target" : "http://192.168.1.2/identity/" ,
"restore_auth" : {
"type" : "password" ,
"username" : "admin" ,
"password" : "secretadmin"
},
"parameters" : {
"OS::Cinder::Volume" : {
},
"OS::Nova::Server#3f8af6c6-ecea-42bd-b44c-724785bbe5ea" : {
}
}
}
}
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
restore
body
object
A restore
object.
id
body
UUID
The UUID of the restore.
project_id
body
string
The UUID of the tenant in a multi-tenancy cloud.
provider_id
body
UUID
The UUID of the provider.
checkpoint_id
body
UUID
The UUID of the checkpoint.
restore_target
body
string
The target of the restore operation.
restore_auth
body
dict
The authentication for restore, include “type
” “username
” and
“password
” key.
parameters
body
dict
specifies each resource or resource type paramters according to protection
plugin’s restore schema.
status
body
string
The status of restore. A valid value is “started
” “success
” or
“failed
”.
resource_status
body
dict
Map of the restore status for each resource
resource_reason
body
dict
Map of the reason for failure of each resource in the restore
Response Example
{
"restore" : {
"id" : "22b82aa7-9179-4c71-bba2-caf5c0e68db7" ,
"project_id" : "e486a2f49695423ca9c47e589b948108" ,
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"checkpoint_id" : "dcb20606-ad71-40a3-80e4-ef0fafdad0c3" ,
"restore_target" : "http://192.168.1.2/identity/" ,
"restore_auth" : {
"type" : "password" ,
"username" : "admin" ,
"password" : "***"
},
"parameters" : {
"OS::Cinder::Volume" : {
},
"OS::Nova::Server#3f8af6c6-ecea-42bd-b44c-724785bbe5ea" : {
}
},
"resource_status" : {
"OS::Nova::Server#3f8af6c6-ecea-42bd-b44c-724785bbe5ea" : "restoring" ,
"OS::Cinder::Volume#98eb847f-9f59-4d54-8b7b-5047bd2fa4c7" : "restoring"
},
"resource_reason" : {
},
"status" : "success"
}
}
/v1/{tenant_id} /restores/{restore_id}
detail
Show the information of a given restore operation.
Response Codes
Success
Code
Reason
200 - OK
Request was successful.
Error
Code
Reason
401 - Unauthorized
User must authenticate before making a request.
403 - Forbidden
Policy does not allow current user to do this operation.
Request
Name
In
Type
Description
tenant_id
path
string
The UUID of the tenant in a multi-tenancy cloud.
restore_id
path
UUID
The UUID of the restore.
Response
Name
In
Type
Description
X-Openstack-Request-Id
header
UUID
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
restore
body
object
A restore
object.
id
body
UUID
The UUID of the restore.
project_id
body
string
The UUID of the tenant in a multi-tenancy cloud.
provider_id
body
UUID
The UUID of the provider.
checkpoint_id
body
UUID
The UUID of the checkpoint.
restore_target
body
string
The target of the restore operation.
parameters
body
dict
specifies each resource or resource type paramters according to protection
plugin’s restore schema.
status
body
string
The status of restore. A valid value is “started
” “success
” or
“failed
”.
resource_status
body
dict
Map of the restore status for each resource
resource_reason
body
dict
Map of the reason for failure of each resource in the restore
Response Example
{
"restore" : {
"id" : "22b82aa7-9179-4c71-bba2-caf5c0e68db7" ,
"project_id" : "e486a2f49695423ca9c47e589b948108" ,
"provider_id" : "cf56bd3e-97a7-4078-b6d5-f36246333fd9" ,
"checkpoint_id" : "dcb20606-ad71-40a3-80e4-ef0fafdad0c3" ,
"restore_target" : "http://192.168.1.2/identity/" ,
"restore_auth" : {
"type" : "password" ,
"username" : "admin" ,
"password" : "***"
},
"parameters" : {
"OS::Cinder::Volume" : {
},
"OS::Nova::Server#3f8af6c6-ecea-42bd-b44c-724785bbe5ea" : {
}
},
"resource_status" : {
"OS::Nova::Server#3f8af6c6-ecea-42bd-b44c-724785bbe5ea" : "restoring" ,
"OS::Cinder::Volume#98eb847f-9f59-4d54-8b7b-5047bd2fa4c7" : "restoring"
},
"resource_reason" : {
},
"status" : "success"
}
}