
                             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 r " S S\
R$                  5      rSSS.\l        g)zECommand for recreating instances managed by a managed instance group.    )absolute_import)division)unicode_literals)base_classes)instance_groups_utils)arg_parsers)base)flags)scopec                 N    U R                  S[        R                  " SS9SSSS9  g)	z
Adds args.z--instances   )
min_lengthINSTANCETzNames of instances to recreate.)typemetavarrequiredhelpN)add_argumentr   ArgListparsers    Alib/surface/compute/instance_groups/managed/recreate_instances.py_AddArgsr      s/    !,,  .    c                   .    \ rS rSrSr\S 5       rS rSrg)RecreateInstances(   7Recreate instances managed by a managed instance group.c                     U R                   R                  S5        [        U S9  [        R                  R                  U 5        g )Nzp
        table(project(),
              zone(),
              instanceName:label=INSTANCE,
              status)r   )display_info	AddFormatr   instance_groups_flags%MULTISCOPE_INSTANCE_GROUP_MANAGER_ARGAddArgumentr   s    r   ArgsRecreateInstances.Args+   s<    
!! # 
 F??KKr   c           	      `   [         R                  " U R                  5       5      nUR                  n[        R
                  n[        R                  R                  n[        R                  " U5      nUR                  UUR                  UUS9nUR                  5       S:X  aX  SnUR                  R                  UR!                  5       UR                  R#                  / S9UR$                  UR&                  S9n	OUR                  5       S:X  aX  SnUR                  R)                  UR!                  5       UR                  R+                  / S9UR$                  UR,                  S9n	O([/        S	R1                  UR                  5       5      5      e[2        R4                  " US
U	UUUR6                  S9$ )N)default_scopescope_listerzcompute.instanceGroupManagers-instanceGroupManagersRecreateInstancesRequest)	instances)instanceGroupManagerr*   projectzonez#compute.regionInstanceGroupManagers*regionInstanceGroupManagersRecreateRequest)r,   r/   r-   regionzUnknown reference type {0}r   )
api_holdermethod_namerequest_templateinstances_holder_fieldigm_refr+   )r   ComputeApiHolderReleaseTrackclientr"   r#   compute_scope	ScopeEnumZONEr
   GetDefaultScopeListerResolveAsResource	resources
Collectionmessages4ComputeInstanceGroupManagersRecreateInstancesRequestName-InstanceGroupManagersRecreateInstancesRequestr-   r.   :ComputeRegionInstanceGroupManagersRecreateInstancesRequest*RegionInstanceGroupManagersRecreateRequestr0   
ValueErrorformatr   *SendInstancesRequestsAndPostProcessOutputsr+   )
selfargsholderr8   resource_argr(   r)   r5   r4   requests
             r   RunRecreateInstances.Run6   s   **4+<+<+>?F]]F(NNL!++00M..v6L,,#!	 - #G >>NTT&||~8>8828F//|| U g 
			!F	FKZZ&||~5;__555C// [ g 3::



  ! ! !KK' 5.." "r    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr%   rN   __static_attributes__rP   r   r   r   r   (   s    ? ("r   r   r   a  
        *{command}* is used to recreate one or more instances in a managed
instance group. The underlying virtual machine instances are deleted and
recreated based on the latest instance template configured for the managed
instance group.

The command returns the operation status per instance, which might be ``FAIL'',
``SUCCESS'', or ``MEMBER_NOT_FOUND''. ``MEMBER_NOT_FOUND'' is returned only for
regional groups when the gcloud command-line tool wasn't able to resolve the
zone from the instance name.
)briefDESCRIPTIONN)rU   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   r	   "googlecloudsdk.command_lib.computer
   r   r9   2googlecloudsdk.command_lib.compute.instance_groupsr"   r   Commandr   detailed_helprP   r   r   <module>ra      sU    L &  ' 7 @ / ( 4 E ].6" 6"v 	B
		#  r   