
                             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 Start 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)VersionsStartError"   z(Errors occurring when starting versions. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       !lib/surface/app/versions/start.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)	Start'   zStart serving specified versions.

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

            $ {command} v1

          To start multiple named versions across all services, run:

            $ {command} v1 v2

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

            $ {command} --service=servicename v1

          To start multiple versions in a single service, run:

            $ {command} --service=servicename v1 v2
          c                 H    U R                  SSSS9  U R                  SSSS9  g )	Nversions+zCThe versions to start. (optionally filtered by the --service flag).)nargshelpz	--servicez-sz9If specified, only start versions from the given service.)r#   )add_argument)parsers    r   Args
Start.ArgsB   s9    

#M  P
T/  1r   c           
         [         R                  " U R                  5       5      nUR                  5       n[        R
                  " UR                  U5      UR                  UR                  5      nU(       d  [        R                  " S5        g Sn[        R                  " XE[        R                  S9  [        R                  " SS9  0 n[!        U["        S9 Hh  n [$        R&                  " SR)                  U5      5         [*        R,                  " UR.                  UR                  UR0                  5        S S S 5        Mj     U(       a  0 n	UR9                  5        H>  u  pzSR)                  UR                  UR0                  5      nS	R)                  X5      X'   M@     [;        S
R)                  SR=                  [?        U	RA                  5       5      5      5      SR=                  [?        U	RC                  5       5      5      -   5      eg ! , (       d  f       GMA  = f! [*        R2                   a$  n[4        R6                  " U5      Xg'    S nAGMw  S nAff = f)NzNo matching versions found.z.list[title="Starting the following versions:"])outT)cancel_on_no)keyzStarting [{0}]z	[{0}/{1}]z{0}: {1}z!Issues starting version(s): {0}

z, z

)"r   GetApiClientForTrackReleaseTrackListServicesr   GetMatchingVersionsListVersionsr    servicer   warningr   Printstatusr   PromptContinuesortedstrr   ProgressTrackerformatr   CallAndCollectOpErrorsStartVersionidMiscOperationErrorsix	text_typeitemsr   joinlistkeysvalues)selfargs
api_clientservicesr    fmterrorsversionerrprintable_errors	error_msg
short_names               r   Run	Start.RunJ   s    &::4;L;L;NOJ&&(H//)t||%H 	kk/0
:C8cjj940F(,---.>.E.Eg.NO

0
0%%w

D PO -  &
' ''D
'1'8'8'O$ !/ 
/
6
6ii-224568
++d+2245
678 8  PO // ---,-s6   %H 7H7H
H	HHI/IIr   N)
r   r   r   r   r   detailed_helpstaticmethodr&   rP   r   r   r   r   r   r   '   s1      -( 1 1#8r   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>r\      sU      &  ' ; 6 3 ( * # 2 8 9 
)) 
F8DLL F8r   