
    9                        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\R                  5      r\
R"                  \
R$                  " \
R&                  R(                  \
R&                  R*                  \
R&                  R,                  5       " S S\
R.                  5      5       5       rSSR3                  SSS5      S.\l        g)zBCommand for perform maintenance on Google Compute Engine instance.    )absolute_import)division)unicode_literals)base_classes)
exceptions)utils)base)flagsc                       \ rS rSrSrSrg)PerformMaintenanceError   zTException thrown when there is a problem with performing maintenance on an instance. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       4lib/surface/compute/instances/perform_maintenance.pyr   r      s    \r   r   c                   .    \ rS rSrSr\S 5       rS rSrg)PerformMaintenance!   z6Perform maintenance of Google Compute Engine instance.c                 B    [         R                  R                  U 5        g )N)instance_flagsINSTANCES_ARGAddArgument)parsers    r   ArgsPerformMaintenance.Args(   s      ,,V4r   c                 ,   [         R                  " U R                  5       5      nUR                  nUR                  R                  n[
        R                  R                  XR                  [        R                  " U5      S9n/ nU HM  nUR                  " S0 UR                  5       D6nUR                  R                  SU4n	UR                  U	5        MO     / n
UR                  R!                  XjS9  U
(       a  ["        R$                  " U
[&        SS9  g g )N)scope_listerr   )errors_to_collectz+Could not perform maintenance for resource:)error_messager   )r   ComputeApiHolderReleaseTrackclientmessagesr   r   ResolveAsResource	resourcesr
   GetDefaultScopeLister)ComputeInstancesPerformMaintenanceRequestAsDictapitools_client	instancesappendMakeRequestsr   RaiseExceptionr   )selfargsholderr'   r(   instance_refsrequestsinstance_refrequest_protobufrequesterrorss              r   RunPerformMaintenance.Run,   s    **4+<+<+>?F]]F}}%%H"00BBU-H-H-P C M H%!KK ! 
 
 
*
*

g
 oog & F
MMxB

!E r   r   N)	r   r   r   r   r   staticmethodr   r<   r   r   r   r   r   r   !   s    
 ?5 5r   r   z5Perform maintenance of Google Compute Engine instancez        To perform customer-triggered maintenance on an instance named ``{0}''
        located in zone ``{1}'', run:

          $ {2} {0} --zone={1}
        ztest-instancez
us-east1-dz	{command})briefEXAMPLESN)r   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   ,googlecloudsdk.command_lib.compute.instancesr   Errorr   DefaultUniverseOnlyReleaseTracksr&   ALPHABETAGAUpdateCommandr   formatdetailed_helpr   r   r   <module>rO      s    I &  ' 7 5 0 ( 4 P]j.. ] T..33T5F5F5I5I!++ ! !L 	@	
 F?L+>
$   r   