
    r                     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 describing reservation blocks.    )absolute_import)division)unicode_literals)base_classes)base)flags)scope)resource_argsc                   ,    e Zd ZdZed        Zd Zd Zy)Describez,Describe a Compute Engine reservation block.c                     t        j                         t        _        t        j                  j	                  | d       t        j                  |        t        j                  |        y )Ndescribe)operation_type)r
   GetReservationResourceArgr   ReservationArgAddArgumentr   AddDescribeFlagsAddFullViewFlag)parsers    3lib/surface/compute/reservations/blocks/describe.pyArgszDescribe.Args#   sO     	//1  ''z'J	6"	&!    c                    t        j                  | j                               }|j                  }t        j
                  j                  ||j                  t        j                  j                  t        j                  |            }| j                  ||      }|j                  j                  |j                   |j"                  |j$                  |j&                  |      }|j)                  |j*                  j,                  d|fg      d   S )N)default_scopescope_lister)reservationzoneprojectreservationBlockviewGetr   )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_scope	ScopeEnumZONEcompute_flagsGetDefaultScopeListerGetViewEnummessages"ComputeReservationBlocksGetRequestr   r   r   
block_nameMakeRequestsapitools_clientreservationBlocks)selfargsholderr$   reservation_ref	view_enumrequests          r   RunzDescribe.Run,   s    **4+<+<+>?F]]F--??#--22"88@	 @ BO   .Ioo@@#//!!'' A G !7!7!I!I!&!1  2 3346 6r   c                    d }|j                  d      rr|j                  dk(  r*|j                  j                  j                  j
                  }|j                  dk(  r*|j                  j                  j                  j                  }|S )N	full_viewBLOCK_VIEW_FULLBLOCK_VIEW_BASIC)IsSpecifiedr;   r-   r.   ViewValueValuesEnumFULLBASIC)r3   r$   r4   r7   s       r   r,   zDescribe.GetViewEnumC   su    I$	,	,OO>>RRWW 	 
-	-OO>>RRXX 	 r   N)__name__
__module____qualname____doc__staticmethodr   r9   r,    r   r   r   r      s#     5" "6.r   r   EXAMPLESz    To describe a reservation block in reservation my-reservation in my-zone
    with block name my-reservation-block-0001, run:

      $ {command} my-reservation --zone=my-zone --block-name=my-reservation-block-0001
    N)rE   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r*   r	   r'   /googlecloudsdk.command_lib.compute.reservationsr
   6googlecloudsdk.command_lib.compute.reservations.blocksUniverseCompatibleReleaseTracksr#   ALPHABETAGADescribeCommandr   detailed_helprG   r   r   <module>rV      s    1 &  ' 7 ( E E I H D%%++T->->-C-C%%((*.t## .* .d 	 r   