예제 #1
0
파일: service.py 프로젝트: qingyufei/trove
    def create(self, req, body, tenant_id):
        LOG.info("Creating a backup for tenant %s", tenant_id)
        context = req.environ[wsgi.CONTEXT_KEY]
        policy.authorize_on_tenant(context, 'backup:create')
        data = body['backup']
        instance = data['instance']
        name = data['name']
        desc = data.get('description')
        parent = data.get('parent_id')
        incremental = data.get('incremental')
        swift_container = data.get('swift_container')

        context.notification = notification.DBaaSBackupCreate(context,
                                                              request=req)

        if not swift_container:
            instance_id = utils.get_id_from_href(instance)
            backup_strategy = BackupStrategy.get(context, instance_id)
            if backup_strategy:
                swift_container = backup_strategy.swift_container

        with StartNotification(context,
                               name=name,
                               instance_id=instance,
                               description=desc,
                               parent_id=parent):
            backup = Backup.create(context,
                                   instance,
                                   name,
                                   desc,
                                   parent_id=parent,
                                   incremental=incremental,
                                   swift_container=swift_container)

        return wsgi.Result(views.BackupView(backup).data(), 202)
예제 #2
0
파일: service.py 프로젝트: tattabbum/trove
 def show(self, req, tenant_id, id):
     """Return a single backup."""
     LOG.info(_("Showing a backup for tenant '%s'") % tenant_id)
     LOG.info(_("id : '%s'\n\n") % id)
     context = req.environ[wsgi.CONTEXT_KEY]
     backup = Backup.get_by_id(context, id)
     return wsgi.Result(views.BackupView(backup).data(), 200)
예제 #3
0
 def show(self, req, tenant_id, id):
     """Return a single backup."""
     LOG.debug("Showing a backup for tenant %s ID: '%s'"
               % (tenant_id, id))
     context = req.environ[wsgi.CONTEXT_KEY]
     backup = Backup.get_by_id(context, id)
     return wsgi.Result(views.BackupView(backup).data(), 200)
예제 #4
0
 def show(self, req, tenant_id, id):
     """Return a single backup."""
     LOG.debug("Showing a backup for tenant %s ID: '%s'" % (tenant_id, id))
     context = req.environ[wsgi.CONTEXT_KEY]
     backup = Backup.get_by_id(context, id)
     policy.authorize_on_target(context, 'backup:show',
                                {'tenant': backup.tenant_id})
     return wsgi.Result(views.BackupView(backup).data(), 200)
예제 #5
0
파일: service.py 프로젝트: luccacabra/trove
 def create(self, req, body, tenant_id):
     LOG.debug("Creating a Backup for tenant '%s'" % tenant_id)
     context = req.environ[wsgi.CONTEXT_KEY]
     data = body['backup']
     instance = data['instance']
     name = data['name']
     desc = data.get('description')
     backup = Backup.create(context, instance, name, desc)
     return wsgi.Result(views.BackupView(backup).data(), 202)
예제 #6
0
 def create(self, req, body, tenant_id):
     LOG.info(_("Creating a backup for tenant %s"), tenant_id)
     context = req.environ[wsgi.CONTEXT_KEY]
     data = body['backup']
     instance = data['instance']
     name = data['name']
     desc = data.get('description')
     parent = data.get('parent_id')
     backup = Backup.create(context, instance, name, desc, parent_id=parent)
     return wsgi.Result(views.BackupView(backup).data(), 202)
예제 #7
0
 def create(self, req, body, tenant_id):
     LOG.info(_("Creating a backup for tenant %s"), tenant_id)
     context = req.environ[wsgi.CONTEXT_KEY]
     data = body['backup']
     instance = data['instance']
     name = data['name']
     desc = data.get('description')
     parent = data.get('parent_id')
     incremental = data.get('incremental')
     context.notification = notification.DBaaSBackupCreate(context,
                                                           request=req)
     with StartNotification(context, name=name, instance_id=instance,
                            description=desc, parent_id=parent):
         backup = Backup.create(context, instance, name, desc,
                                parent_id=parent, incremental=incremental)
     return wsgi.Result(views.BackupView(backup).data(), 202)