
                         t   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z ddl	mZ dd	lmZ ddlm
Z
 ej"                   ej$                  ej&                  j(                  ej&                  j*                  ej&                  j,                         G d
 dej.                                      Zddie_        y)z>Command for performing maintenance on a reservation sub-block.    )absolute_import)division)unicode_literals)base_classes)base)flags)scope)resource_argsc                   &    e Zd ZdZed        Zd Zy)PerformMaintenancez/Perform maintenance on a reservation sub-block.c                 x    t        j                         j                  | d       t        j                  |        y )Nzperform-maintenance)operation_type)r
   GetReservationResourceArgAddArgumentr   AddDescribeFlags)parsers    Blib/surface/compute/reservations/sub_blocks/perform_maintenance.pyArgszPerformMaintenance.Args#   s2    ++-994 : 6	6"    c                    t        j                  | j                               }|j                  }t	        j
                         j                  ||j                  t        j                  j                  t        j                  |            }d|j                   d|j                   }|j                  j!                  ||j"                  |j$                  |j&                        }|j)                  |j*                  j,                  d|fg      S )N)default_scopescope_listerzreservations/z/reservationBlocks/)
parentNamezoneprojectreservationSubBlockr   )r   ComputeApiHolderReleaseTrackclientr
   r   ResolveAsResource	resourcescompute_scope	ScopeEnumZONEcompute_flagsGetDefaultScopeListerreservation
block_namemessages4ComputeReservationSubBlocksPerformMaintenanceRequestr   r   sub_block_nameMakeRequestsapitools_clientreservationSubBlocks)selfargsholderr   reservation_refparent_namerequests          r   RunzPerformMaintenance.Run)   s   **4+<+<+>?F]]F#== #--22"88@	  B  "/"="=!>>QRVRaRaQbcK 	LL" %%#++ $ 3 3	 	M 	
  !7!7!L!L!5w!@  A B Br   N)__name__
__module____qualname____doc__staticmethodr   r5    r   r   r   r      s     8# #
Br   r   EXAMPLESz    To perform maintenance on a reservation sub-block in reservation exr-1
    in ZONE with block name block-1 and sub-block name sub-block-1, run:

      $ {command} exr-1 --zone=ZONE --block-name=block-1
          --sub-block-name=sub-block-1
    N)r9   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r%   r	   r"   /googlecloudsdk.command_lib.compute.reservationsr
   :googlecloudsdk.command_lib.compute.reservations.sub_blocksUniverseCompatibleReleaseTracksr   ALPHABETAGAUpdateCommandr   detailed_helpr;   r   r   <module>rJ      s    E &  ' 7 ( E E I L D%%++T->->-C-C%%((* B++  B*  BF 		$   r   