
    -                        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S	.r
\R                  " \R                  R                  \R                  R                  5       " S
 S\R                  5      5       r\
\l        g)z,'Bare Metal Solution instances list command.    )	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.Args0   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.RunF   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.synthesizedInstanceM   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__r>   r   r   r   r   ,   s!    8 *!& r   r   N)rC   %googlecloudsdk.api_lib.bms.bms_clientr   googlecloudsdk.callioper   googlecloudsdk.command_lib.bmsr   r   googlecloudsdk.core.resourcer   DETAILED_HELPReleaseTracksReleaseTrackALPHAGAListCommandr   detailed_helpr>   r   r   <module>rQ      s    3 < ( 0 / ;	
	( D%%++T->->-A-ABF 4 F  CF R # r   