
    n                     x   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  SSS.r\
R$                  \
R&                  " \
R(                  R*                  \
R(                  R,                  \
R(                  R.                  5       " S S\
R0                  5      5       5       rg)z'Command for listing reservation blocks.    )absolute_import)division)unicode_literals)base_classes)request_helper)utils)base)flags)scope)resource_argszr        {command} displays all Compute Engine reservation blocks in a densely
        deployed reservation.
      ao          To list all reservation blocks in a densely deployed reservation in
        table form, run:

        $ {command} my-reservation --zone=us-central1-a --project=my-project

        To list the URIs of all reservation blocks in a densely deployed
        reservation, run:

        $ {command} my-reservation --zone=us-central1-a --project=my-project --uri
    )DESCRIPTIONEXAMPLESc                   8    \ rS rSrSr\r\S 5       rS r	S r
Srg)List3   z'List Compute Engine reservation blocks.c                 ~    [         R                  " 5       [        l        [        R                  R	                  U5        g )N)r   GetReservationResourceArgr   ReservationArgAddArgument)clsparsers     /lib/surface/compute/reservations/blocks/list.pyArgs	List.Args;   s'    'AACD##F+    c           	      *   UR                   n[        R                  R                  UUR                  [
        R                  R                  [        R                  " U5      S9nUR                  R                  nUR                  R                  UR                  UR                  UR                   S9n/ n[#        [$        R&                  " USU4/UR                  R(                  UR*                  US95      nU(       a  [,        R.                  " U5        U$ )N)default_scopescope_lister)reservationzoneprojectr   )requestshttp	batch_urlerrors)clientr   r   ResolveAsResource	resourcescompute_scope	ScopeEnumZONEr
   GetDefaultScopeListerapitools_clientreservationBlocksmessages#ComputeReservationBlocksListRequestr   r    r!   listr   MakeRequestsr#   r$   r   RaiseToolException)	selfargsholderr&   reservation_refservicerequestr%   resultss	            r   _Run	List._Run@   s    ]]F**((!++)6)@)@)E)E(-(C(CF(K	 ) M  $$66G22.::',,*22 3 4  F>..FG,-##((""	 G v&Nr   c                 l    [         R                  " U R                  5       5      nU R                  X5      $ )zCreates and issues a reservationBlocks.list request.

Args:
  args: the argparse arguments that this command was invoked with.

Returns:
  List of reservation blocks.
)r   ComputeApiHolderReleaseTrackr;   )r4   r5   r6   s      r   RunList.Run\   s,     **4+<+<+>?F99T""r    N)__name__
__module____qualname____firstlineno____doc__DETAILED_HELPdetailed_helpclassmethodr   r;   r@   __static_attributes__rB   r   r   r   r   3   s(     0-, ,8
#r   r   N)rG   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r   r)   /googlecloudsdk.command_lib.compute.reservationsr   rH   UniverseCompatibleReleaseTracksr?   ALPHABETAGAListCommandr   rB   r   r   <module>rW      s     . &  ' 7 9 0 ( 4 E I	


	* D%%++T->->-C-C%%((*0#4 0#* 0#r   