
    @                        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\R.                  5      5       5       rSS0\l        g)z4Command for performing maintenance on a reservation.    )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, only applicable to reservations with reservation blocks.c                 v    [         R                  " 5       R                  U SS9  [        R                  " U 5        g )Nzperform-maintenance)operation_type)r
   GetReservationResourceArgAddArgumentr   AddScopeFlags)parsers    7lib/surface/compute/reservations/perform_maintenance.pyArgsPerformMaintenance.Args$   s2    ++-994 : 6	    c                 b   [         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                  R%                  [&        R(                  " UR                  UR*                  5      S9S9nUR,                  R.                  nUR1                  USU4/5      $ )N)default_scopescope_lister)maintenanceScope)reservationzoneproject%reservationsPerformMaintenanceRequestr   )r   ComputeApiHolderReleaseTrackclientr
   r   ResolveAsResource	resourcescompute_scope	ScopeEnumZONEcompute_flagsGetDefaultScopeListermessages,ComputeReservationsPerformMaintenanceRequestr   r   r   %ReservationsPerformMaintenanceRequestr    MakeReservationsMaintenanceScoper	   apitools_clientreservationsMakeRequests)selfargsholderr#   reservation_refrequestservices          r   RunPerformMaintenance.Run*   s   **4+<+<+>?F]]F#== #--22"88@	  B  	DD'33 %%#++OOAA!%!F!FvX\XbXb!c B e 	E 	
  $$11G*> HIJJr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r8   __static_attributes__r:   r   r   r   r      s      g   
Kr   r   EXAMPLESz    To perform maintenance on reservation my-reservation in my-zone with scope all, run:

      $ {command} my-reservation --zone=my-zone --scope=all
    N)r?   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r)   r	   r&   /googlecloudsdk.command_lib.compute.reservationsr
   r   UniverseCompatibleReleaseTracksr"   ALPHABETAGAUpdateCommandr   detailed_helpr:   r   r   <module>rO      s    ; &  ' 7 ( E E A I @ D%%++T->->-C-C%%((* K++  K*  KH 	$   r   