
                             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   " S S\R$                  5      rSSS.\l        g)z1Command for listing instances in instance groups.    )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   z8List Compute Engine instances present in instance group.c                 ,   U R                   R                  S5        U R                   R                  [        R                  5        [
        R                  R                  U 5        [        R                  " U 5        U R                   R                  S 5        g )Nzq        table(instance.basename():label=NAME,
          instance.scope().segment(0):label=ZONE,
          status))display_info	AddFormat
AddUriFuncr   $UriFuncForListInstanceRelatedObjectsinstance_groups_flagsMULTISCOPE_INSTANCE_GROUP_ARGAddArgumentr   AddRegexArgAddCacheUpdater)parsers    5lib/surface/compute/instance_groups/list_instances.pyArgsListInstances.Args"   sq    
!! #  ""BBD77CCFK	f
''-    c                    [         R                  " U R                  5       5      nUR                  n[        R
                  R                  XR                  [        R                  R                  [        R                  " U5      S9nUR                  (       a  SR                  UR                  5      nOSnUR                  5       S:X  an  UR                   R"                  nUR$                  R'                  UR)                  5       UR$                  R+                  5       UR,                  UUR.                  S9nOmUR                   R0                  nUR$                  R3                  UR)                  5       UR$                  R5                  5       UR6                  UUR.                  S9n/ n[8        R:                  " USU4/UR                   R<                  UR>                  US9n	U(       a  [@        RB                  " U5        U	$ )	z7Retrieves response with instance in the instance group.)default_scopescope_listerzinstance eq {0}Nzcompute.instanceGroups)instanceGroup"instanceGroupsListInstancesRequestzonefilterproject)r"   (regionInstanceGroupsListInstancesRequestregionr%   r&   r   )requestshttp	batch_urlerrors)"r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_scope	ScopeEnumZONEr   GetDefaultScopeListerregexpformat
Collectionapitools_clientinstanceGroupsmessages)ComputeInstanceGroupsListInstancesRequestName"InstanceGroupsListInstancesRequestr$   r&   regionInstanceGroups/ComputeRegionInstanceGroupsListInstancesRequest(RegionInstanceGroupsListInstancesRequestr(   r   MakeRequestsr*   r+   r	   RaiseToolException)
selfargsholderr/   	group_reffilter_exprservicerequestr,   resultss
             r   RunListInstances.Run.   s   **4+<+<+>?F]]F 	;;MM""'116644V< 	N 	>  {{%,,T[[9kk!99&&55gII!(oo@@B~~## J %g &&;;gOO!(ooFFH!!## P %g F))OW56##((""	G v&Nr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rL   __static_attributes__rN   r   r   r   r      s    @	. 	.-r   r   z,List instances present in the instance groupaH            *{command}* list instances in an instance group.

          The required permission to execute this command is
          `compute.instanceGroups.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
          *   Compute Network Viewer
          *   Editor
          *   Owner
          *   Security Reviewer
          *   Viewer

          For more information regarding permissions required by
          instance groups, refer to Compute Engine's access control guide:
          https://cloud.google.com/compute/docs/access/iam.
        )briefDESCRIPTIONN)rS   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r   r	   googlecloudsdk.callioper
   "googlecloudsdk.command_lib.computer   r   r2   2googlecloudsdk.command_lib.compute.instance_groupsr   ListCommandr   detailed_helprN   r   r   <module>r_      sR    8 &  ' 7 @ 9 0 ( 4 E ]<D$$ <B 	7		 r   