
                            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	rS
\-   SR                  \5      S.rSr\R"                  \R$                  " \R&                  R(                  5       " S S\R*                  5      5       5       r\R"                  \R$                  " \R&                  R.                  \R&                  R0                  5       " S S\R*                  5      5       5       r\R5                  5       \l        \R                  \\
R8                  5      \R6                  S'   \R5                  5       \l        \R                  \\
R8                  5      \R6                  S'   g)zCommand for listing instances.    )base_classes)lister)utils)base)
completers)flags)	arg_utils	instanceszList Compute Engine zN          *{{command}}* displays all Compute Engine {0} in a project.
        )briefDESCRIPTIONa            To list all {0} in a project in table form, run:

            $ {{command}}

      To list the URIs of all {0} in a project, run:

            $ {{command}} --uri

      To list the IPv6 info of all {0} in a project, run:

            $ {{command}} --format="{1}"
    c                   .    \ rS rSrSr\S 5       rS rSrg)List4   .List Compute Engine virtual machine instances.c                    U R                   R                  [        R                  5        U R                   R	                  [        R
                  [        R                  S.5        U R                   R                  [        R                  " 5       5        [        R                  " U 5        U R                   R                  [        R                  5        g )Nexternal_ipinternal_ip)display_info	AddFormatr   DEFAULT_LIST_FORMAT_WITH_IPV6AddTransformsTransformInstanceExternalIpTransformInstanceInternalIp
AddUriFuncr   MakeGetUriFuncr   AddZonalListerArgsAddCacheUpdaterr   InstancesCompleterparsers    %lib/surface/compute/instances/list.pyArgs	List.Args9   s    
!!%"E"EF
%%8888'  ""5#7#7#9:
f%
''
(E(EF    c                 J   [         R                  " U R                  5       5      nUR                  n[        R
                  " XR                  5      n[        R                  " UUR                  R                  UR                  R                  S9n[        R                  " XE5      $ )N)clientzonal_serviceaggregation_service)r   ComputeApiHolderReleaseTrackr'   r   ParseMultiScopeFlags	resourcesMultiScopeListerapitools_clientr
   Invokeselfargsholderr'   request_datalist_implementations         r"   RunList.RunD   s}    **4+<+<+>?F]]F..t5E5EFL 11,,66"22<<>
 ==;;r%    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr#   r7   __static_attributes__r9   r%   r"   r   r   4   s      7G G<r%   r   c                   4    \ rS rSrSr\S 5       rS rS rSr	g)ListBetaR   r   c                    U R                   R                  [        R                  5        U R                   R	                  [        R
                  [        R                  S.5        U R                   R                  [        R                  " 5       5        [        R                  " U 5        U R                   R                  [        R                  5        U R                  SSSS.[         R"                  SS9  g )Nr   z--viewzVOutput contains all configuration details of the instance, including partner metadata.zhDefault output view. Output contains all configuration details of the instance, except partner metadata.)FULLBASICz9Specifies the information that the output should contain.)choicestypehelp)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   add_argumentr	   ChoiceToEnumNamer    s    r"   r#   ListBeta.ArgsW   s    
!!%"E"EF
%%8888'  ""5#7#7#9:
f%
''
(E(EF
0=	
 ''H  r%   c                 t    US:X  a  UR                   R                  $ US:X  a  UR                   R                  $ g )NrE   rF   )ViewValueValuesEnumrE   rF   )r2   viewrequest_messages      r"   _GetInstanceViewListBeta._GetInstanceViewq   s7    v~00555	00666r%   c           	         [         R                  " U R                  5       5      nUR                  n[        R
                  " XR                  5      n[        R                  " UUR                  R                  UR                  R                  U R                  UR                  UR                  R                  5      S9n[        R                  " XE5      $ )N)r'   r(   r)   instance_view_flag)r   r*   r+   r'   r   r,   r-   r.   r/   r
   rQ   rO   messagesComputeInstancesListRequestr0   r1   s         r"   r7   ListBeta.Runx   s    **4+<+<+>?F]]F..t5E5EFL 11,,66"22<<00IIvBB
	 ==;;r%   r9   N)
r:   r;   r<   r=   r>   r?   r#   rQ   r7   r@   r9   r%   r"   rB   rB   R   s#     7 2<r%   rB   EXAMPLESN)r>   googlecloudsdk.api_lib.computer   r   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   ,googlecloudsdk.command_lib.compute.instancesr   $googlecloudsdk.command_lib.util.apisr	   RESOURCE_TYPEformatDETAILED_HELPEXAMPLE_FORMATUniverseCompatibleReleaseTracksr+   GAListCommandr   ALPHABETArB   copydetailed_helpIPV6_INFO_LIST_FORMATr9   r%   r"   <module>rk      s[   % 8 1 0 ( 9 > : 	.	F=! D%%(()<4 < * <8 D%%++T->->-C-CD3<t 3< E 3<l #'') !/!6!65.."  :  '++- %3%:%:5..&  z "r%   