/usr/lib/python2.6/site-packages/cinderclient/v2
NameSizeModeActions
contrib/-0755rm
availability_zones.py14270644editdlrm
availability_zones.pyc15960644editdlrm
capabilities.py12480644editdlrm
capabilities.pyc14810644editdlrm
cgsnapshots.py40040644editdlrm
cgsnapshots.pyc47790644editdlrm
client.py52680644editdlrm
client.pyc43340644editdlrm
consistencygroups.py60430644editdlrm
consistencygroups.pyc62410644editdlrm
limits.py27750644editdlrm
limits.pyc40970644editdlrm
pools.py22040644editdlrm
pools.pyc17030644editdlrm
qos_specs.py47890644editdlrm
qos_specs.pyc60440644editdlrm
quotas.py19180644editdlrm
quotas.pyc23830644editdlrm
quota_classes.py15710644editdlrm
quota_classes.pyc18700644editdlrm
services.py21860644editdlrm
services.pyc26390644editdlrm
shell.py829170644editdlrm
shell.pyc759990644editdlrm
volumes.py257360644editdlrm
volumes.pyc285530644editdlrm
volume_backups.py40510644editdlrm
volume_backups.pyc49900644editdlrm
volume_backups_restore.py15740644editdlrm
volume_backups_restore.pyc17800644editdlrm
volume_encryption_types.py37030644editdlrm
volume_encryption_types.pyc41430644editdlrm
volume_snapshots.py65760644editdlrm
volume_snapshots.pyc86400644editdlrm
volume_transfers.py32480644editdlrm
volume_transfers.pyc40140644editdlrm
volume_types.py48080644editdlrm
volume_types.pyc56250644editdlrm
volume_type_access.py18880644editdlrm
volume_type_access.pyc25310644editdlrm
__init__.py6940644editdlrm
__init__.pyc2250644editdlrm
Edit: /usr/lib/python2.6/site-packages/cinderclient/v2/qos_specs.py (4789B)
# Copyright (c) 2013 eBay Inc. # Copyright (c) OpenStack LLC. # # 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. """ QoS Specs interface. """ from cinderclient import base class QoSSpecs(base.Resource): """QoS specs entity represents quality-of-service parameters/requirements. A QoS specs is a set of parameters or requirements for quality-of-service purpose, which can be associated with volume types (for now). In future, QoS specs may be extended to be associated other entities, such as single volume. """ def __repr__(self): return "" % self.name def delete(self): return self.manager.delete(self) class QoSSpecsManager(base.ManagerWithFind): """ Manage :class:`QoSSpecs` resources. """ resource_class = QoSSpecs def list(self, search_opts=None): """Get a list of all qos specs. :rtype: list of :class:`QoSSpecs`. """ return self._list("/qos-specs", "qos_specs") def get(self, qos_specs): """Get a specific qos specs. :param qos_specs: The ID of the :class:`QoSSpecs` to get. :rtype: :class:`QoSSpecs` """ return self._get("/qos-specs/%s" % base.getid(qos_specs), "qos_specs") def delete(self, qos_specs, force=False): """Delete a specific qos specs. :param qos_specs: The ID of the :class:`QoSSpecs` to be removed. :param force: Flag that indicates whether to delete target qos specs if it was in-use. """ self._delete("/qos-specs/%s?force=%s" % (base.getid(qos_specs), force)) def create(self, name, specs): """Create a qos specs. :param name: Descriptive name of the qos specs, must be unique :param specs: A dict of key/value pairs to be set :rtype: :class:`QoSSpecs` """ body = { "qos_specs": { "name": name, } } body["qos_specs"].update(specs) return self._create("/qos-specs", body, "qos_specs") def set_keys(self, qos_specs, specs): """Add/Update keys in qos specs. :param qos_specs: The ID of qos specs :param specs: A dict of key/value pairs to be set :rtype: :class:`QoSSpecs` """ body = { "qos_specs": {} } body["qos_specs"].update(specs) return self._update("/qos-specs/%s" % qos_specs, body) def unset_keys(self, qos_specs, specs): """Remove keys from a qos specs. :param qos_specs: The ID of qos specs :param specs: A list of key to be unset :rtype: :class:`QoSSpecs` """ body = {'keys': specs} return self._update("/qos-specs/%s/delete_keys" % qos_specs, body) def get_associations(self, qos_specs): """Get associated entities of a qos specs. :param qos_specs: The id of the :class: `QoSSpecs` :return: a list of entities that associated with specific qos specs. """ return self._list("/qos-specs/%s/associations" % base.getid(qos_specs), "qos_associations") def associate(self, qos_specs, vol_type_id): """Associate a volume type with specific qos specs. :param qos_specs: The qos specs to be associated with :param vol_type_id: The volume type id to be associated with """ self.api.client.get("/qos-specs/%s/associate?vol_type_id=%s" % (base.getid(qos_specs), vol_type_id)) def disassociate(self, qos_specs, vol_type_id): """Disassociate qos specs from volume type. :param qos_specs: The qos specs to be associated with :param vol_type_id: The volume type id to be associated with """ self.api.client.get("/qos-specs/%s/disassociate?vol_type_id=%s" % (base.getid(qos_specs), vol_type_id)) def disassociate_all(self, qos_specs): """Disassociate all entities from specific qos specs. :param qos_specs: The qos specs to be associated with """ self.api.client.get("/qos-specs/%s/disassociate_all" % base.getid(qos_specs))