
    Q                         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\
R                  5      rg)z9Command for adding instances to unmanaged instance group.    )absolute_import)division)unicode_literals)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.Run8   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   rG   __static_attributes__rI   r    r   r   r      s&     " &r    r   N)rN   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   r	   "googlecloudsdk.command_lib.computer
   2googlecloudsdk.command_lib.compute.instance_groupsr   SilentCommandr   rI   r    r   <module>rW      s:    @ &  ' 7 @ / ( 4 ]A4%% Ar    