
    
                     v   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
 rSr\
R&                  " S\S9\
R(                  " \
R*                  R,                  \
R*                  R.                  \
R*                  R0                  5       " S S\
R2                  5      5       5       rg)z@Command for waiting until managed instance group becomes stable.    )absolute_import)division)unicode_literals)base_classes)
wait_utils)base)flags)scopec                 l    U R                  S[        SS9  [        R                  R	                  U 5        g)z
Adds args.z	--timeoutz9Timeout in seconds for waiting for group becoming stable.)typehelpN)add_argumentintinstance_groups_flags%MULTISCOPE_INSTANCE_GROUP_MANAGER_ARGAddArgumentparsers    @lib/surface/compute/instance_groups/managed/wait_until_stable.py_AddArgsr      s8    k3  4 ==II    z`gcloud compute instance-groups managed wait-until-stable` is deprecated. Please use `gcloud compute instance-groups managed wait-until --stable` instead.F)
is_removedwarningc                   8    \ rS rSrSrSr\S 5       rS rS r	Sr
g)	WaitUntilStable,   z6Waits until state of managed instance group is stable.
   c                     [        U S9  g )Nr   )r   r   s    r   ArgsWaitUntilStable.Args4   s
    Fr   c                     [         R                  R                  UU[        R                  R
                  [        R                  " U5      S9$ )N)default_scopescope_lister)r   r   ResolveAsResourcecompute_scope	ScopeEnumZONEr	   GetDefaultScopeLister)selfclient	resourcesargss       r   CreateGroupReference$WaitUntilStable.CreateGroupReference8   sE    !GG+55::"88@	  BBr   c                    [         R                  " U R                  5       5      nUR                  nU R	                  X2R
                  U5      n[        R                  " X4[        R                  R                  UR                  5        g)z8Issues requests necessary to wait until stable on a MIG.N)r   ComputeApiHolderReleaseTrackr*   r-   r+   r   WaitForIgmStateIgmStateSTABLEtimeout)r)   r,   holderr*   	group_refs        r   RunWaitUntilStable.Run@   sb    **4+<+<+>?F]]F))&2B2BDII:..55t||Er    N)__name__
__module____qualname____firstlineno____doc___TIME_BETWEEN_POLLS_SECstaticmethodr   r-   r8   __static_attributes__r:   r   r   r   r   ,   s+     ? BEr   r   N)r?   
__future__r   r   r   googlecloudsdk.api_lib.computer   6googlecloudsdk.api_lib.compute.instance_groups.managedr   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r
   r%   2googlecloudsdk.command_lib.compute.instance_groupsr   r   _DEPRECATION_WARNING	DeprecateReleaseTracksr1   GABETAALPHACommandr   r:   r   r   <module>rP      s    G &  ' 7 M ( 4 E ]  5*>?D%%(($*;*;*@*@%%++-Edll E- @Er   