cinder.volume.volume_types module¶
Built-in volume type properties.
- add_volume_type_access(context: cinder.context.RequestContext, volume_type_id: Optional[str], project_id: str) None ¶
Add access to volume type for project_id.
- create(context: cinder.context.RequestContext, name: str, extra_specs: Optional[dict[str, Any]] = None, is_public: bool = True, projects: Optional[list[str]] = None, description: Optional[str] = None)¶
Creates volume types.
- destroy(context: cinder.context.RequestContext, id: str) dict[str, Any] ¶
Marks volume types as deleted.
There must exist at least one volume type (i.e. the default type) in the deployment. This method achieves that by ensuring: 1) the default_volume_type is set and is a valid one 2) the type requested to delete isn’t the default type
- Raises
VolumeTypeDefaultDeletionError – when the type requested to delete is the default type
- get_all_types(context: cinder.context.RequestContext, inactive: int = 0, filters: Optional[dict] = None, marker: Optional[dict[str, Any]] = None, limit: Optional[int] = None, sort_keys: Optional[list[str]] = None, sort_dirs: Optional[list[str]] = None, offset: Optional[int] = None, list_result: bool = False) Union[dict[str, Any], list] ¶
Get all non-deleted volume_types.
Pass true as argument if you want deleted volume types returned also.
- get_by_name_or_id(context: cinder.context.RequestContext, identity: str) dict[str, Any] ¶
Retrieves volume type by id or name
- get_default_volume_type(contxt: Optional[cinder.context.RequestContext] = None) dict[str, Any] ¶
Get the default volume type.
- Raises
VolumeTypeDefaultMisconfiguredError – when the configured default is not found
- get_volume_type(ctxt: Optional[cinder.context.RequestContext], id: Optional[str], expected_fields: Optional[Iterable[str]] = None) dict[str, Any] ¶
Retrieves single volume type by id.
- get_volume_type_by_name(context: cinder.context.RequestContext, name: Optional[str]) dict[str, Any] ¶
Retrieves single volume type by name.
- get_volume_type_encryption(context: cinder.context.RequestContext, volume_type_id: Optional[str]) Optional[dict] ¶
- get_volume_type_extra_specs(volume_type_id: str, key: Union[str, bool] = False) Union[dict, bool] ¶
- get_volume_type_qos_specs(volume_type_id: str) dict[str, Any] ¶
Get all qos specs for given volume type.
- is_encrypted(context: cinder.context.RequestContext, volume_type_id: str) bool ¶
- is_public_volume_type(context: cinder.context.RequestContext, volume_type_id: str) bool ¶
Return is_public boolean value of volume type
- notify_about_volume_type_access_usage(context: cinder.context.RequestContext, volume_type_id: str, project_id: str, event_suffix: str, host: Optional[str] = None) None ¶
Notify about successful usage type-access-(add/remove) command.
- Parameters
context – security context
volume_type_id – volume type uuid
project_id – tenant uuid
event_suffix – name of called operation access-(add/remove)
host – hostname
- provision_filter_on_size(context: cinder.context.RequestContext, volume_type: Optional[dict[str, Any]], size: Union[str, int]) None ¶
This function filters volume provisioning requests on size limits.
If a volume type has provisioning size min/max set, this filter will ensure that the volume size requested is within the size limits specified in the volume type.
- remove_volume_type_access(context: cinder.context.RequestContext, volume_type_id: Optional[str], project_id: str) None ¶
Remove access to volume type for project_id.
- update(context: cinder.context.RequestContext, id: Optional[str], name: Optional[str], description: Optional[str], is_public: Optional[bool] = None) None ¶
Update volume type by id.
- volume_types_diff(context: cinder.context.RequestContext, vol_type_id1: str, vol_type_id2: str) tuple[dict[str, Any], bool] ¶
Returns a ‘diff’ of two volume types and whether they are equal.
Returns a tuple of (diff, equal), where ‘equal’ is a boolean indicating whether there is any difference, and ‘diff’ is a dictionary with the following format:
{ 'extra_specs': {'key1': (value_in_1st_vol_type, value_in_2nd_vol_type), 'key2': (value_in_1st_vol_type, value_in_2nd_vol_type), {...}} 'qos_specs': {'key1': (value_in_1st_vol_type, value_in_2nd_vol_type), 'key2': (value_in_1st_vol_type, value_in_2nd_vol_type), {...}} 'encryption': {'cipher': (value_in_1st_vol_type, value_in_2nd_vol_type), {'key_size': (value_in_1st_vol_type, value_in_2nd_vol_type), {...}} }
- volume_types_encryption_changed(context: cinder.context.RequestContext, vol_type_id1: str, vol_type_id2: str) bool ¶
Return whether encryptions of two volume types are same.