
                             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	\R                  5      rg
)z>Command for removing instances from unmanaged instance groups.    )base_classes)instance_groups_utils)arg_parsers)base)flags)scopec                   .    \ rS rSrSr\S 5       rS rSrg)RemoveInstances   zRemoves resources from an unmanaged instance group by instance name.

  *{command}* removes instances from an unmanaged instance group using
the instance name.

This does not delete the actual instance resources but removes
it from the instance group.
c                     [         R                  " 5       [        l        [        R                  R	                  U 5        U R                  SS[        R                  " SS9SSS9  g )Nz--instancesT   )
min_lengthINSTANCEz=The names of the instances to remove from the instance group.)requiredtypemetavarhelp)instance_groups_flagsMakeZonalInstanceGroupArgr
   ZONAL_INSTANCE_GROUP_ARGAddArgumentadd_argumentr   ArgList)parsers    Alib/surface/compute/instance_groups/unmanaged/remove_instances.pyArgsRemoveInstances.Args%   sZ     	779 ,,,88@
  A.L  N    c                 v   [         R                  " U R                  5       5      nUR                  n[        R
                  R                  XR                  [        R                  R                  [        R                  " U5      S9n/ nUR                   HF  nUR                  R                  UUR                  UR                   S.SS9nUR#                  U5        MH     [$        R&                  " UUR                   5        U Vs/ s H*  nUR(                  R+                  UR-                  5       S9PM,     nnUR(                  R/                  US9n	UR(                  R1                  UR3                  5       U	UR                   UR                  S9n
UR5                  UR6                  R8                  SU
4/5      $ s  snf )	N)default_scopescope_lister)projectzonezcompute.instances)params
collection)instance)	instances)instanceGroup$instanceGroupsRemoveInstancesRequestr#   r"   r
   )r   ComputeApiHolderReleaseTrackclientr
   r   ResolveAsResource	resourcescompute_scope	ScopeEnumZONEr   GetDefaultScopeListerr'   Parser"   r#   appendr   ValidateInstanceInZonemessagesInstanceReferenceSelfLink$InstanceGroupsRemoveInstancesRequest+ComputeInstanceGroupsRemoveInstancesRequestNameMakeRequestsapitools_clientinstanceGroups)selfargsholderr,   	group_refinstance_referencesr&   refinstrequest_payloadrequests              r   RunRemoveInstances.Run2   s   **4+<+<+>?F]]F 	00BB""'116644V< 	C 	>  NN""
"**nn ) # *c   % # 001D1:A
 ()'D 	))4==?)C'  ) ooJJ% K 'O ooIInn&-<^^!!	 J G !7!7!F!F!2G!=  > ? ?)s   1F6 N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rH   __static_attributes__rJ   r   r   r
   r
      s"     
N 
N&?r   r
   N)rO   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   r   "googlecloudsdk.command_lib.computer   r   r/   2googlecloudsdk.command_lib.compute.instance_groupsr   SilentCommandr
   rJ   r   r   <module>rW      s4    E 8 @ / ( 4 E ]=?d(( =?r   