
    &                        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
  \R$                  \R&                  " \R(                  R*                  \R(                  R,                  \R(                  R.                  5       " S S\R0                  5      5       5       rSS0\l        g)z:Command for performing maintenance on a reservation block.    )absolute_import)division)unicode_literals)base_classes)base)flags)scope)resource_args)utilc                   .    \ rS rSrSr\S 5       rS rSrg)PerformMaintenance   z@Perform maintenance on a reservation block within a reservation.c                     [         R                  " 5       R                  U SS9  [        R                  " U 5        [        R
                  " U 5        g )Nzperform-maintenance)operation_type)r
   GetReservationResourceArgAddArgumentr   AddDescribeFlagsAddScopeFlags)parsers    >lib/surface/compute/reservations/blocks/perform_maintenance.pyArgsPerformMaintenance.Args$   s@    ++-994 : 6	6"	    c                 t   [         R                  " U R                  5       5      nUR                  n[        R
                  " 5       R                  UUR                  [        R                  R                  [        R                  " U5      S9nUR                  R                  UR                  UR                   UR"                  UR$                  UR                  R'                  [(        R*                  " UR                  UR,                  5      S9S9nUR/                  UR0                  R2                  SU4/5      $ )N)default_scopescope_lister)maintenanceScope)reservationzoneprojectreservationBlock+reservationsBlocksPerformMaintenanceRequestr   )r   ComputeApiHolderReleaseTrackclientr
   r   ResolveAsResource	resourcescompute_scope	ScopeEnumZONEcompute_flagsGetDefaultScopeListermessages1ComputeReservationBlocksPerformMaintenanceRequestr   r   r    
block_name+ReservationsBlocksPerformMaintenanceRequestr   %MakeReservationBlocksMaintenanceScoper	   MakeRequestsapitools_clientreservationBlocks)selfargsholderr%   reservation_refrequests         r   RunPerformMaintenance.Run+   s   **4+<+<+>?F]]F#== #--22"88@	  B  	II'33 %%#++!__OOGG!%!K!KOOTZZ"1 H 2 	J 		
  !7!7!I!I!5w!@  A B Br    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r:   __static_attributes__r<   r   r   r   r      s      I   Br   r   EXAMPLESa      To perform maintenance on a reservation block in reservation my-reservation
    in my-zone with block name my-reservation-block-0001 with scope all, run:

      $ {command} my-reservation --zone=my-zone --block-name=my-reservation-block-0001 --scope=all
    N)rA   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r+   r	   r(   /googlecloudsdk.command_lib.compute.reservationsr
   r   6googlecloudsdk.command_lib.compute.reservations.blocksUniverseCompatibleReleaseTracksr$   ALPHABETAGAUpdateCommandr   detailed_helpr<   r   r   <module>rR      s    A &  ' 7 ( E E I @ H D%%++T->->-C-C%%((*#B++ #B* #BL 	$   r   