
    L                         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SKJr  SSKJr  SSKr " S S\R(                  5      r " S S\
R,                  5      rg)zThe Stop command.    )absolute_import)division)unicode_literals)appengine_api_client)operations_util)version_util)base)
exceptions)log)
console_io)progress_tracker)resource_printerNc                       \ rS rSrSrSrg)VersionsStopError"   z(Errors occurring when stopping versions. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r        lib/surface/app/versions/stop.pyr   r   "   s    0r   r   c                   6    \ rS rSrSrSS0r\S 5       rS rSr	g)	Stop'   zStop serving specified versions.

This command stops serving the specified versions. It may only be used if the
scaling module for your service has been set to manual.
EXAMPLESa@            To stop a specific version across all services, run:

            $ {command} v1

          To stop multiple named versions across all services, run:

            $ {command} v1 v2

          To stop a single version on a single service, run:

            $ {command} --service=servicename v1

          To stop multiple versions in a single service, run:

            $ {command} --service=servicename v1 v2

          Note that that last example may be more simply written using the
          `services stop` command (see its documentation for details).
          c                 H    U R                  SSSS9  U R                  SSSS9  g )	Nversions+zAThe versions to stop (optionally filtered by the --service flag).)nargshelpz	--servicez-sz8If specified, only stop versions from the given service.)r#   )add_argument)parsers    r   Args	Stop.ArgsE   s9    

#K  N
T/  1r   c           	      z   [         R                  " U R                  5       5      nUR                  5       n[        R
                  " UR                  U5      UR                  UR                  5      nU(       a:  Sn[        R                  " XE[        R                  S9  [        R                  " SS9  O[        R                  " S5        / n[!        U["        S9 Hg  n [$        R&                  " SR)                  U5      5         [*        R,                  " UR.                  UR                  UR0                  SS9  S S S 5        Mi     U(       a  [;        S	R=                  U5      5      eg ! , (       d  f       M  = f! [*        R2                   a0  nUR5                  [6        R8                  " U5      5         S nAM  S nAff = f)
Nz.list[title="Stopping the following versions:"])outT)cancel_on_nozNo matching versions found.)keyzStopping [{0}])blockz

)r   GetApiClientForTrackReleaseTrackListServicesr   GetMatchingVersionsListVersionsr    servicer   Printr   statusr   PromptContinuewarningsortedstrr   ProgressTrackerformatr   CallAndCollectOpErrorsStopVersionidMiscOperationErrorappendsix	text_typer   join)	selfargs
api_clientservicesr    fmterrorsversionerrs	            r   RunStop.RunM   sJ    &::4;L;L;NOJ&&(H//)t||%H <cX

;T2	kk/0F(,*--.>.E.Eg.NO

0
0$$goowzzO PO - fkk&122  PO // *cmmC())*s6   %E6 6E$6E6$
E3	.E63E66F:
%F55F:r   N)
r   r   r   r   r   detailed_helpstaticmethodr&   rK   r   r   r   r   r   r   '   s1      -. 1 13r   r   )r   
__future__r   r   r   googlecloudsdk.api_lib.appr   r   r   googlecloudsdk.callioper	   googlecloudsdk.corer
   r   googlecloudsdk.core.consoler   r   googlecloudsdk.core.resourcer   r@   Errorr   Commandr   r   r   r   <module>rW      sU      &  ' ; 6 3 ( * # 2 8 9 

(( 
@34<< @3r   