
                         &   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S.r\R                  " \R                   R"                  \R                   R$                  5       " S S\R&                  5      5       r\\l        g)z,'Bare Metal Solution instances list command.    )absolute_import)division)unicode_literals)	BmsClient)base)flags)util)resource_projectorzD
          List Bare Metal Solution instances in a project.
        z
          To list instances in the region within the project ``us-central1'', run:

            $ {command} --region=us-central1

          Or:

          To list all instances in the project, run:

            $ {command}
    )DESCRIPTIONEXAMPLESc                   4    \ rS rSrSr\S 5       rS rS rSr	g)List/   z0List Bare Metal Solution instances in a project.c                    [         R                  R                  U 5        [         R                  R                  U 5        [         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=NAME,id:label=ID,name.segment(-5):label=PROJECT,name.segment(-3):label=REGION,machineType,clientNetworks[].ipAddress.notnull().list():label=CLIENT_IPS,privateNetworks[].ipAddress.notnull().list():label=PRIVATE_IPS,state)N)r   FILTER_FLAGRemoveFromParserPAGE_SIZE_FLAGSORT_BY_FLAGURI_FLAGr   FILTER_FLAG_NO_SORTBY_DOCAddToParserAddRegionArgToParserdisplay_info	AddFormat)parsers    !lib/surface/bms/instances/list.pyArgs	List.Args3   s     	%%f-((0&&v.MM""6*	##//7	v& !!	    c              #      #    [         R                  " UR                  R                  R	                  5       5      n[        5       nUR                  X!R                  S9 H  nU R                  XC5      nUv   M     g 7f)N)limit)	r	   FixParentPathWithGlobalRegionCONCEPTSregionParser   ListInstancesr!   synthesizedInstance)selfargsr$   clientinstancesynthesized_instances         r   RunList.RunI   sc     //0D0D0J0J0LMF[F((zz(B!55hG   Cs   A9A;c                 B   [         R                  " U5      n/ n/ nUR                   HU  nUR                  U5      (       a  UR	                  U5        M,  UR                  U5      (       d  MD  UR	                  U5        MW     U(       d  U(       d  UR                  (       ax  UR                   Hh  nUR                   HU  nUR                  U5      (       a  UR	                  U5        M,  UR                  U5      (       d  MD  UR	                  U5        MW     Mj     XCS'   XSS'   U$ )a	  Returns a synthesized Instance resource.

Synthesized Instance has additional lists of networks for client and
private.

Args:
  instance: protorpc.messages.Message, The BMS instance.
  client: BmsClient, BMS API client.

Returns:
  Synthesized Instance resource.

clientNetworksprivateNetworks)
r
   MakeSerializablenetworksIsClientNetworkappendIsPrivateNetworklogicalInterfaceslogicalNetworkInterfacesIsClientLogicalNetworkInterface IsPrivateLogicalNetworkInterface)	r(   r+   r*   r,   client_networksprivate_networksnetworklogical_interfacelogical_network_interfaces	            r   r'   List.synthesizedInstanceP   s    .>>xHO$$				(	(w'""7++(	 % $4!!'99
):)S)S%334MNN""#<=66') )##$=> *T  : .=)*.>*+r    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr   r-   r'   __static_attributes__rA   r   r   r   r   /   s!    8 *!& r   r   N)rF   
__future__r   r   r   %googlecloudsdk.api_lib.bms.bms_clientr   googlecloudsdk.callioper   googlecloudsdk.command_lib.bmsr   r	   googlecloudsdk.core.resourcer
   DETAILED_HELPReleaseTracksReleaseTrackALPHAGAListCommandr   detailed_helprA   r   r   <module>rU      s    3 &  ' ; ( 0 / ;	
	( D%%++T->->-A-ABF 4 F  CF R # r   