
    (                     >   S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJr  SS	KJr  SS
KJr  SSKJr  SSS.r\
R$                  " \
R&                  R(                  \
R&                  R*                  5       " S S\
R,                  5      5       r\\l        g)z4'Bare Metal Solution boot volumes "restore" command.    )absolute_import)division)unicode_literals)	BmsClient)waiter)base)flags)log)
properties)	resourceszX
          Restore a Bare Metal Solution boot volume from an existing snapshot.
        z
          To restore a boot volume named ``my-boot-volume'' in region
          ``us-central1'' from snapshot named ``my-snapshot'', run:

          $ {command} my-boot-volume --region=us-central1 --snapshot=my-snapshot
    )DESCRIPTIONEXAMPLESc                   .    \ rS rSrSr\S 5       rS rSrg)Restore-   zDRestore a Bare Metal Solution boot volume from an existing snapshot.c                     [         R                  " U SS9  U R                  SSSS9  [        R                  R                  U 5        g)z Register flags for this command.T)
positionalz
--snapshotz Name of the snapshot to restore.)requiredhelpN)r	   AddVolumeArgToParseradd_argumentr   
ASYNC_FLAGAddToParser)parsers    "lib/surface/bms/volumes/restore.pyArgsRestore.Args1   sD     
v$7
!%?  A 	OO'    c                    UR                   R                  R                  5       n[        5       n[        R
                  R                  UR                  [        R                  R                  R                  R                  UR                  UR                  S.SSS9nUR                  UR                  5       S9nUR                  (       a%  [         R"                  " UR%                  5       SS9  U$ UR&                  (       aI  [         R(                  R+                  SR-                  UR%                  5       UR.                  5      5        U$ [        R
                  R1                  UR.                  S	SS
9n[2        R4                  " UR6                  5      n[2        R8                  " XvSR-                  UR.                  5      5      n[         R"                  " UR%                  5       SS9  U$ )N)
projectsIdlocationsId	volumesIdz6baremetalsolution.projects.locations.volumes.snapshotsv2)params
collectionapi_version)snapshot_namevolume)kindz@Restore request issued for [{}]
Check operation [{}] for status.z/baremetalsolution.projects.locations.operations)r%   r&   z&Waiting for operation [{}] to complete)CONCEPTSr(   Parser   r   REGISTRYsnapshotr   VALUEScoreproject	GetOrFailregionRestoreVolumeSnapshotRelativeNamedoner
   RestoredResourceNameasync_statusPrintformatnameParseRelativeNamer   CloudOperationPollerNoResourcesoperation_serviceWaitFor)	selfargsr(   clientsnapshot_refop_refop_resourcepollerress	            r   RunRestore.Run:   s   ]]!!'')F[F%%++$++0088BB;;

 L , L ))"//1 * 3F {{	6;;=x8m{{	jj **0&*LNm$$66D 7 K 33  "F
..AHH#[[*+C X6Jr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rI   __static_attributes__rK   r   r   r   r   -   s    L( ("r   r   N)rP   
__future__r   r   r   %googlecloudsdk.api_lib.bms.bms_clientr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   googlecloudsdk.command_lib.bmsr	   googlecloudsdk.corer
   r   r   DETAILED_HELPReleaseTracksReleaseTrackALPHAGAUpdateCommandr   detailed_helprK   r   r   <module>r`      s    ; &  ' ; . ( 0 # * )
		 D%%++T->->-A-AB.d   . C.b & r   