def put(self, class_name): """Update a class.""" context = restcomm.extract_context_from_environ() LOG.info("Update quota class [class_name=%s]" % class_name) if not context.is_admin: pecan.abort(403, _('Admin required')) if not request.body: pecan.abort(400, _('Body required')) quota_class_set = eval(request.body).get('quota_class_set') if not quota_class_set: pecan.abort(400, _('Missing quota_class_set in the body')) utils.validate_quota_limits(quota_class_set) for key, value in six.iteritems(quota_class_set): try: db_api.quota_class_update(context, class_name, key, value) except exceptions.QuotaClassNotFound: db_api.quota_class_create(context, class_name, key, value) values = db_api.quota_class_get_all_by_name(context, class_name) return self._format_quota_set(class_name, values)
def put(self, project_id, class_name): """Update a class.""" context = restcomm.extract_context_from_environ() valid_project_id = uuidutils.is_uuid_like(project_id) if not valid_project_id: pecan.abort(400, _('Invalid request URL')) if project_id != context.project and not context.is_admin: pecan.abort(400, _('Invalid request URL')) LOG.info("Update quota class [class_name=%s]" % class_name) if not context.is_admin: pecan.abort(403, _('Admin required')) if not request.body: pecan.abort(400, _('Body required')) quota_class_set = eval(request.body).get('quota_class_set') if not quota_class_set: pecan.abort(400, _('Missing quota_class_set in the body')) utils.validate_quota_limits(quota_class_set) for key, value in quota_class_set.items(): try: db_api.quota_class_update(context, class_name, key, value) except exceptions.QuotaClassNotFound: db_api.quota_class_create(context, class_name, key, value) values = db_api.quota_class_get_all_by_name(context, class_name) return self._format_quota_set(context, class_name, values)
def get(self, class_name): context = restcomm.extract_context_from_environ() LOG.info("Fetch quotas for [class_name=%s]" % class_name) values = db_api.quota_class_get_all_by_name(context, class_name) return self._format_quota_set(class_name, values)
def get(self, project_id, class_name): context = restcomm.extract_context_from_environ() valid_project_id = uuidutils.is_uuid_like(project_id) if not valid_project_id: pecan.abort(400, _('Invalid request URL')) if project_id != context.project and not context.is_admin: pecan.abort(400, _('Invalid request URL')) LOG.info("Fetch quotas for [class_name=%s]" % class_name) values = db_api.quota_class_get_all_by_name(context, class_name) return self._format_quota_set(context, class_name, values)