
    A                     j   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S.r\R&                  " \R(                  R*                  \R(                  R,                  \R(                  R.                  5       " S S\R0                  5      5       r\\l        g)z*Command for resuming a suspended instance.    )absolute_import)division)unicode_literals)base_classes)poller)waiter)base)flags)
exceptions)logz"Resume a virtual machine instance.zm        *{command}* is used to resume a previously suspended Compute
        Engine virtual machine.
        zg        To resume an instance named ``test-instance'', run:

          $ {command} test-instance
      )briefDESCRIPTIONEXAMPLESc                   4    \ rS rSrSr\S 5       rS rS rSr	g)Resume.   zyResume a virtual machine instance.

*{command}* is used to resume a previously suspended Compute Engine
virtual machine.
c                     [         R                  R                  U5        [        R                  R                  U5        g N)r
   INSTANCES_ARGAddArgumentr	   
ASYNC_FLAGAddToParser)clsparsers     'lib/surface/compute/instances/resume.pyArgsResume.Args7   s(    	##F+OO'    c                    / nU Hh  nUR                   R                  UR                  5       UR                  UR                  S9nUR                  UR                  R                  SU45        Mj     UR                  U5      nU$ )z?Fetches instance objects corresponding to the given references.)instancezoneprojectGet)	messagesComputeInstancesGetRequestNamer!   r"   appendapitools_client	instancesMakeRequests)selfclientrefsinstance_get_requestsrefrequest_protobufr)   s          r   GetInstancesResume.GetInstances<   s    CC88:CHHckk D C""F$:$:$D$De$4$6 7  ##$9:Ir   c           
         [         R                  " U R                  5       5      nUR                  n/ n[        R
                  R                  UUR                  [        R                  " U5      S9nU Hh  nUR                  R                  SUR                  R                  UR                  5       UR                  UR                  S94nUR!                  U5        Mj     / nUR#                  XH5      n	U(       a  [$        R&                  " U5      eU	 V
s/ s H'  oR                  R)                  U
R*                  5      PM)     nn
UR,                  (       af  U H?  n[.        R0                  R3                  SR5                  UR7                  5       5      5        MA     [.        R0                  R3                  S5        U	$ [8        R:                  " X3R                  R                  U5      n[<        R>                  " U[8        R@                  " U5      SR5                  SRC                  S U 5       5      5      S S	9nU H1  n[.        R0                  R3                  S
R5                  U5      5        M3     U$ s  sn
f )N)scope_listerr   )r    r"   r!   z%Resume instance in progress for [{}].z]Use [gcloud compute operations describe URI] command to check the status of the operation(s).zResuming instance(s) {0}z, c              3   @   #    U  H  oR                  5       v   M     g 7fr   )r&   ).0is     r   	<genexpr>Resume.Run.<locals>.<genexpr>q   s      4-+FFHHms   )max_wait_mszUpdated [{0}].)"r   ComputeApiHolderReleaseTrackr,   r
   r   ResolveAsResource	resourcesGetInstanceZoneScopeListerr(   r)   r$   ComputeInstancesResumeRequestr&   r"   r!   r'   AsyncRequestsr   
MultiErrorParseselfLinkasync_r   statusPrintformatSelfLinkr   BatchPollerr   WaitForOperationBatchjoin)r+   argsholderr,   request_listinstance_refsinstance_refrequesterrors_to_collect	responsesroperation_refsoperation_refoperation_pollerresults                  r   Run
Resume.RunH   s   **4+<+<+>?F]]FL''9955f= : ?M
 &''118>>*//1)11&++ ? -.g '" & $$\EI!!"344BKL)Q&&,,QZZ8)NL{{)-

@GG""$& 	' * 
jj() ))&&00-A ^^n-"))$)) 4-+4- +- 	.F &	jj'..|<= & M1 Ms   .I- N)
__name__
__module____qualname____firstlineno____doc__classmethodr   r1   r[   __static_attributes__r]   r   r   r   r   .   s%     ( (
0r   r   N)rb   
__future__r   r   r   googlecloudsdk.api_lib.computer   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper	   ,googlecloudsdk.command_lib.compute.instancesr
   googlecloudsdk.corer   r   DETAILED_HELPReleaseTracksr<   ALPHABETAGASilentCommandr   detailed_helpr]   r   r   <module>rs      s    1 &  ' 7 < . ( > * # 	-	
	
" D%%++T->->-C-C%%((*HT H*HV % r   