
                             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
S.r\R                  " \R                  R                  \R                  R                   5       " S S\R"                  5      5       rS r\\l        g)z;'Bare Metal Solution networks list-ip-reservations command.    )absolute_import)division)unicode_literals)	BmsClient)base)flags)utilzg
          List IP range reservations for Bare Metal Solution networks
          in a project.
        z
          To list IP range reservations for networks in the region
          `us-central1`, run:

            $ {command} --region=us-central1

          Or:

          To list all IP range reservations in the project, run:

            $ {command}
    )DESCRIPTIONEXAMPLESc                   .    \ rS rSrSr\S 5       rS rSrg)List0   zIList IP range reservations for Bare Metal Solution networks in a project.c                     [         R                  R                  U 5        [         R                  R                  U 5        [         R                  R                  U 5        [
        R                  " U 5        U R                  R                  S5        g)z Register flags for this command.ztable(name.segment(-1):label=NETWORK_NAME,id:label=NETWORK_ID,name.segment(-3):label=REGION,start_address:label=RESERVATION_START_ADDRESS,end_address:label=RESERVATION_END_ADDRESS,note:label=RESERVATION_NOTE)N)	r   PAGE_SIZE_FLAGRemoveFromParserSORT_BY_FLAGURI_FLAGr   AddRegionArgToParserdisplay_info	AddFormat)parsers    0lib/surface/bms/networks/list_ip_reservations.pyArgs	List.Args4   sg     	((0&&v.MM""6*	v& !!	"#    c              #      #    [         R                  " UR                  R                  R	                  5       5      n[        5       nUR                  X!R                  S9nU H  n[        U5       H  nUv   M	     M     g 7f)N)limit)	r	   FixParentPathWithGlobalRegionCONCEPTSregionParser   ListNetworksr   _ExtractReservations)selfargsr    clientnetworks_gennetworkreservations          r   RunList.RunF   se     //0D0D0J0J0LMF[F&&vZZ&@L-g6+ 7  s   A<A> N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r*   __static_attributes__r,   r   r   r   r   0   s    Q# #"r   r   c                     / nU R                    Ha  n0 nU R                  US'   U R                  US'   UR                  US'   UR                  US'   UR
                  US'   UR                  U5        Mc     U$ )z*Extracts reservations from network object.nameidstart_addressend_addressnote)reservationsr5   r6   startAddress
endAddressr9   append)r(   outresreservation_dicts       r   r#   r#   P   s~    
#!!c&||V$ZZT(+(8(8_%&)nn]#"xxVJJ  " 
*r   N)r1   
__future__r   r   r   %googlecloudsdk.api_lib.bms.bms_clientr   googlecloudsdk.callioper   googlecloudsdk.command_lib.bmsr   r	   DETAILED_HELPReleaseTracksReleaseTrackALPHAGAListCommandr   r#   detailed_helpr,   r   r   <module>rL      s    B &  ' ; ( 0 /	
	, D%%++T->->-A-AB4  C> # r   