/
usr
/
lib
/
python2.6
/
site-packages
/
cinderclient
/
v2
/
/usr/lib/python2.6/site-packages/cinderclient/v2
mkdir
upload
Name
Size
Mode
Actions
contrib/
-
0755
rm
availability_zones.py
1427
0644
edit
dl
rm
availability_zones.pyc
1596
0644
edit
dl
rm
capabilities.py
1248
0644
edit
dl
rm
capabilities.pyc
1481
0644
edit
dl
rm
cgsnapshots.py
4004
0644
edit
dl
rm
cgsnapshots.pyc
4779
0644
edit
dl
rm
client.py
5268
0644
edit
dl
rm
client.pyc
4334
0644
edit
dl
rm
consistencygroups.py
6043
0644
edit
dl
rm
consistencygroups.pyc
6241
0644
edit
dl
rm
limits.py
2775
0644
edit
dl
rm
limits.pyc
4097
0644
edit
dl
rm
pools.py
2204
0644
edit
dl
rm
pools.pyc
1703
0644
edit
dl
rm
qos_specs.py
4789
0644
edit
dl
rm
qos_specs.pyc
6044
0644
edit
dl
rm
quotas.py
1918
0644
edit
dl
rm
quotas.pyc
2383
0644
edit
dl
rm
quota_classes.py
1571
0644
edit
dl
rm
quota_classes.pyc
1870
0644
edit
dl
rm
services.py
2186
0644
edit
dl
rm
services.pyc
2639
0644
edit
dl
rm
shell.py
82917
0644
edit
dl
rm
shell.pyc
75999
0644
edit
dl
rm
volumes.py
25736
0644
edit
dl
rm
volumes.pyc
28553
0644
edit
dl
rm
volume_backups.py
4051
0644
edit
dl
rm
volume_backups.pyc
4990
0644
edit
dl
rm
volume_backups_restore.py
1574
0644
edit
dl
rm
volume_backups_restore.pyc
1780
0644
edit
dl
rm
volume_encryption_types.py
3703
0644
edit
dl
rm
volume_encryption_types.pyc
4143
0644
edit
dl
rm
volume_snapshots.py
6576
0644
edit
dl
rm
volume_snapshots.pyc
8640
0644
edit
dl
rm
volume_transfers.py
3248
0644
edit
dl
rm
volume_transfers.pyc
4014
0644
edit
dl
rm
volume_types.py
4808
0644
edit
dl
rm
volume_types.pyc
5625
0644
edit
dl
rm
volume_type_access.py
1888
0644
edit
dl
rm
volume_type_access.pyc
2531
0644
edit
dl
rm
__init__.py
694
0644
edit
dl
rm
__init__.pyc
225
0644
edit
dl
rm
Edit:
/usr/lib/python2.6/site-packages/cinderclient/v2/volume_types.py
(4808B)
# Copyright (c) 2013 OpenStack Foundation # # 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. """Volume Type interface.""" from cinderclient import base class VolumeType(base.Resource): """A Volume Type is the type of volume to be created.""" def __repr__(self): return "<VolumeType: %s>" % self.name @property def is_public(self): """ Provide a user-friendly accessor to os-volume-type-access:is_public """ return self._info.get("os-volume-type-access:is_public", 'N/A') def get_keys(self): """Get extra specs from a volume type. :param vol_type: The :class:`VolumeType` to get extra specs from """ _resp, body = self.manager.api.client.get( "/types/%s/extra_specs" % base.getid(self)) return body["extra_specs"] def set_keys(self, metadata): """Set extra specs on a volume type. :param type : The :class:`VolumeType` to set extra spec on :param metadata: A dict of key/value pairs to be set """ body = {'extra_specs': metadata} return self.manager._create( "/types/%s/extra_specs" % base.getid(self), body, "extra_specs", return_raw=True) def unset_keys(self, keys): """Unset extra specs on a volue type. :param type_id: The :class:`VolumeType` to unset extra spec on :param keys: A list of keys to be unset """ # NOTE(jdg): This wasn't actually doing all of the keys before # the return in the loop resulted in ony ONE key being unset. # since on success the return was NONE, we'll only interrupt the loop # and return if there's an error for k in keys: resp = self.manager._delete( "/types/%s/extra_specs/%s" % ( base.getid(self), k)) if resp is not None: return resp class VolumeTypeManager(base.ManagerWithFind): """Manage :class:`VolumeType` resources.""" resource_class = VolumeType def list(self, search_opts=None, is_public=None): """Lists all volume types. :rtype: list of :class:`VolumeType`. """ query_string = '' if not is_public: query_string = '?is_public=%s' % is_public return self._list("/types%s" % (query_string), "volume_types") def get(self, volume_type): """Get a specific volume type. :param volume_type: The ID of the :class:`VolumeType` to get. :rtype: :class:`VolumeType` """ return self._get("/types/%s" % base.getid(volume_type), "volume_type") def default(self): """Get the default volume type. :rtype: :class:`VolumeType` """ return self._get("/types/default", "volume_type") def delete(self, volume_type): """Deletes a specific volume_type. :param volume_type: The name or ID of the :class:`VolumeType` to get. """ self._delete("/types/%s" % base.getid(volume_type)) def create(self, name, description=None, is_public=True): """Creates a volume type. :param name: Descriptive name of the volume type :param description: Description of the the volume type :param is_public: Volume type visibility :rtype: :class:`VolumeType` """ body = { "volume_type": { "name": name, "description": description, "os-volume-type-access:is_public": is_public, } } return self._create("/types", body, "volume_type") def update(self, volume_type, name=None, description=None): """Update the name and/or description for a volume type. :param volume_type: The ID of the :class:`VolumeType` to update. :param name: Descriptive name of the volume type. :param description: Description of the the volume type. :rtype: :class:`VolumeType` """ body = { "volume_type": { "name": name, "description": description } } return self._update("/types/%s" % base.getid(volume_type), body, response_key="volume_type")
Save
cmd:
run