
                             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r " S S\R                   5      r " S S\R$                  5      rg)zThe Stop command.    )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.ArgsB   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.RunJ   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#   rH   r   r   r   r   r   r   $   s1      -. 1 13r   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>rS      sN      < 6 3 ( * # 2 8 9 

(( 
@34<< @3r   