
    [                     "   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
 r\
R                  " \
R                  R                   5       " S S\
R"                  5      5       r\
R                  " \
R                  R&                  \
R                  R(                  5       " S S\5      5       r\R,                  " S\R.                  R0                  \R.                  R2                  45      \l        \R4                  \l        g)z$Command for listing instance groups.    )absolute_import)division)unicode_literals)base_classes)instance_groups_utils)lister)base)
completersc                     U R                   R                  S5        [        R                  " U SSS9  U R                   R	                  [
        R                  5        g)z(Adds flags common to all release tracks.z        table(
          name,
          location():label=LOCATION,
          location_scope():label=SCOPE,
          network.basename(),
          isManaged:label=MANAGED,
          size:label=INSTANCES
        )T)zonalregionalN)display_info	AddFormatr   AddMultiScopeListerFlagsAddCacheUpdaterr
   InstanceGroupsCompleterparsers    +lib/surface/compute/instance_groups/list.py_Argsr      sI     !  	!!&tD%%j&H&HI    c                   4    \ rS rSrSr\S 5       rS rS rSr	g)List+   z$List Compute Engine instance groups.c                 ~    [        U 5        U R                  5       nUR                  SSSS9  UR                  SSSS9  g )Nz--only-managed
store_truez@If provided, a list of managed instance groups will be returned.)actionhelpz--only-unmanagedzBIf provided, a list of unmanaged instance groups will be returned.)r   add_mutually_exclusive_groupadd_argument)r   managed_args_groups     r   Args	List.Args/   sU    	&M<<>##O $ Q ##" $ $r   c                    [         R                  R                  nUR                  (       a  [         R                  R                  nO+UR
                  (       a  [         R                  R                  n[         R                  " X2US9$ N)compute_holderitemsfilter_mode)r   InstanceGroupFilteringMode
ALL_GROUPSonly_managedONLY_MANAGED_GROUPSonly_unmanagedONLY_UNMANAGED_GROUPS%ComputeInstanceGroupManagerMembership)selfargsr'   holdermodes        r   ComputeDynamicPropertiesList.ComputeDynamicProperties=   sg     ;;FFD

:
:
N
N 			

:
:
P
P  !FF> >r   c                    [         R                  " U R                  5       5      nUR                  n[        R
                  " XR                  UR                  R                  R                  5      n[        R                  " UUR                  R                  UR                  R                  UR                  R                  S9nU R                  U[        R                  " XE5      U5      $ )N)zonal_serviceregional_serviceaggregation_service)r   ComputeApiHolderReleaseTrackclientr   ParseMultiScopeFlags	resourcesmessagesInstanceGroupMultiScopeListerapitools_clientinstanceGroupsregionInstanceGroupsr4   Invoke)r0   r1   r2   r<   request_datalist_implementations         r   RunList.RunI   s    **4+<+<+>?F]]F.. 6 6 D DFL !11,,;;//DD"22AA	C ((fmmL>H Hr    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr"   r4   rH   __static_attributes__rJ   r   r   r   r   +   s"    ,$ $
>Hr   r   c                   .    \ rS rSrSr\S 5       rS rSrg)ListBetaZ   z,List Compute Engine managed instance groups.c                     [        U 5        g )N)r   r   s    r   r"   ListBeta.Args^   s	    	&Mr   c                 ^    [         R                  " UU[         R                  R                  S9$ r%   )r   r/   r)   r*   )r0   r1   r'   r2   s       r   r4   !ListBeta.ComputeDynamicPropertiesb   s,     FF)DDOOQ Qr   rJ   N)	rK   rL   rM   rN   rO   rP   r"   r4   rQ   rJ   r   r   rS   rS   Z   s    4 Qr   rS   zinstance groupsN)rO   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r   ReleaseTracksr;   GAListCommandr   BETAALPHArS   GetMultiScopeListerHelp	ScopeTyperegional_scopezonal_scopedetailed_helprJ   r   r   <module>rg      s    + &  ' 7 @ 1 ( 9J D%%(()+H4 +H *+H\ D%%**D,=,=,C,CDQt Q EQ "99**L,B,B,N,NOQ  ++ r   