def index(self, req): """Returns a list of triggers, transformed through view builder.""" context = req.environ['karbor.context'] context.can(trigger_policy.GET_ALL_POLICY) params = req.params.copy() LOG.debug('List triggers start, params=%s', params) marker, limit, offset = common.get_pagination_params(params) sort_keys, sort_dirs = common.get_sort_params(params) filters = params valid_filters = ["all_tenants", "name", "type", "properties"] utils.remove_invalid_filter_options(context, filters, valid_filters) utils.check_filters(filters) all_tenants = utils.get_bool_param("all_tenants", filters) if not (context.is_admin and all_tenants): filters["project_id"] = context.project_id try: triggers = objects.TriggerList.get_by_filters( context, filters, limit, marker, sort_keys, sort_dirs) except Exception as ex: self._raise_unknown_exception(ex) return self._view_builder.detail_list(req, triggers)
def _get_all(self, context, marker=None, limit=None, sort_keys=None, sort_dirs=None, filters=None, offset=None): context.can(operation_log_policy.GET_ALL_POLICY) if filters is None: filters = {} all_tenants = utils.get_bool_param('all_tenants', filters) if filters: LOG.debug("Searching by: %s.", six.text_type(filters)) if context.is_admin and all_tenants: # Need to remove all_tenants to pass the filtering below. del filters['all_tenants'] operation_logs = objects.OperationLogList.get_all( context, marker, limit, sort_keys=sort_keys, sort_dirs=sort_dirs, filters=filters, offset=offset) else: operation_logs = objects.OperationLogList.get_all_by_project( context, context.project_id, marker, limit, sort_keys=sort_keys, sort_dirs=sort_dirs, filters=filters, offset=offset) LOG.info("Get all operation_logs completed successfully.") return operation_logs
def _checkpoints_get_all(self, context, provider_id, marker=None, limit=None, sort_keys=None, sort_dirs=None, filters=None, offset=None): context.can(provider_policy.CHECKPOINT_GET_ALL_POLICY) if filters is None: filters = {} all_tenants = utils.get_bool_param( 'all_tenants', filters) and context.is_admin try: if limit is not None: limit = int(limit) if limit <= 0: msg = _('limit param must be positive') raise exception.InvalidInput(reason=msg) except ValueError: msg = _('limit param must be an integer') raise exception.InvalidInput(reason=msg) if filters: LOG.debug("Searching by: %s.", six.text_type(filters)) if all_tenants: del filters['all_tenants'] checkpoints = self.protection_api.list_checkpoints( context, provider_id, marker, limit, sort_keys=sort_keys, sort_dirs=sort_dirs, filters=filters, offset=offset, all_tenants=all_tenants ) LOG.info("Get all checkpoints completed successfully.") return checkpoints
def index(self, req): """Returns a list of triggers, transformed through view builder.""" context = req.environ['karbor.context'] check_policy(context, 'list') params = req.params.copy() LOG.debug('List triggers start, params=%s', params) marker, limit, offset = common.get_pagination_params(params) sort_keys, sort_dirs = common.get_sort_params(params) filters = params valid_filters = ["all_tenants", "name", "type", "properties"] utils.remove_invalid_filter_options(context, filters, valid_filters) utils.check_filters(filters) all_tenants = utils.get_bool_param("all_tenants", filters) if not (context.is_admin and all_tenants): filters["project_id"] = context.project_id try: triggers = objects.TriggerList.get_by_filters( context, filters, limit, marker, sort_keys, sort_dirs) except Exception as ex: self._raise_unknown_exception(ex) return self._view_builder.detail_list(req, triggers)
def _get_all(self, context, marker=None, limit=None, sort_keys=None, sort_dirs=None, filters=None, offset=None): context.can(verification_policy.GET_ALL_POLICY) if filters is None: filters = {} all_tenants = utils.get_bool_param('all_tenants', filters) try: if limit is not None: limit = int(limit) if limit <= 0: msg = _('limit param must be positive') raise exception.InvalidInput(reason=msg) except ValueError: msg = _('limit param must be an integer') raise exception.InvalidInput(reason=msg) if filters: LOG.debug("Searching by: %s.", six.text_type(filters)) if context.is_admin and all_tenants: # Need to remove all_tenants to pass the filtering below. del filters['all_tenants'] verifications = objects.VerificationList.get_all( context, marker, limit, sort_keys=sort_keys, sort_dirs=sort_dirs, filters=filters, offset=offset) else: verifications = objects.VerificationList.get_all_by_project( context, context.project_id, marker, limit, sort_keys=sort_keys, sort_dirs=sort_dirs, filters=filters, offset=offset) LOG.info("Get all verifications completed successfully.") return verifications
def _get_all(self, context, marker=None, limit=None, sort_keys=None, sort_dirs=None, filters=None, offset=None): check_policy(context, 'get_all') if filters is None: filters = {} all_tenants = utils.get_bool_param('all_tenants', filters) try: if limit is not None: limit = int(limit) if limit <= 0: msg = _('limit param must be positive') raise exception.InvalidInput(reason=msg) except ValueError: msg = _('limit param must be an integer') raise exception.InvalidInput(reason=msg) if filters: LOG.debug("Searching by: %s.", six.text_type(filters)) if context.is_admin and all_tenants: # Need to remove all_tenants to pass the filtering below. del filters['all_tenants'] restores = objects.RestoreList.get_all( context, marker, limit, sort_keys=sort_keys, sort_dirs=sort_dirs, filters=filters, offset=offset) else: restores = objects.RestoreList.get_all_by_project( context, context.project_id, marker, limit, sort_keys=sort_keys, sort_dirs=sort_dirs, filters=filters, offset=offset) LOG.info(_LI("Get all restores completed successfully.")) return restores