
    \                        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	KJr  SSS.r\
R(                  \
R*                  " \
R,                  R.                  \
R,                  R0                  \
R,                  R2                  5       " S S\
R4                  5      5       5       rg)z+Command for listing reservation sub-blocks.    )absolute_import)division)unicode_literals)base_classes)request_helper)utils)base)flags)scope)resource_argszo        {command} displays all Compute Engine reservation sub-blocks in an extended reservation's block.
      a          To list all reservation sub-blocks in an extended reservation's block my-block in table form,
        run:

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

        To list the URIs of all reservation blocks in an extended reservation, run:

        $ {command} extended-reservation --block-name=my-block --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)List2   z+List Compute Engine reservation sub-blocks.c                     [         R                  " 5       [        l        [        R                  R	                  USS9  [
        R                  " U5        g )Nlist)operation_type)r   GetReservationResourceArgr   ReservationArgAddArgumentr
   AddListFlags)clsparsers     3lib/surface/compute/reservations/sub_blocks/list.pyArgs	List.Args:   s:    'AACD##F6#B	v    c           	      N   UR                   n[        R                  R                  UUR                  [
        R                  R                  [        R                  " U5      S9nSUR                   SUR                   3nUR                  R                  nUR                  R                  U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  [.        R0                  " U5        U	$ )N)default_scopescope_listerzreservations/z/reservationBlocks/)
parentNamezoneprojectr   )requestshttp	batch_urlerrors)clientr   r   ResolveAsResource	resourcescompute_scope	ScopeEnumZONEcompute_flagsGetDefaultScopeListerreservation
block_nameapitools_clientreservationSubBlocksmessages&ComputeReservationSubBlocksListRequestr#   r$   r   r   MakeRequestsr&   r'   r   RaiseToolException)
selfargsholderr)   reservation_refparent_nameservicerequestr(   resultss
             r   _Run	List._Run@   s   ]]F 	--'1166&<<VD	 	. 	F  "/"="=!>>QRVRaRaQbcK$$99G55)',,*22 6 4  F>..FG,-##((""	 G v&Nr   c                 l    [         R                  " U R                  5       5      nU R                  X5      $ )zCreates and issues a reservationSubBlocks.list request.

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

Returns:
  List of reservation sub-blocks.
)r   ComputeApiHolderReleaseTrackrA   )r9   r:   r;   s      r   RunList.Run^   s,     **4+<+<+>?F99T""r    N)__name__
__module____qualname____firstlineno____doc__DETAILED_HELPdetailed_helpclassmethodr   rA   rF   __static_attributes__rH   r   r   r   r   2   s(     4- 
<
#r   r   N)rM   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r/   r   r,   /googlecloudsdk.command_lib.compute.reservationsr   :googlecloudsdk.command_lib.compute.reservations.sub_blocksrN   UniverseCompatibleReleaseTracksrE   ALPHABETAGAListCommandr   rH   r   r   <module>r^      s     2 &  ' 7 9 0 ( E E I L	
		& D%%++T->->-C-C%%((*3#4 3#* 3#r   