/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/shell.pyc (75999B)
=vVc.@s**ddklZddkZddkZddkZddkZddkZddkZddkl Z ddkl Z ddk l Z ddk lZddk lZded Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZe idddddddde dd d!d"d#d$e id%ddde dd d#ei!e id&dd'd!dd#d(e id)d#ei!e id*dd+d!dd#d,e id-dd.d!dd#d/e id0de#dd1dd2d!dd#d3e id4dd5d!dd#d6e id7dd8d!dd#d9e id:dd;d!dd#ei!e id<dd=d!dd#ei!e id>dd?d!dd#d@dAi$ei%e idBde#ddCddddDd#dEe i&dFdGZ'e idHddId#dJe i&dFdKZ(dLei)fdMYZ*e idNddOddde dPe*d#dQe idRddSd!dd#dTe idUddVd!dd#dWe idXd#ei!e idYddZd!dd#d[e id\d#ei!e id]dd^d!dd#d_e id`ddad!dd#dbe idcd#ei!e idddded!dd#dfe idgd#ei!e id&dd'd!dd#dhe id)d#ei!e idid#ei!e idjddkd!dd#dle idmd#ei!e idnd#ei!e idoddpd!dd#dqe idrd#ei!e idsddtd!dd#due idvd#ei!e id0de#dd1dd2d!dd#dwe idxdd2ddydPdzd!gd#d{e id|dd}dPd~d#dd!e+e i&dFdZ,e idHddIddd#de i&dFdZ-e idHddIddd#de i&dFdZ.e idHddIddd#de idddd!dd#de idddd!dd#de iddPd~d#de i&dFdZ/e idHddId#de iddddd'd#de idjddkd#dld!de idmd#ei!e idnd#ei!e i&dFdZ0e idHddId#de idPdddddgd#de iddd2ddd!gd#de i&dFdZ1e idHddId#de idPdddddgd#de iddd2ddd!gd#de i&dFdZ2e idddddddde dd d!d"d#d$e id%ddde dd d#ei!e id&dd'd!dd#d(e id)d#ei!e idid#ei!e id*dd+d!dd#d,e idddd!dd#de idd#ei!e i&dFdZ3e idddd#de i&dFdZ4e idHddId#de iddddeddd!e+d#de id&dd'd!dd#de id)d#ei!e idid#ei!e idjddkd!dd#de idmd#ei!e idnd#ei!e id0de#dd1dd2d!dd#de i&dFdZ5e idddddd#de i&dFdZ6e idddd#de iddddd'd#de idjddkd!dd#de idmd#ei!e idnd#ei!e i&dFdZ7e idddddd#de idddd!dd#de i&dFdZ8dZ9e i&dFdZ:e i&dFdZ;e idddd#de id&dd'd#de idjddkd#de i&dFdZ<e i&dFdZ=e iddd'd#de idjddkd#de idddd!ed#de i&dFdZ>e idddd#de i&dFdZ?e idddd#de idPdddddgd#de iddd2ddd!gd#de i&dFdZ@e idoddded#de i&dFdZAe idoddded#de idddded#de i&dFdZBe idoddded#de idddded#de i&dFdZCe i&dFdZDe i&dFdZEdddddddgZFddddgZGdZHdZIdZJe idCddd#de i&dFdZKe idCddd#de i&dFdZLe idCddd#de i&dFdZMe idCddd#de idddde d!dd#de idddde d!dd#de idddde d!dd#de idddde d!dd#de idddde d!dd#de idddde d!dd#de idoddd!dd#dqe idddde d!dd#de i&dFdZNe idCddd#d e i&dHd ZOe id dd d#d e i&dFdZPe id ddd#de idddde d!dd#de idddde d!dd#de idddde d!dd#de idoddd!dd#dqe i&dFdZQe i&dFdZRe i&dFdZSdZTe idHddId#de iddddeddd!e+d#de idddd!dd#de idd#ei!e idddd!dd#de idd#ei!e id dd!d#d"e id#d#ei!e i&dFd$ZUe idHddId#d%e id&dd'd#d(e id)dddd*d+gde+deddd!e+d#d,e id-dddd*d+gde+deddd!e+d#d.e i&dFd/ZVe idHddId#d0e id1ddpd#d2e id3dd4de+dd5d6gd!d5d#d7e i&dFd8ZWe idHddId#d9e id:dd;d!dd#d<e id)d#ei!e id&dd'd!dd#d=e idmd#ei!e idjddkd!dd#d>e id?dPd~d#d@d!e+e iddPd~d#dAd!e+e i&dFdBZXe idCddDd#dEe i&dFdFZYe idddGddde dd d!d"d#d$e id%ddde dd d#ei!e id&dd'd!dd#d(e id*dd+d!dd#d,e idddd!dd#de idd#ei!e i&dFdHZZe idCddDd#dIe i&dFdJZ[e idCddDd#dKe idddId!dd#ei!e idLddId!dd#dMe i&dFdNZ\e idCddDd#dOe i&dFdPZ]e idQddRd#dSe idTddUd#dVe i&dFdWZ^e idHddId#dXe id&dd'd!dd#dYe id)d#ei!e i&dFdZZ_e id[dd\d#d]e i&dFd^Z`e id[dd\d#d_e id`ddad#dbe i&dFdcZae idddddddde dd d!d"d#d$e id%ddde dd d#ei!e i&dFddZbe id[dd\d#dee i&dFdfZce idHddId#dge idhddide d#dje i&dFdkZde idlddmd!dd#dne idoddpd!dd#dqe i&dFdrZee id&ddmd#dse idtddpd#due i&dFdvZfe id&ddmd#dse idtddpd#due idwddxd#dye i&dFdzZgd{Zhe i&dFd|Zid}Zje i&dFd~Zke idddde#d#de i&dFdZle idddde#d#de idddde#d#de idddde#de+d!dd#de idddde de+d!dd#de iddddddgde#de+d!dd#de i&dFdZme idddpde#d#de idddde#de+d!ei!d#de idddde#ddde+d!ei!ddd#de idddddde ddde+d!ei!ddd#de iddddddddgde#de+d!ei!d#de i&dFdZne idddde#d#de i&dFdZodZpdZqdZrdZse iddd'd#de iddd2ddd!gd#de i&dFdZte i&dFdZue idddd#de i&dFdZve idddd#de iddddeddd!e+d#de i&dFdZwe idddd#de idddd#de i&dFdZxe idddd#de idddd#de i&dFdZye idddd#de i&dFdZze idddd#de idPdddddgd#de idddddd!gd#ddZ{e idddd#de i&dFdZ|e idddd#de idPdddddgd#de iddd2ddd!gd#de i&dFdZ}e idddd#de i&dFdZ~e idHddId#de i&dFdZe idHddId#de iddd2ddd!gd#de i&dFdZe idddd#de iddd2ddd!gd#de i&dFdZe idHddId#de iddddd*dd+dgd#de i&dFdZe idHddId#de iddddd*dd+dgd#de i&dFdZe id&dd'd#de idddd#de idddd!dd#de id&dd'd#de idjddkd#de idoddpd#de idsddtd#de id0de#dd1dd2d#de iddPd~d#de i&dFdZe idHddId#de i&dFdZe idHddId#de i&dFdZe idHddId#de i&dFdZe idddddddde dd d!d"d#d$e i&dFdZe idddd#de i&dFdZe idddd#de id&dd'd#de idjddkd!dd#de idsddtd!dd#due i&dFdZe idddd#de idddd#de id&dd'd#de idjddkd#de i&dFdZe idddddd#de iddPd~d!e+d#de i&dFdZe idddd#de id&dd'd#de idjddkd#de idddd#de idddd#de i&dFdZe idddddddde dd d!d"d#d$e id*dd+d!dd#d,e idddd!dd#de i&dFdZe idddd#de i&dFd Ze idddd#de id&dd'd!dd#d e idjddkd!dd#d e i&dFd Ze idddddd#d e i&dFdZe iddPd~d#de i&dFdZe id&dd'd#de i&dFdZdS(i(tprint_functionN(t exceptions(tutils(tstrutils(tavailability_zones(tvolumesic sfd}txto||}|ii}t|dd pd} ||jo|dtdPq|djotdhd6Pq|| ti|qWd S( s;Blocks while an action occurs. Periodically shows progress.csXodtdd|}ndtd}tii|tiidS(Ns/ Instance %(action)s... %(progress)s%% completetactiontprogresss Instance %(action)s...(tdicttsyststdouttwritetflush(Rtmsg(t show_progressR(sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytprint_progress%s Riids Finishedterrors Error %(action)s instanceRN(tprinttTruetstatustlowertgetattrtNonettimetsleep( tpoll_fntobj_idRtfinal_ok_statest poll_periodRRtobjRR((RRsB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_poll_for_status"s        cCsti|i|S(s%Gets a volume snapshot by name or ID.(Rt find_resourcetvolume_snapshots(tcstsnapshot((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_find_volume_snapshot@scCsti|i|S(sGets a backup by name or ID.(RRtbackups(R!tbackup((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt _find_backupEscCsti|i|S(s&Gets a consistencygroup by name or ID.(RRtconsistencygroups(R!tconsistencygroup((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_find_consistencygroupJscCsti|i|S(s Gets a cgsnapshot by name or ID.(RRt cgsnapshots(R!t cgsnapshot((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_find_cgsnapshotOscCsti|i|S(sGets a transfer by name or ID.(RRt transfers(R!ttransfer((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_find_transferTscCsti|i|S(sGets a qos specs by ID.(RRt qos_specs(R!R0((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_find_qos_specsYscCsti|idS(N(Rt print_dictt_info(R"((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_print_volume_snapshot^scCsti|dddS(Nisos-volume_upload_image(RR2(timage((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_print_volume_imagebscCsjxc|D][}|i}xI|D]A\}}||jo(||jot|||i|qqWqWdS(N(t__dict__tsetattrR3(t collectiontconverttitemtkeystfrom_keytto_key((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_translate_keysfs  cCsddg}t||dS(Nt volumeTypet volume_typesos-vol-tenant-attr:tenant_idt tenant_id(R@s volume_type(sos-vol-tenant-attr:tenant_idRB(R?(R9R:((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_translate_volume_keysns cCsdg}t||dS(NtvolumeIdt volume_id(RDs volume_id(R?(R9R:((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_translate_volume_snapshot_keysts cCsddg}t||dS(NtzoneNametnamet zoneStateR(szoneNamesname(s zoneStatesstatus(R?(R9R:((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt!_translate_availability_zone_keysys cCs]h}xP|iD]E}d|jo|idd\}}n |}d}|||tnargst?ttypetconstitdefaultithelps*Shows details for all tenants. Admin only.s --all_tenantss--namess(Filters results by a name. Default=None.s--display-names--statusss*Filters results by a status. Default=None.s--migration_statusss@Filters results by a migration status. Default=None. Admin only.s --metadatat*s s?Filters results by a metadata key and value pair. Default=None.s--markersssBegin returning volumes that appear later in the volume list than that represented by this volume id. Default=None.s--limitss2Maximum number of volumes to return. Default=None.s --sort_keys s --sort_dirs s--sorts[:]sqComma-separated list of sort keys and directions in the form of [:]. Valid keys: %s. Default=None.s, s--tenantttenantss4Display information from single tenant (Admin only).tvolumev2c Cs|id j o|i|_n|iodnttiid|i}h|d6|id6|id6|i d6|i d6|i o t |nd d6}|i o'|ip |iotid n|iid |d |id |id |id|id|i }t|x]|D]U}g}|iD]}||idq:~}t|dditt|q&W|o(ddddddddddg } n"dddddddddg } |ip|ip |i o d } nd} ti|| dtd| d S(!sLists all volumes.it ALL_TENANTSRTt project_idRHRtmigration_statusRLsYThe --sort_key and --sort_dir arguments are deprecated and are not supported with --sort.t search_optstmarkertlimittsort_keytsort_dirtsortt server_idt attached_tot,tIDs Tenant IDtStatussMigration StatustNametSizes Volume TypetBootablet Multiattachs Attached toitexclude_unavailablet sortby_indexN(t display_nameRRHR]tinttostenvirontgetRTRRaRLRRRgReRfRt CommandErrorRtlistRcRdRCt attachmentsR8tjointmaptstrRt print_listR( R!RNRTRbRtvolt_[1]tstserverstkey_listRr((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_listsDF    !  -&      tvolumessName or ID of volume.cCsOt}ti||i}|i|i|iddti|dS(sShows volume details.tlinksN( RRt find_volumeRtupdateR3tpopRR2(R!RNtinfoR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_shows  tCheckSizeArgForCreatecBseZddZRS(cCsY|ip|ip|idjo|djo|idnt||i|dS(NsKSize is a required parameter if snapshot or source volume is not specified.(t snapshot_idt source_volidtsource_replicaRRR8RS(tselftparserRNtvaluest option_string((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt__call__sN(t__name__t __module__RR(((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyRstsizesRsPSize of volume, in GBs. (Required unless snapshot-id/source-volid is specified).s--consisgroup-idssHID of a consistency group where the new volume belongs to. Default=None.s --snapshot-ids s.Creates volume from snapshot ID. Default=None.s --snapshot_ids--source-volidss,Creates volume from volume ID. Default=None.s--source_volids--source-replicass7Creates volume from replicated volume ID. Default=None.s --image-ids s+Creates volume from image ID. Default=None.s --image_ids--imagess7Creates a volume from image (ID or name). Default=None.s --image_refsVolume name. Default=None.s--display_names --descriptions s!Volume description. Default=None.s--display-descriptions--display_descriptions --volume-types sVolume type. Default=None.s --volume_types--availability-zoness+Availability zone for volume. Default=None.s--availability_zones+Metadata key and value pairs. Default=None.s--hinttscheduler_hintstappendsScheduler hint, like in nova.s--allow-multiattacht multiattacht store_trues9Allow volume to be attached more than once. Default=Falsec Cs|id j o|i|_n|id j o|i|_nd }|id j ot|}nh}|iox|iD]x}|id\}}}||joCt ||t i o||g||t availablesDThe state to assign to the volume. Valid values are "available", "error", "creating", "deleting", "in-use", "attaching", "detaching", "error_deleting" and "maintenance". NOTE: This command simply changes the state of the Volume in the DataBase with no regard to actual status, exercise caution when using. Default=available.s--attach-statusssThe attach status to assign to the volume in the DataBase, with no regard to the actual status. Valid values are "attached" and "detached". Default=None, that means the status is unchanged.s--reset-migration-statussClears the migration status of the volume in the DataBase that indicates the volume is source or destination of volume migration, with no regard to the actual status.cCst}|iodnd}xr|iD]g}y)ti||i|i|i|Wq't j o)}t }d||f}t |q'Xq'W|od}t i |ndS(sExplicitly updates the volume state in the Cinder database. Note that this does not affect whether the volume is actually attached to the Nova compute host or instance and can result in an unusable volume. Being a database change only, this has no impact on the true state of the volume and may not match the actual state. This can render a volume unusable in the case of change to the 'available' state. tnones$Reset state for volume %s failed: %ss6Unable to reset the state for the specified volume(s).N(tFalsetreset_migration_statusRRRRt reset_statetstatet attach_statusRRRRRx(R!RNt failure_flagRaRRR ((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_reset_states  sName or ID of volume to rename.RHsNew name for volume.cCsh}|idj o|i|dtchoicestsettunsets.The action. Valid values are "set" or "unset."RLsMMetadata key and value pair to set or unset. For unset, specify only the key.cCsti||i}t|}|idjo|ii||n:|idjo)|ii|t|i dt ndS(s Sets or deletes volume metadata.RRtreverseN( RRRRRRRt set_metadatatdelete_metadatatsortedR<R(R!RNRRL((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_metadatas s.The action. Valid values are 'set' or 'unset.'cCsti||i}t|}|idjo|ii||n:|idjo)|ii|t|i dt ndS(s&Sets or deletes volume image metadata.RRRN( RRRRRRRtset_image_metadatatdelete_image_metadataRR<R(R!RNRRL((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_image_metadata5s s --volume-ids s-Filters results by a volume ID. Default=None.s --volume_idcCsttiid|i}|id j o|i|_nh|d6|id6|id6|i d6}|i i d|}t |t i|ddd d d gd S( sLists all snapshots.R_RTRsRRERbRks Volume IDRlRmRnN(RtRuRvRwRTRsRRHRRER RyRFRR~(R!RNRTRbt snapshots((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_snapshot_listOs"     R"s sName or ID of snapshot.cCs t||i}t|dS(sShows snapshot details.N(R#R"R4(R!RNR"((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_snapshot_showss!Name or ID of volume to snapshot.s--forces sAllows or disallows snapshot of a volume when the volume is attached to an instance. If set to True, ignores the current status of the volume when attempting to snapshot it rather than forcing it to be available. Default=False.sSnapshot name. Default=None.s#Snapshot description. Default=None.s4Snapshot metadata key and value pairs. Default=None.cCs|idj o|i|_n|idj o|i|_nd}|idj ot|}nti||i }|i i |i |i |i|id|}t|dS(sCreates a snapshot.RLN(RsRRHRRRLRRRRRR RRtforceR4(R!RNtsnapshot_metadataRR"((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_snapshot_creates'  s(Name or ID of the snapshot(s) to delete.cCsd}x^|iD]S}yt||iWqtj o'}|d7}td||fqXqW|t|ijotidndS(sRemoves one or more snapshots.iis!Delete for snapshot %s failed: %ss0Unable to delete any of the specified snapshots.N(R"R#RRRRRRx(R!RNRR"R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_snapshot_deletes  sNew name for snapshot.cCsh}|idj o|i|dsID of the volume type.sName of the volume type.sDescription of the volume type.cCs2|ii|i|i|i}t|gdS(s,Updates volume type name and/or description.N(RRRRHRR(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_type_update+s !cCs,|ii}ti|dddgdS(s+Lists current volume types and extra specs.RkRmt extra_specsN(RRyRR~(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_extra_specs_list;ssName of new volume type.sDescription of new volume type.s --is-publics s2Make type accessible to the public (default true).cCsAti|i}|ii|i|i|}t|gdS(sCreates a volume type.N(Rtbool_from_stringt is_publicRRRHRR(R!RNRR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_type_createBs sID of volume type to delete.cCs|ii|idS(sDeletes a volume type.N(RRR(R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_type_deleteTsRssName or ID of volume type.sTThe extra specs key and value pair to set or unset. For unset, specify only the key.cCsjt||i}t|}|idjo|i|n(|idjo|it|ndS(s,Sets or unsets extra_spec for a volume type.RRN(t_find_volume_typeRRRRtset_keyst unset_keysRy(R!RNRtkeypair((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_type_key]s  s trequireds)Filter results by volume type name or ID.cCsat||i}|iotidn|ii|}ddg}ti||dS(s5Print access information about the given volume type.s1Failed to get access list for public volume type.tVolume_type_IDt Project_IDN( RRARRRxtvolume_type_accessRyRR~(R!RNRAt access_listtcolumns((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_type_access_listvs   s;Volume type name or ID to add access for the given project.s --project-ids s)Project ID to add volume type access for.cCs,t||i}|ii||idS(s.Adds volume type access for the given project.N(RRARtadd_project_accessR`(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_type_access_addss>Volume type name or ID to remove access for the given project.s,Project ID to remove volume type access for.cCs,t||i}|ii||idS(s1Removes volume type access for the given project.N(RRARtremove_project_accessR`(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_type_access_removes cCsD|iii}x.|dD]"}ti|dd|dqWdS(s9Discovers endpoints registered by authentication service.tserviceCatalogt endpointsiRHN(tclienttservice_catalogtcatalogRR2(R!RNRR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_endpointss cCs;|iii}ti|ddti|dddS(s*Shows user credentials returned from auth.tusersUser CredentialsttokentTokenN(RRRRR2(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_credentialssRRt gigabytesR$tbackup_gigabytesR'tper_volume_gigabytestTypetIn_usetReservedtLimitcCsh}xf|iD][}t}x(tD] }|i|o t}q#q#W|pqnt||d||s (R3R<RR R RRRRtitemsRRR~t _quota_infos(R t quota_listRRRHt quota_info((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_quota_usage_shows cCsh}xZtD]R}t||d}|dj o-|io|d|i}n|||s&ID of tenant for which to list quotas.cCst|ii|idS(sLists quotas for a tenant.N(RR RwR](R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_quota_showss+ID of tenant for which to list quota usage.cCs#t|ii|idtdS(sLists quota usage for a tenant.tusageN(RR RwR]R(R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_quota_usagess.ID of tenant for which to list quota defaults.cCst|ii|idS(s"Lists default quotas for a tenant.N(RR tdefaultsR](R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_quota_defaultsss%ID of tenant for which to set quotas.s --volumess s,The new "volumes" quota value. Default=None.s --snapshotss s.The new "snapshots" quota value. Default=None.s --gigabytess s.The new "gigabytes" quota value. Default=None.s --backupss s,The new "backups" quota value. Default=None.s--backup-gigabytesss5The new "backup_gigabytes" quota value. Default=None.s--consistencygroupsss6The new "consistencygroups" quota value. Default=None.ss--per-volume-gigabytesss(Set max volume size limit. Default=None.cCst|i|i|dS(sUpdates quotas for a tenant.N(RR R](R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_quota_updates's(UUID of tenant to delete the quotas for.cCs|ii|idS(sDelete the quotas for a tenant.N(R RR](R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_quota_delete$st class_namess-Name of quota class for which to list quotas.cCst|ii|idS(sLists quotas for a quota class.N(Rt quota_classesRwR'(R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_quota_class_show-ss s,Name of quota class for which to set quotas.cCst|i|i|dS(s!Updates quotas for a quota class.N(RR(R'(R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_quota_class_update7scCs2|iii}ddg}ti||dS(s!Lists absolute limits for a user.RmtValueN(tlimitsRwtabsoluteRR~(R!RNR,R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_absolute_limitsQs cCs>|iii}ddddddg}ti||dS(sLists rate limits for a user.tVerbtURIR+tRemaintUnittNext_AvailableN(R,RwtrateRR~(R!RNR,R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_rate_limitsYscCsti|i|S(s!Gets a volume type by name or ID.(RRR(R!R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyRassVEnables or disables upload of a volume that is attached to an instance. Default=False.s--container-formatstbares'Container format type. Default is bare.s--container_formats --disk-formats traws!Disk format type. Default is raw.s --disk_formatt image_names sThe new image name.s --image_namecCsAti||i}t|i|i|i|i|idS(s,Uploads volume to Image Service as an image.N( RRRR6tupload_to_imageRR8tcontainer_formatt disk_format(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_upload_to_imagefs !sID of volume to migrate.thostssDestination host.s--force-host-copyRRskEnables or disables generic host-based force-migration, which bypasses driver optimizations. Default=False.s --lock-volumesEnables or disables the termination of volume migration caused by other commands. This option applies to the available volume. True means it locks the volume state and does not allow the migration to be aborted. The volume status will be in maintenance during the migration. False means it allows the volume migration to be aborted. The volume status is still in the original status. Default=False.cCs|ti||i}y.|i|i|i|itd|Wn2tj o&}td|t i |fnXdS(sMigrates volume to a new host.s/Request to migrate volume %s has been accepted.s#Migration for volume %s failed: %s.N( RRRtmigrate_volumeR=tforce_host_copyt lock_volumeRRRt text_type(R!RNRR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_migrates  s.Name or ID of volume for which to modify type.tnew_typesNew volume type.s--migration-policystnevers on-demands)Migration policy during retype of volume.cCs/ti||i}|i|i|idS(s%Changes the volume type for a volume.N(RRRtretypeRCtmigration_policy(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_retypes sName or ID of volume to backup.s --containers s$Backup container name. Default=None.sBackup name. Default=None.s!Backup description. Default=None.s --incrementals"Incremental backup. Default=False.sAllows or disallows backup of a volume when the volume is attached to an instance. If set to True, backs up the volume whether its status is "available" or "in-use". The backup of an "in-use" volume means your data is crash consistent. Default=False.cCs|idj o|i|_n|idj o|i|_nti||i}|ii |i |i |i|i|i |i }h|i d6}|i|id|jo|idnti|dS(sCreates a volume backup.RERN(RsRRHRRRRRR$RRt containert incrementalRRR3RR2(R!RNRR%R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_backup_creates   R%ssName or ID of backup.cCsLt||i}t}|i|i|iddti|dS(sShows backup details.RN( R&R%RRR3RRRR2(R!RNR%R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_backup_shows  s cCs|h|id6|id6|id6|id6}|iid|}t|dddd d d d g}ti||d S(sLists all backups.RTRHRRERbRks Volume IDRlRmRns Object Countt ContainerN( RTRHRRER$RyRFRR~(R!RNRbR$R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_backup_lists      sName or ID of backup to delete.cCs t||i}|idS(sRemoves a backup.N(R&R%R(R!RNR%((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_backup_delete0ssID of backup to restore.s--volumes7Name or ID of volume to which to restore. Default=None.cCs|ip|i}|oti||i}nd}|ii|i|}h|id6}|i |i |i ddti |dS(sRestores a backup.t backup_idRN( RRERRRRtrestorestrestoreR%RR3RR2(R!RNRRERQR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_backup_restore9s sID of the backup to export.cCs&|ii|i}ti|dS(sExport backup metadata record.N(R$t export_recordR%RR2(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_backup_exportUstbackup_servicess/Backup service to use for importing the backup.t backup_urls s-Backup URL for importing the backup metadata.cCs<|ii|i|i}|iddti|dS(sImport backup metadata record.RN(R$t import_recordRURVRRRR2(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_backup_import^ss!Name or ID of volume to transfer.sTransfer name. Default=None.cCs|idj o|i|_nti||i}|ii|i|i}t }|i |i |i ddti |dS(sCreates a volume transfer.RN(RsRRHRRRR-RRRRR3RR2(R!RNRR.R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_transfer_createks   R.s s!Name or ID of transfer to delete.cCs t||i}|idS(sUndoes a transfer.N(R/R.R(R!RNR.((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_transfer_deletessID of transfer to accept.tauth_keys s)Authentication key of transfer to accept.cCsU|ii|i|i}t}|i|i|iddt i |dS(sAccepts a volume transfer.RN( R-tacceptR.R[RRR3RRRR2(R!RNR.R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_transfer_accepts  cCscttiid|i}h|d6}|iid|}dddg}ti||dS(sLists all transfers.R_RTRbRks Volume IDRmN( RtRuRvRwRTR-RyRR~(R!RNRTRbR-R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_transfer_lists  s!Name or ID of transfer to accept.cCsLt||i}t}|i|i|iddti|dS(sShows transfer details.RN( R/R.RRR3RRRR2(R!RNR.R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_transfer_shows  sName or ID of volume to extend.tnew_sizes sNew size of volume, in GBs.cCs/ti||i}|ii||idS(s.Attempts to extend size of an existing volume.N(RRRRtextendR`(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_extends s--hosts sHost name. Default=None.s--binaryssService binary. Default=None.cCsy|iid|id|i}ddddddg}|o%t|d d o|id nti||d S( s6Lists all services. Filter by host and service binary.R=tbinarytBinarytHosttZoneRltStatet Updated_atitdisabled_reasonsDisabled ReasonN(tservicesRyR=RcthasattrRRR~(R!RNtresultR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_service_lists !s Host name.RcsService binary.cCsA|ii|i|i}dddg}ti|g|dS(sEnables the service.ReRdRlN(RjtenableR=RcRR~(R!RNRlR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_service_enabless--reasonssReason for disabling service.cCs}dddg}|io2|id|ii|i|i|i}n|ii|i|i}ti|g|dS(sDisables the service.ReRdRlsDisabled ReasonN( treasonRRjtdisable_log_reasonR=RctdisableRR~(R!RNRRl((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_service_disables  cCsti}||iti|i|i}g}|i|_|idodnd|_|i|id<|i|id<|i |t |ddoT|i dj oDxA|i i D],\}}||iti|i|i}d||_d|_|i|id<|i|id<|i |x|i D]\}}||iti|i|i}d||_d |d od nd |dod nd|df|_|i|id<|i|id<|i |q=WqWn|S(s*Builds a tree view for availability zones.Rs not availableRGRIthostss|- %sts| |- %ss%s %s %stactivetenabledtdisableds:-)tXXXt updated_atN(RtAvailabilityZoneRtcopytdeepcopyR3t_loadedRGRIRRRRtR(tzoneR{tazRlR=RjtsvcR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt_treeizeAvailabilityZones@    #        c Csy|ii}WnMtij o>}y|iidt}Wqctj o |qcXnXg}x|D]}|t|7}qpWt|ti |ddgdS(sLists all availability zones.tdetailedRmRlN( RRyRt ForbiddenRRRRJRR~(R!t_argsRRRlR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_availability_zone_list#s cCs#ti|dddddgdS(sw Lists volume encryption types. :param encryption_types: a list of :class: VolumeEncryptionType instances sVolume Type IDtProvidertCiphersKey SizesControl LocationN(RR~(tencryption_types((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt"_print_volume_encryption_type_list5scCs2|ii}ti|dddddgdS(s;Shows encryption type details for volume types. Admin only.sVolume Type IDRRsKey SizesControl LocationN(tvolume_encryption_typesRyRR~(R!RNRl((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_encryption_type_list@sRAcCsSt||i}|ii|}t|dot|gn tgdS(s<Shows encryption type details for a volume type. Admin only.tvolume_type_idN(RRARRwRkR(R!RNRARl((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_encryption_type_showHs tproviders sGThe class that provides encryption support. For example, LuksEncryptor.s--cipherssMThe encryption algorithm or mode. For example, aes-xts-plain64. Default=None.s --key_sizes sGSize of encryption key, in bits. For example, 128 or 256. Default=None.s--control_locationss front-endsback-endsNotional service where encryption is performed. Valid values are "front-end" or "back-end." For example, front-end=Nova. Default is "front-end."cCsrt||i}h}|i|d<|i|d<|i|d<|i|d<|ii||}t|gdS(s6Creates encryption type for a volume type. Admin only.Rtciphertkey_sizetcontrol_locationN( RRARRRRRRR(R!RNRAtbodyRl((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_encryption_type_createZs#    sName or ID of the volume types --providersBClass providing encryption support (e.g. LuksEncryptor) (Optional)sEncryption algorithm/mode to use (e.g., aes-xts-plain64). Provide parameter without value to set to provider default. (Optional)s --key-sizeRs s|Size of the encryption key, in bits (e.g., 128, 256). Provide parameter without value to set to provider default. (Optional)s--control-locationRssqNotional service where encryption is performed (e.g., front-end=Nova). Values: 'front-end', 'back-end' (Optional)cCst||i}h}xAddddgD]-}t||ot||||s!ID of QoS specifications to show.cCs t||i}t|dS(sShows qos specs details.N(R1R0R(R!RNR0((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_qos_showss#ID of QoS specifications to delete.sIEnables or disables deletion of in-use QoS specifications. Default=False.cCs;ti|i}t||i}|ii||dS(sDeletes a specified qos specs.N(RRRR1R0R(R!RNRR0((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_qos_deletes sID of QoS specifications.t vol_type_idss=ID of volume type with which to associate QoS specifications.cCs|ii|i|idS(s0Associates qos specs with specified volume type.N(R0t associateR(R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_qos_associatescCs|ii|i|idS(s3Disassociates qos specs from specified volume type.N(R0t disassociateR(R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_qos_disassociatess-ID of QoS specifications on which to operate.cCs|ii|idS(s2Disassociates qos specs from all its associations.N(R0tdisassociate_all(R!RN((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_qos_disassociate_all&ss key=valuecCsjt|}|idjo|ii|i|n1|idjo |ii|it|ndS(s-Sets or unsets specifications for a qos spec.RRN(RRRR0RRRy(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_qos_key.s cCs#|ii|i}t|dS(s/Lists all associations for specified qos specs.N(R0tget_associationsR(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_qos_get_associationCss,ID of snapshot for which to update metadata.cCst||i}t|}|idjo#|i|}ti|in.|idjo|it |i ndS(s"Sets or deletes snapshot metadata.RRN( R#R"RRRRRR2R3RRyR<(R!RNR"RL((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_snapshot_metadataLs sID of snapshot.cCs-t||i}ti|idddS(sShows snapshot metadata.RLsMetadata-propertyN(R#R"RR2R3(R!RNR"((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_snapshot_metadata_showfss ID of volume.cCs0ti||i}ti|idddS(sShows volume metadata.RLsMetadata-propertyN(RRRR2R3(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_metadata_showoss*ID of volume for which to update metadata.s/Metadata key and value pair or pairs to update.cCsHti||i}t|}|i|}ti|dddS(sUpdates volume metadata.RLsMetadata-propertyN(RRRRRtupdate_all_metadataR2(R!RNRRL((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_metadata_update_allxs  s&Metadata key and value pair to update.cCs>t||i}t|}|i|}ti|dS(sUpdates snapshot metadata.N(R#R"RRRRR2(R!RNR"RL((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_snapshot_metadata_update_alls  sID of volume to update.t read_onlysttruetfalses>Enables or disables update of volume to read-only access mode.cCs8ti||i}|ii|ti|idS(s*Updates volume read-only access-mode flag.N(RRRRtupdate_readonly_flagRRR(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_readonly_mode_updates  sID of the volume to update.tbootables,Flag to indicate whether volume is bootable.cCs8ti||i}|ii|ti|idS(s#Update bootable status of a volume.N(RRRRt set_bootableRRR(R!RNR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_set_bootables sXCinder host on which the existing volume resides; takes the form: host@backend-name#poolRs s,Name or other Identifier for existing volumes --id-types s source-namesdType of backend device identifier provided, typically source-name or source-id (Default=source-name)sVolume name (Default=None)s!Volume description (Default=None)sVolume type (Default=None)s+Availability zone for volume (Default=None)s'Metadata key=value pairs (Default=None)s --bootablesDSpecifies that the newly created volume should be marked as bootablecCs;d}|idj ot|}nh}|i||is"Name or ID of a consistency group.cCsLt}t||i}|i|i|iddti|dS(s%Shows details of a consistency group.RN( RR)R(RR3RRRR2(R!RNRR(((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_consisgroup_show/s  t volumetypesss Volume types.sName of a consistency group.s1Description of a consistency group. Default=None.cCsy|ii|i|i|id|i}t}|ii|i}|i |i |i ddt i|dS(sCreates a consistency group.RRN(R'RRRHRRRRwRRR3RRRR2(R!RNR(R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_consisgroup_create=s    s --cgsnapshots s)Name or ID of a cgsnapshot. Default=None.s --source-cgs s(Name or ID of a source CG. Default=None.s*Name of a consistency group. Default=None.cCs|i o-|i o"d}tiddd|n|io,|io"d}tiddd|nd}|iot||i}nd}|iot||i}n|ii|o |i nd|o |i nd|i |i }|i ddt i|dS(s=Creates a consistency group from a cgsnapshot or a source CG.sUCannot create consistency group because neither cgsnapshot nor source CG is provided.RiRsSCannot create consistency group because both cgsnapshot and source CG are provided.RN(R+t source_cgRt BadRequestRR,R)R'tcreate_from_srcRRHRRRR2(R!RNR R+RR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_consisgroup_create_from_src]s&    s;Name or ID of one or more consistency groups to be deleted.sAllows or disallows consistency groups to be deleted. If the consistency group is empty, it can be deleted without the force flag. If the consistency group is not empty, the force flag is required for it to be deleted.cCsd}xd|iD]Y}yt||i|iWqtj o'}|d7}td||fqXqW|t|ijotidndS(s'Removes one or more consistency groups.iis*Delete for consistency group %s failed: %ss9Unable to delete any of the specified consistency groups.N( R(R)RRRRRRRx(R!RNRR(R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_consisgroup_deletes  s-New name for consistency group. Default=None.s4New description for consistency group. Default=None.s --add-volumesssdUUID of one or more volumes to be added to the consistency group, separated by commas. Default=None.s--remove-volumessshUUID of one or more volumes to be removed from the consistency group, separated by commas. Default=None.cCsh}|id j o|i|ds8Filters results by a consistency group ID. Default=None.cCs|ii}ttiid|i}h|d6|id6|id6}|iid|}dddg}t i ||d S( sLists all cgsnapshots.R_RTRtconsistencygroup_idRbRkRlRmN( R*RyRtRuRvRwRTRRRR~(R!RNR*RTRbR((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_cgsnapshot_lists  R+sName or ID of cgsnapshot.cCsLt}t||i}|i|i|iddti|dS(sShows cgsnapshot details.RN( RR,R+RR3RRRR2(R!RNRR+((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_cgsnapshot_shows  sCgsnapshot name. Default=None.s%Cgsnapshot description. Default=None.cCst||i}|ii|i|i|i}t}|ii|i}|i |i |i ddt i|dS(sCreates a cgsnapshot.RN(R)R(R*RRRHRRRwRR3RRRR2(R!RNR(R+R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_cgsnapshot_creates   s4Name or ID of one or more cgsnapshots to be deleted.cCsd}x^|iD]S}yt||iWqtj o'}|d7}td||fqXqW|t|ijotidndS(s Removes one or more cgsnapshots.iis#Delete for cgsnapshot %s failed: %ss2Unable to delete any of the specified cgsnapshots.N(R+R,RRRRRRx(R!RNRR+R((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_cgsnapshot_delete s  s--details&Show detailed information about pools.cCs|ii|i}t}|i|ixU|dD]I}t}|d|d<|io|i|dnti|q9WdS(s/Show pool information for backends. Admin only.tpoolsRHt capabilitiesN(Rt get_poolstdetailRRR3RR2(R!RNRtinfosRtbackend((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyt do_get_pools) s    sZCinder host to show backend volume stats and properties; takes the form: host@backend-namecCsd|ii|i}t}|i|i|idd}ti |dti |ddS(s5Show backend volume stats and properties. Admin only.t propertiess Volume statssBackend propertiesN( RRwR=RRR3RRRR2(R!RNRRtprop((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pytdo_get_capabilities; s  (t __future__RtargparseR|RuR RRt cinderclientRRtcinderclient.openstack.commonRtcinderclient.v2RRRRR#R&R)R,R/R1R4R6R?RCRFRJRRtargRttSUPPRESSRR}R{tSORT_KEY_VALUESt service_typeRRtActionRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRR R"R$R%R&R)R*R.R5RR<RBRGRJRKRMRNRRRTRXRYRZR]R^R_RbRmRoRsRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR(((sB/tmp/pip-build-cD3xZi/python-cinderclient/cinderclient/v2/shell.pyts                                    ?3                                    `6     $      '    !    !            0              3      '    !   !     !                       3         '            0   $ !       0        * !    !       ! *        '          '                !                 3*      $    $      '   !    !