
    48                        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rSSK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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\RJ                  5      r&\RN                  RP                  4S jr)\RT                  \RV                  " \RN                  RP                  5       " S S\RX                  5      5       5       r-\RV                  " \RN                  R\                  5       " S  S!\-5      5       r/\RV                  " \RN                  R`                  5       " S" S#\/5      5       r1g)$z<Deploy a container to Cloud Run that will run to completion.    )absolute_import)division)print_function)unicode_literalsN)api_enabler)base)
exceptions)docker_util)artifact_registry)config_changes)connection_context)container_parser)flags)messages_util)pretty_print)resource_args)serverless_operations)stages)concept_parsers)presentation_specs)log)
properties)
console_io)progress_trackerc                       \ rS rSrSrSrSrg)	BuildType0   
Dockerfile
Buildpacks N)__name__
__module____qualname____firstlineno__
DOCKERFILE
BUILDPACKS__static_attributes__r        lib/surface/run/jobs/deploy.pyr   r   0   s    **r(   r   c                    Sn[         R                  " US9nUR                  [        R                  " SU S95        UR                  [        R
                  " U S95        UR                  [        R                  " 5       5        UR                  [        R                  " 5       5        UR                  [        R                  " 5       5        UR                  [        R                  " 5       5        UR                  [        R                  " 5       5        UR                  [        R                  " 5       5        UR                  [        R                  " 5       5        UR                  [        R                  " 5       5        UR                  [        R                  " 5       5        UR                  [        R                  " 5       5        UR                  [        R                   " 5       5        U$ )z=Returns an argument group with all per-container deploy args.z
Container Flags

  If the --container or --remove-containers flag is specified the following
  arguments may only be specified after a --container flag.
helpz/us-docker.pkg.dev/cloudrun/container/job:latest)imagerelease_trackr.   )r   ArgumentGroupAddArgumentr   SourceAndImageFlagsMutexEnvVarsFlags
MemoryFlagCpuFlagGpuFlagArgsFlagSecretsFlagsCommandFlagDependsOnFlagAddVolumeMountFlagRemoveVolumeMountFlagClearVolumeMountsFlagStartupProbeFlag)r.   	help_textgroups      r)   ContainerArgGrouprA   5   sR   ) 

)
,%A% E++-HIE$$&'EMMO$EMMO$ENN$%E&&()E%%'(E'')*E,,./E//12E//12E**,-	,r(   c                   H    \ rS rSrSrSSS.r\S 5       r\S 5       r	S r
S	rg
)DeployU   !Create or update a Cloud Run job.z8          Creates or updates a Cloud Run job.
          aa            To deploy a new job `my-data-transformation` to Cloud Run:

              $ {command} my-data-transformation --image=us-docker.pkg.dev/project/image

          You may also omit the job name. Then a prompt will be displayed
          with a suggested default value:

              $ {command} --image=us-docker.pkg.dev/project/image
          )DESCRIPTIONEXAMPLESc                    [         R                  " S[        R                  " SS9SSSS9n[        R
                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " USS9  [        R                  " U5        [        R                  " U5        [        R                   " USS	9  [        R"                  " U5        [        R$                  " USS	9  [        R&                  " USS
9  [        R(                  " U5        [        R*                  " XR-                  5       5        [        R.                  " U5        [        R0                  " U5        UR3                  5       n[        R4                  " U5        UR7                  SS9n[        R8                  " USS9  [        R:                  " U5        [<        R>                  " U/5      RA                  U5        URB                  RE                  S5        g )NJOBT)promptzJob to deploy.F)requiredprefixesjob)resource_kind)
with_clear)hiddenz=--async cannot be used if executing the job after the update.r+   )implies_execute_nownone)#r   ResourcePresentationSpecr   GetJobResourceSpecr   AddLabelsFlagAddParallelismFlagAddTasksFlagAddMaxRetriesFlagAddTaskTimeoutFlagsAddServiceAccountFlagAddSetCloudSQLFlagAddVpcConnectorArg AddVpcNetworkGroupFlagsForUpdateAddEgressSettingsFlagAddClientNameAndVersionFlagsAddBinAuthzPolicyFlagsAddBinAuthzBreakglassFlagAddCmekKeyFlagAddSandboxArgAddGeneralAnnotationFlagsAddVolumesFlagsReleaseTrackAddGpuTypeFlagGpuZonalRedundancyFlagadd_mutually_exclusive_groupAddAsyncFlagadd_argument_groupAddWaitForCompletionFlagAddExecuteNowFlagr   ConceptParserAddToParserdisplay_info	AddFormat)clsparserjob_presentationpolling_groupexecute_groups        r)   
CommonArgsDeploy.CommonArgsj   s   )BB((5 
	V$	v	F#	f%	'	V$	V$	**6G	'	&&v.	  E:	##F+	E2	t,	##F+	&"2"2"45	 	  (779M	}%!44L 5 NM	""=dK	M*!!#3"45AA&I
!!&)r(   c                     [         R                  U 5        [        5       n[        R                  " X5        [
        R                  " 5       R                  U 5        g )N)rC   rw   rA   r   AddContainerFlagsr   RemoveContainersFlagro   )rs   container_argss     r)   ArgsDeploy.Args   s=    
f&(N&&v>	 ,,V4r(   c                   ^ ^^^^^^^^^^^^  [         R                  " TS5      (       a  TR                  nOST0n[        U5      S:  a  [        R
                  " SS5      eUR                  5        VVs0 s H  u  p4UR                  S5      (       a  M  X4_M!     snnm[        T5      S:  av  TR                  5        VVs/ s H%  u  p4[         R                  " US5      (       a  M#  UPM'     nnnU(       a  [        R                  " U5      e[        R
                  " SS	5      eTR                  5        H  u  p4[         R                  " US5      (       a  M#  [        R                  " 5       (       a  [         R                  " U5      Ul        MZ  U(       a  S
R                  U5      nOSn[        R                  " SU5      e   [         R"                  " 5       /nT(       a"  UR%                  S5        UR%                  S5        [         R&                  " [(        R*                  R,                  R.                  R1                  5       U5      mTR2                  R4                  R7                  5       m[         R8                  " T5        [:        R<                  " T[         R>                  R@                  T RC                  5       5      nSmSmSm Sn	SmT(       Ga  [E        [G        TRI                  5       5      5      nUR                  m [J        RL                  " [(        R*                  R,                  R.                  R1                  SS9[N        RP                  " T5      SS9n
[N        RR                  " U
TS9(       a  U
mSR                  U
RU                  5       TRV                  S9Ul,        T S-   n[Z        R\                  R_                  U5      (       a  [`        Rb                  nOSURX                  0/mT RC                  5       [d        RB                  Rf                  L aD  [i        USS5      nUb4  SRk                  U5      nTS   Rm                  SSR                  US905        [`        Rn                  nT(       a  SOURX                  mSR                  URp                  S 9n	[r        Rt                  " [v        Rx                  " TRV                  TT S!S"95        [         Rz                  " TT RC                  5       S#9nUR%                  [|        R~                  " T RC                  5       5      5        TR                  =(       d    TR                  m[        R                  " U5       mTR                  T5      m[v        R                  " TT5        [r        Rt                  " [v        R                  " UTU	S$5      5        Tc  S%OS&nT(       a'  T(       a   S'R                  UR                  5       5      mOQT(       a   S(R                  UR                  5       5      mO*T(       a  S)R                  U5      mOS*R                  U5      mUUUUUUUUUUUU U 4S+ jn U" U5      u  nnTR                  (       a5  T(       d.  [r        R                  " S.R                  UR                  S/95        OS0nTR                  (       a  US1R                  UR                  5      -  nO%T(       a  US2R                  UR                  5      -  n[r        R                  " S3R                  UR                  US495        SnT(       a-  U[v        R                  " T RC                  5       U5      -  nUS5-  nU[v        R                  " T RC                  5       UR                  TS69-  n[        R                  R                  U5        UsSSS5        $ s  snnf s  snnf ! [        R                   a`  n[         R                  " T[        U5      5      (       a4  UR%                  [|        R                  " S,S-95        U" U5      u  nn SnAGNUeSnAff = f! , (       d  f       g= f)7zDeploy a Job to Cloud Run.
containers 
   z--containerz&Jobs may include at most 10 containersr-      sourcez2At most one container can be deployed from source.zContainer {} requires a container image to deploy (e.g. `us-docker.pkg.dev/cloudrun/container/job:latest`) if no  build source is provided.z~Requires a container image to deploy (e.g. `us-docker.pkg.dev/cloudrun/container/job:latest`) if no  build source is provided.z--imagezartifactregistry.googleapis.comzcloudbuild.googleapis.comNzDeploying container toT)rK   zcloud-run-source-deploy)
project_idlocation_idrepo_id)skip_activation_promptz{repo}/{job})reporM   z/Dockerfilecommand r   envzGOOGLE_ENTRYPOINT="{command}")r   z6Building using {build_type} and deploying container to)
build_typezjobs )subgroupr/   rM   CreatingUpdatingzBuilding, {} and running job...zBuilding and {} job...z{} and running job...z	{} job...c                   > [         R                  " T[        R                  " TTR                  [        T5      TS LS9STR                  S9 nTR                  TU TR                  5       UTR                  =(       a    T(       + T	TTTT
TS9nS nT(       a7  TR                  TUTR                  TR                  TR                  5       5      nX#4sS S S 5        $ ! , (       d  f       g = f)N)execute_nowinclude_completioninclude_buildinclude_create_repozJob failed to deploy)failure_messagesuppress_output)asynbuild_image
build_packbuild_sourcerepo_to_createprefetchalready_activated_services)
r   StagedProgressTrackerr   	JobStageswaitboolasync_	DeployJobrf   RunJob)changes_trackerjob_
execution_r   argsbuild_from_sourcer   
header_msgr-   job_objjob_ref
operationspackr   selfr   s       r)   
_DeployJobDeploy.Run.<locals>._DeployJob(  s    33'#'99"#45$2$$>	 3 KK

 %%!KK3O!+)C & $ *#**$))T[[$:K:K:MJ !;

 

 

s   BC
C'F)gpu_zonal_redundancyz>Job [{{bold}}{job}{{reset}}] is being deployed asynchronously.)rM   zbeen deployedz and completed execution [{}]z# and started running execution [{}]z:Job [{{bold}}{job}{{reset}}] has successfully {operation}.)rM   	operation
)repeat)Tr   FlagIsExplicitlySetr   lenc_exceptionsInvalidArgumentExceptionitemsIsSpecifiedr	   RequiredImageArgumentExceptionr   	CanPromptPromptForDefaultSourcer   formatRequiredArgumentExceptionr   get_run_apiappendcheck_and_enable_apisr   VALUEScoreprojectGetCONCEPTSrM   ParseValidateResourcer   GetConnectionContextProductRUNrf   nextitervaluesr
   
DockerRepor   
RepoRegionShouldCreateRepositoryGetDockerStringjobsIdr-   ospathexistsr   r%   r   ALPHAgetattrjoinupdater&   valuer   Infor   %GetBuildEquivalentForSourceRunMessageGetJobConfigurationChangesr   SetLaunchStageAnnotationChanger   r   r   ConnectGetJobMaybeLogDefaultGpuTypeMessageGetStartDeployMessagelower	HttpErrorShouldRetryNoZonalRedundancystrGpuZonalRedundancyChanger   SuccessnameGetExecutionCreatedMessageGetRunJobMessager   statusPrint)!r   r   r   r   	containerneeds_imagemessagerequired_apisconn_contextoperation_messagear_repodocker_filer   command_argr   changesr   r   rM   	executionemsgr   r   r   r   r-   r   r   r   r   r   r   s!   ``                    @@@@@@@@@@@r)   Run
Deploy.Run   s     |44??j:j
:11
A   *//11OD$$W- 	1
 ! "3!8!8!:!:od**9h? !:  
 
77DD11
M  -224&&y(;;!!"99$?)
..4fTl . 
 66 # 5, !,,./M<=67!,!B!B&&**,m" mm%%'G	7#%::emm!2!2!4L EDF0Nt-44678if&&&&++33777F'2248+g
 
	1	1
*D
 ! '--&&(gnn . io ]*k		$	$))
)//*+$"3"3"9"99	9d;+$hh{+GGNN7>>w>OP ))
d	e
B***+  

=
=nndFW ..'')+G NN55d6G6G6IJ ""/diiK		&	&|	4
!!'*g11$@

-
-G%6
 !(*Zi	{6==ioo>OP
-44Y__5FG
,33I>
 ''	2
" " "@#G,Y 
[$ff2	

 $	99
6==innM
M)
<CCnn ) 	HOOHH	 P 	
 c	}77
 	
 	t	]++



sxx c 
jjs{ 
5	4_z !! 	--dCF;;
..55',
 &g..#y'	i 
5	4sW   4^-^- "^3&^3C.`0^9E`09`-A`( `0&`((`--`00
`>r    N)r!   r"   r#   r$   __doc__detailed_helpclassmethodrw   staticmethodr}   r   r'   r    r(   r)   rC   rC   U   sG     *		-  '* '*R 5 5Xr(   rC   c                   (    \ rS rSrSr\S 5       rSrg)
BetaDeployiv  rE   c                     U R                  U5        [        [        R                  R                  S9n[
        R                  " XU R                  5       5        [        R                  " 5       R                  U5        g Nr/   )
rw   rA   r   rf   BETAr   rz   r   r{   ro   rr   rs   r|   s      r)   r}   BetaDeploy.Argsz  sY    NN6&T5F5F5K5KLN&& 0 0 2 
 ,,V4r(   r    Nr!   r"   r#   r$   r  r  r}   r'   r    r(   r)   r  r  v  s    )5 5r(   r  c                   (    \ rS rSrSr\S 5       rSrg)AlphaDeployi  rE   c                 R   U R                  U5        [        [        R                  R                  S9n[
        R                  " XU R                  5       5        [        R                  " 5       R                  U5        [        R                  " U5        [        R                  " U5        g r	  )rw   rA   r   rf   r   r   rz   r   r{   ro   AddRuntimeFlagAddPriorityFlagr  s      r)   r}   AlphaDeploy.Args  su    NN6&T5F5F5L5LMN&& 0 0 2 
 ,,V4	 	&!r(   r    Nr  r    r(   r)   r  r    s    )" "r(   r  )2r  
__future__r   r   r   r   enumos.pathr   googlecloudsdk.api_lib.runr   googlecloudsdk.callioper   r	   r   $googlecloudsdk.command_lib.artifactsr
   googlecloudsdk.command_lib.runr   r   r   r   r   r   r   r   r   r   (googlecloudsdk.command_lib.util.conceptsr   r   googlecloudsdk.corer   r   googlecloudsdk.core.consoler   r   Enumr   rf   GArA   UniverseCompatibleReleaseTracksCommandrC   r
  r  r   r  r    r(   r)   <module>r#     s/   C &  % '   2 ( > < < 9 = ; 5 0 8 7 8 @ 1 D G # * 2 8		 
 %)$5$5$8$8 @ D%%(()\T\\ \ * \~ D%%**+
5 
5 ,
5 D%%++,"* " -"r(   