
    Q                     P   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
KJr  SSKJr  SS
KJr  \R$                  \R&                  " \R(                  R*                  5       " S S\R,                  5      5       5       rSSSS.\l        \R&                  " \R(                  R2                  5       " S S\5      5       r\R0                  \l        \R&                  " \R(                  R6                  5       " S S\5      5       r\R0                  \l        g)zomanaged-instance-groups list-instances command.

It's an alias for the instance-groups list-instances command.
    )absolute_import)division)unicode_literals)base_classes)instance_groups_utils)request_helper)utils)base)flags)scopec                   .    \ rS rSrSr\S 5       rS rSrg)ListInstances"   @List Compute Engine instances present in managed instance group.c                     [         R                  " U 5        U R                  R                  [        R
                  5        [         R                  R                  U 5        g )N)instance_groups_flagsAddListInstancesOutputFormatdisplay_info
AddUriFuncr   $UriFuncForListInstanceRelatedObjects%MULTISCOPE_INSTANCE_GROUP_MANAGER_ARGAddArgumentparsers    =lib/surface/compute/instance_groups/managed/list_instances.pyArgsListInstances.Args'   sE    66v>
""BBD??KK    c           	      f   [         R                  " U R                  5       5      nUR                  n[        R
                  R                  UUR                  [        R                  R                  [        R                  " U5      S9n[        US5      (       aT  UR                  R                  nUR                   R#                  UR%                  5       UR&                  UR(                  S9nOd[        US5      (       aS  UR                  R*                  nUR                   R-                  UR%                  5       UR.                  UR(                  S9n/ n[1        [2        R4                  " WSW4/UR                  R6                  UR8                  US95      nU(       a  [:        R<                  " U5        U$ )z7Retrieves response with instance in the instance group.)default_scopescope_listerzone)instanceGroupManagerr"   projectregion)r#   r%   r$   ListManagedInstances)requestshttp	batch_urlerrors)r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_scope	ScopeEnumZONEr   GetDefaultScopeListerhasattrapitools_clientinstanceGroupManagersmessages7ComputeInstanceGroupManagersListManagedInstancesRequestNamer"   r$   regionInstanceGroupManagers=ComputeRegionInstanceGroupManagersListManagedInstancesRequestr%   listr   MakeRequestsr(   r)   r	   RaiseToolException)	selfargsholderr-   	group_refservicerequestr*   resultss	            r   RunListInstances.Run/   s{   **4+<+<+>?F]]F&LL""%%#0#:#:#?#?"'"="=f"E	 # G  y&!!&&<<gHH*3..*:#..&.. I 0 
 
H	%	%&&BBgNN*3..*:%,,&.. O 0  F>..2G<=##((""	 G v&Nr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rF   __static_attributes__rH   r   r   r   r   "   s     I $r   r   z4List instances present in the managed instance groupa[            *{command}* lists instances in a managed instance group.

          The required permission to execute this command is
          `compute.instanceGroupManagers.list`. If needed, you can include this
          permission, or choose any of the following preexisting IAM roles
          that contain this particular permission:

          *   Compute Admin
          *   Compute Viewer
          *   Compute Instance Admin (v1)
          *   Compute Instance Admin (beta)
          *   Compute Network Admin
          *   Editor
          *   Owner
          *   Security Reviewer
          *   Viewer

          For more information regarding permissions required by managed
          instance groups, refer to Compute Engine's access control guide :
          https://cloud.google.com/compute/docs/access/iam#managed-instance-groups-and-iam.
        z        To see additional details about the instances in a managed instance
        group `my-group`, including per-instance overrides, run:

            $ {command} \
                  my-group --format=yaml
        )briefDESCRIPTIONEXAMPLESc                   (    \ rS rSrSr\S 5       rSrg)ListInstancesBeta{   r   c                     [         R                  " U [        R                  R                  S9  U R
                  R                  [        R                  5        [         R                  R                  U 5        g N)release_track)r   r   r
   r,   BETAr   r   r   r   r   r   r   s    r   r   ListInstancesBeta.Args   sV    66d//446
""BBD??KKr   rH   N)rI   rJ   rK   rL   rM   rN   r   rO   rH   r   r   rT   rT   {   s    H r   rT   c                   <   ^  \ rS rSrSrU 4S jr\S 5       rSrU =r	$ )ListInstancesAlpha   r   c                    > [         TU ]  U5      nUR                  (       dJ  UR                  S5      (       d4  [        R
                  " U[        R                  R                  5      Ul	        U$ )Nformat)
superrF   uriIsSpecifiedr   'GetListInstancesOutputWithDynamicFieldsr
   r,   ALPHAr_   )r?   r@   managed_instances	__class__s      r   rF   ListInstancesAlpha.Run   sY    D) 88D,,X66

G
G!2!2!8!8 k
 r   c                     [         R                  " U [        R                  R                  S9  U R
                  R                  [        R                  5        [         R                  R                  U 5        g rW   )r   r   r
   r,   rd   r   r   r   r   r   r   r   s    r   r   ListInstancesAlpha.Args   sV    66d//557
""BBD??KKr   rH   )
rI   rJ   rK   rL   rM   rF   rN   r   rO   __classcell__)rf   s   @r   r\   r\      s    H
  r   r\   N)rM   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r   r	   googlecloudsdk.callioper
   "googlecloudsdk.command_lib.computer   r   r0   2googlecloudsdk.command_lib.compute.instance_groupsr   UniverseCompatibleReleaseTracksr,   GAListCommandr   detailed_helprY   rT   rd   r\   rH   r   r   <module>ru      s  
 '  ' 7 @ 9 0 ( 4 E ] D%%(()/D$$ / * /h 	?	.	7" J D%%**+
 
 ,
 #0"="=   D%%++,  -2 $5#B#B   r   