Пример #1
0
 def instances(self, req, tenant_id, id):
     context = req.environ[wsgi.CONTEXT_KEY]
     configuration = models.Configuration.load(context, id)
     instances = instances_models.DBInstance.find_all(
         tenant_id=context.tenant,
         configuration_id=configuration.id,
         deleted=False)
     limit = int(context.limit or CONF.instances_page_size)
     if limit > CONF.instances_page_size:
         limit = CONF.instances_page_size
     data_view = instances_models.DBInstance.find_by_pagination(
         'instances', instances, "foo", limit=limit, marker=context.marker)
     view = views.DetailedConfigurationInstancesView(data_view.collection)
     paged = pagination.SimplePaginatedDataView(req.url, 'instances', view,
                                                data_view.next_page_marker)
     return wsgi.Result(paged.data(), 200)
Пример #2
0
    def instances(self, req, tenant_id, id):
        context = req.environ[wsgi.CONTEXT_KEY]
        configuration = models.Configuration.load(context, id)
        self.authorize_config_action(context, 'instances', configuration)

        kwargs = {
            'configuration_id': configuration.id,
            'deleted': False
        }
        if not context.is_admin:
            kwargs['tenant_id'] = context.tenant
        instances = instances_models.DBInstance.find_all(**kwargs)

        limit = int(context.limit or CONF.instances_page_size)
        if limit > CONF.instances_page_size:
            limit = CONF.instances_page_size
        data_view = instances_models.DBInstance.find_by_pagination(
            'instances', instances, "foo",
            limit=limit,
            marker=context.marker)
        view = views.DetailedConfigurationInstancesView(data_view.collection)
        paged = pagination.SimplePaginatedDataView(req.url, 'instances', view,
                                                   data_view.next_page_marker)
        return wsgi.Result(paged.data(), 200)