
    %                        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KJr  SSKJr  Sr\R.                  " \R0                  R2                  \R0                  R4                  \R0                  R6                  5       " S S\R8                  5      5       rSSSR=                  SSS5      S.\l        g)zGCommand for simulating maintenance events on virtual machine instances.    )absolute_import)division)unicode_literals)base_classes)poller)waiter)arg_parsers)base)flags)
exceptions)logi m c                   .    \ rS rSrSr\S 5       rS rSrg)SimulateMaintenanceEvent"   z2Simulate maintenance of virtual machine instances.c                     [         R                  R                  U 5        [        R                  R                  U 5        U R                  S[        R                  " 5       SSS9  g )Nz--with-extended-notificationsFz`Send an extended notification before simulating a host maintenance event on a Compute Engine VM.)typerequiredhelp)	instance_flagsINSTANCES_ARGAddArgumentr
   
ASYNC_FLAGAddToParseradd_argumentr	   
ArgBoolean)parsers    ;lib/surface/compute/instances/simulate_maintenance_event.pyArgsSimulateMaintenanceEvent.Args(   sR      ,,V4OO'
'##%8      c           
         [         R                  " U R                  5       5      nUR                  R                  nUR                  R
                  n[        R                  R                  UUR                  [        R                  " UR                  5      S9n/ nUR                  (       af  U H_  nUR                  UR                  5       UR                  UR                  UR                   S9nUR#                  UR$                  SU45        Ma     OGU HA  nUR                  " S0 UR'                  5       D6nUR#                  UR$                  SU45        MC     / n	UR                  R)                  Xi5      n
U
 HH  n[+        USS 5      nU(       d  M  U	R#                  [,        R.                  " UR0                  5      5        MJ     U	(       a  [2        R4                  " U	5      eU
 Vs/ s H'  oR                  R7                  UR8                  5      PM)     nnUR:                  (       aL  [=        U5       H;  u  p[>        R@                  " USRC                  X^   R                  5       5      SSS9  M=     U
$ [,        RD                  " UR                  UR$                  U5      n[F        RH                  " U[,        RJ                  " U5      S	RC                  S
RM                  S U 5       5      5      [N        [N        S9$ s  snf )N)scope_lister)instanceprojectwithExtendedNotificationszoner   errorzgce instance [{0}]TzWUse [gcloud compute operations describe] command to check the status of this operation.)kindis_asyncdetailsz+Simulating maintenance on instance(s) [{0}]z, c              3   @   #    U  H  oR                  5       v   M     g 7f)N)SelfLink).0is     r   	<genexpr>/SimulateMaintenanceEvent.Run.<locals>.<genexpr>r   s     :MqjjllMs   )max_wait_mswait_ceiling_ms )(r   ComputeApiHolderReleaseTrackclientapitools_clientmessagesr   r   ResolveAsResource	resourcesr   GetDefaultScopeListerwith_extended_notifications/ComputeInstancesSimulateMaintenanceEventRequestNamer$   r&   append	instancesAsDictAsyncRequestsgetattrr   OperationErrorserrorscore_exceptions
MultiErrorParseselfLinkasync_	enumerater   UpdatedResourceformatBatchPollerr   WaitForOperationBatchjoin%SIMULATE_MAINTENANCE_EVENT_TIMEOUT_MS)selfargsholderr6   r8   instance_refsrequestsinstance_refrequesterrors_to_collect	responsesrerroperation_refsr.   operation_refoperation_pollers                    r   RunSimulateMaintenanceEvent.Run6   s   **4+<+<+>?F]]**F}}%%H"00BB00? C M H''',JJ!&&( ((&*&F&F""	 K 
 	))+EwOP ( (,JJ 
!!#
 	))+EwOP	 ( ++HHIAw%c	  !7!7

!CD  &&'899BKL)Q&&,,QZZ8)NL{{'7
!%,,]-=-B-B-DE9	
 8 ))v'' >>n-5<<II:M::	
 := % Ms   $.K6r3   N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   ra   __static_attributes__r3   r    r   r   r   "   s     ; @r    r   z)Simulate host maintenance of VM instancesz        *{command}* simulates a host maintenance event on a
        Compute Engine VM. For more information, see
        https://cloud.google.com/compute/docs/instances/simulating-host-maintenance.
        z        To simulate a maintenance event on an instance named ``{0}''
        located in zone ``{1}'', run:

          $ {2} {0} --zone={1}
        ztest-instancez
us-east1-dz	{command})briefDESCRIPTIONEXAMPLESN) rg   
__future__r   r   r   googlecloudsdk.api_lib.computer   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper	   r
   "googlecloudsdk.command_lib.computer   ,googlecloudsdk.command_lib.compute.instancesr   googlecloudsdk.corer   rF   r   rR   ReleaseTracksr5   ALPHABETAGAUpdateCommandr   rM   detailed_helpr3   r    r   <module>r{      s    N &  ' 7 < . / ( 4 P = #(/ % T..33T5F5F5I5IQt11 QQj 9

 F?L+>*  &r    