# Copyright (c) 2012 OpenStack Foundation # All Rights Reserved. # # 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. from cinderclient import base class QuotaClassSet(base.Resource): @property def id(self): """QuotaClassSet does not have a 'id' attribute but base.Resource needs it to self-refresh and QuotaSet is indexed by class_name. """ return self.class_name def update(self, *args, **kwargs): return self.manager.update(self.class_name, *args, **kwargs) class QuotaClassSetManager(base.Manager): resource_class = QuotaClassSet def get(self, class_name): return self._get("/os-quota-class-sets/%s" % (class_name), "quota_class_set") def update(self, class_name, **updates): body = {'quota_class_set': {'class_name': class_name}} for update in updates: body['quota_class_set'][update] = updates[update] result = self._update('/os-quota-class-sets/%s' % (class_name), body) return self.resource_class(self, result['quota_class_set'], loaded=True)