
                         z    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\R                  5      rg	)
z9Command for adding instances to unmanaged instance group.    )base_classes)instance_groups_utils)arg_parsers)base)flagsc                   2    \ rS rSrSrSr\S 5       rS rSr	g)AddInstances   zAdds instances to an unmanaged instance group by name.

  *{command}* adds existing instances to an unmanaged instance group
by name.
For example:

  $ {command} my-group \
      --instances my-instance-1,my-instance-2 --zone us-central1-a
Nc                     [         R                  " 5       [        l        [        R                  R	                  U 5        U R                  SS[        R                  " SS9SSS9  g )Nz--instancesT   )
min_lengthINSTANCEzA list of names of instances to add to the instance group. These must exist beforehand and must live in the same zone as the instance group.)requiredtypemetavarhelp)instance_groups_flagsMakeZonalInstanceGroupArgr	   ZONAL_INSTANCE_GROUP_ARGAddArgumentadd_argumentr   ArgList)parsers    >lib/surface/compute/instance_groups/unmanaged/add_instances.pyArgsAddInstances.Args'   s[     	779 )))55f=
  A.      c                 F   [         R                  " U R                  5       5      nUR                  n[        R
                  R                  XR                  S [        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"                  R+                  UR-                  5       U	UR                  UR                  S9n
UR/                  UR0                  R2                  SU
4/5      $ s  snf )	N)default_scopescope_lister)projectzonezcompute.instances)params
collection)instance)	instances)instanceGroup!instanceGroupsAddInstancesRequestr"   r!   r	   )r   ComputeApiHolderReleaseTrackclientr	   r   ResolveAsResource	resourcesr   GetDefaultScopeListerr&   Parser!   r"   appendr   ValidateInstanceInZonemessagesInstanceReferenceSelfLink!InstanceGroupsAddInstancesRequest(ComputeInstanceGroupsAddInstancesRequestNameMakeRequestsapitools_clientinstanceGroups)selfargsholderr+   	group_refinstance_referencesr%   refinstrequest_payloadrequests              r   RunAddInstances.Run5   s   **4+<+<+>?F]]F 	--??""44V< 	@ 	>  NN""
"**nn ) # *c   % # 001D1:A ()'D 	))4==?)C'  ) ooGG% H 'O ooFFnn&*9^^!!	 G G 

 
 
/
/	IJ )s   +1F )
__name__
__module____qualname____firstlineno____doc__r   staticmethodr   rD   __static_attributes__rF   r   r   r	   r	      s&     " &r   r	   N)rK   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   r   "googlecloudsdk.command_lib.computer   2googlecloudsdk.command_lib.compute.instance_groupsr   SilentCommandr	   rF   r   r   <module>rS      s3    @ 8 @ / ( 4 ]A4%% Ar   