133 lines
4.4 KiB
Python
133 lines
4.4 KiB
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
"""Handles all requests relating to protection service."""
|
|
|
|
|
|
from karbor.db import base
|
|
from karbor.services.protection import rpcapi as protection_rpcapi
|
|
|
|
|
|
class API(base.Base):
|
|
"""API for interacting with the protection manager."""
|
|
|
|
def __init__(self, db_driver=None):
|
|
self.protection_rpcapi = protection_rpcapi.ProtectionAPI()
|
|
super(API, self).__init__(db_driver)
|
|
|
|
def restore(self, context, restore, restore_auth):
|
|
return self.protection_rpcapi.restore(context, restore, restore_auth)
|
|
|
|
def verification(self, context, verification):
|
|
return self.protection_rpcapi.verification(context, verification)
|
|
|
|
def protect(self, context, plan, checkpoint_properties):
|
|
return self.protection_rpcapi.protect(context, plan,
|
|
checkpoint_properties)
|
|
|
|
def copy(self, context, plan):
|
|
return self.protection_rpcapi.copy(context, plan)
|
|
|
|
def delete(self, context, provider_id, checkpoint_id):
|
|
return self.protection_rpcapi.delete(
|
|
context,
|
|
provider_id,
|
|
checkpoint_id
|
|
)
|
|
|
|
def reset_state(self, context, provider_id, checkpoint_id, state):
|
|
return self.protection_rpcapi.reset_state(
|
|
context,
|
|
provider_id,
|
|
checkpoint_id,
|
|
state
|
|
)
|
|
|
|
def show_checkpoint(self, context, provider_id, checkpoint_id):
|
|
return self.protection_rpcapi.show_checkpoint(
|
|
context,
|
|
provider_id,
|
|
checkpoint_id
|
|
)
|
|
|
|
def list_checkpoints(self, context, provider_id, marker, limit,
|
|
sort_keys, sort_dirs, filters, offset, all_tenants):
|
|
return self.protection_rpcapi.list_checkpoints(
|
|
context,
|
|
provider_id,
|
|
marker,
|
|
limit,
|
|
sort_keys,
|
|
sort_dirs,
|
|
filters,
|
|
all_tenants
|
|
)
|
|
|
|
def list_protectable_types(self, context):
|
|
return self.protection_rpcapi.list_protectable_types(context)
|
|
|
|
def show_protectable_type(self, context, protectable_type):
|
|
return self.protection_rpcapi.show_protectable_type(
|
|
context,
|
|
protectable_type
|
|
)
|
|
|
|
def list_protectable_instances(self, context, protectable_type,
|
|
marker, limit, sort_keys,
|
|
sort_dirs, filters, offset, parameters):
|
|
return self.protection_rpcapi.list_protectable_instances(
|
|
context,
|
|
protectable_type,
|
|
marker,
|
|
limit,
|
|
sort_keys,
|
|
sort_dirs,
|
|
filters,
|
|
parameters
|
|
)
|
|
|
|
def list_protectable_dependents(self, context,
|
|
protectable_id,
|
|
protectable_type,
|
|
protectable_name):
|
|
return self.protection_rpcapi.list_protectable_dependents(
|
|
context,
|
|
protectable_id,
|
|
protectable_type,
|
|
protectable_name
|
|
)
|
|
|
|
def show_protectable_instance(self, context,
|
|
protectable_type,
|
|
protectable_id,
|
|
parameters=None):
|
|
return self.protection_rpcapi.show_protectable_instance(
|
|
context,
|
|
protectable_type,
|
|
protectable_id,
|
|
parameters=parameters
|
|
)
|
|
|
|
def show_provider(self, context, provider_id):
|
|
return self.protection_rpcapi.show_provider(context, provider_id)
|
|
|
|
def list_providers(self, context, marker, limit,
|
|
sort_keys, sort_dirs, filters, offset):
|
|
return self.protection_rpcapi.list_providers(
|
|
context,
|
|
marker,
|
|
limit,
|
|
sort_keys,
|
|
sort_dirs,
|
|
filters
|
|
)
|