
                            d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z ddlm
Z ddlmZ dd	Z ej                   ej"                  j$                         G d
 dej&                               Z ej                   ej"                  j*                  ej"                  j,                         G d de             Zddde_        y)z;Command for restarting instances of managed instance group.    )absolute_import)division)unicode_literals)base_classes)base)flags)rolling_actionc                 ^    t        j                  |        |rt        j                  |        yy)z
Adds args.N)instance_groups_managed_flagsAddMaxUnavailableArgAddMinReadyArg)parsersupports_min_readys     Elib/surface/compute/instance_groups/managed/rolling_action/restart.py_AddArgsr      s&    44V<!008     c                   &    e Zd ZdZed        Zd Zy)StartUpdate2Start restart instances of managed instance group.c                 X    t        |        t        j                  j                  |        y Nr   instance_groups_flags%MULTISCOPE_INSTANCE_GROUP_MANAGER_ARGAddArgumentr   s    r   ArgszStartUpdate.Args'   s!    V??KKr   c                    t        j                  | j                               }|j                  }|j                  }|j
                  j                  j                  j                  }|j                  t        j                  ||||      g      S r   )r   ComputeApiHolderReleaseTrackclient	resourcesmessages InstanceGroupManagerUpdatePolicyMinimalActionValueValuesEnumRESTARTMakeRequestsr	   CreateRequest)selfargsholderr!   r"   minimal_actions         r   RunzStartUpdate.Run-   sw    **4+<+<+>?F]]F  IooFF2277 $$T69nM   r   N)__name__
__module____qualname____doc__staticmethodr   r-    r   r   r   r   #   s    : 
	r   r   c                        e Zd ZdZed        Zy)StartUpdateAlphaBetar   c                 \    t        | d       t        j                  j                  |        y )NT)r   r   r   s    r   r   zStartUpdateAlphaBeta.Args=   s#    V-??KKr   N)r.   r/   r0   r1   r2   r   r3   r   r   r5   r5   9   s    : r   r5   z.Restarts instances in a managed instance groupa          *{command}* restarts instances in a managed instance group, effectively
        performing a stop and start request. Note, if your request
        requires that the instance be replaced to pick up changes, a forced
        `replace` will be performed instead.)briefDESCRIPTIONN)F)r1   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   2googlecloudsdk.command_lib.compute.instance_groupsr   r   :googlecloudsdk.command_lib.compute.instance_groups.managedr   r	   r   ReleaseTracksr    GACommandr   ALPHABETAr5   detailed_helpr3   r   r   <module>rD      s    B &  ' 7 ( ] m U9 D%%(()$,,  ** D%%++T->->-C-CD;  E 	9	0		 r   