
    &                        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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\R<                  R>                  4S jr \RB                  \RD                  " \R<                  R>                  5       " S S\RF                  5      5       5       r$\RD                  " \R<                  RJ                  5       " S S\$5      5       r&\RD                  " \R<                  RN                  5       " S S\&5      5       r(g)z<Deploy a container to Cloud Run that will run to completion.    )absolute_import)division)print_function)unicode_literals)base)
exceptions)parser_errors)config_changes)connection_context)container_parser)flags)messages_util)pretty_print)resource_args)serverless_operations)stages)concept_parsers)presentation_specs)log)progress_trackerz/us-docker.pkg.dev/cloudrun/container/job:latestc                    Sn[         R                  " US9nUR                  [        R                  " [
        S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 is specified the following arguments may only be specified after a --container flag.
helpF)imagerequiredrelease_track)r   ArgumentGroupAddArgumentr   ImageArgEXAMPLE_JOB_IMAGEMutexEnvVarsFlags
MemoryFlagCpuFlagGpuFlagArgsFlagSecretsFlagsCommandFlagDependsOnFlagAddVolumeMountFlagRemoveVolumeMountFlagClearVolumeMountsFlagStartupProbeFlag)r   	help_textgroups      lib/surface/run/jobs/create.pyContainerArgGroupr1   ,   sH   )
 

)
,%ENN):UKLE++-HIE$$&'EMMO$EMMO$ENN$%E&&()E%%'(E'')*E,,./E//12E//12E**,-	,    c                   H    \ rS rSrSrSSS.r\S 5       r\S 5       r	S r
S	rg
)CreateG   Create a Cloud Run job.z1          Creates a new Cloud Run job.
          aa            To deploy a new job `my-data-transformation` on 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 create.F)r   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 AddVpcNetworkGroupFlagsForCreate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        r0   
CommonArgsCreate.CommonArgs\   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 M 
""=dK	M*!!#3"45AA&I
!!&)r2   c                 n    [         R                  U 5        [        5       n[        R                  " X5        g )N)r4   rg   r1   r   AddContainerFlags)rc   container_argss     r0   ArgsCreate.Args   s&    
f&(N&&v>r2   c           	      `  ^ ^^^^^ [         R                  " TS5      (       a  TR                  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!     nnnU(       a  [        R                  " U5      eO0[         R                  " TS5      (       d  [        R                  " SS9eTR                  R                  R                  5       m[         R                  " T5        [         R"                  " T[         R$                  R&                  T R)                  5       5      n[         R*                  " TT R)                  5       S9nUR-                  [.        R0                  " T R)                  5       5      5        TR2                  =(       d    TR4                  m[6        R8                  " TS	S
9  [:        R<                  " U5       m[>        R@                  " [6        RB                  " UTSS5      5        T(       a  SmOSmUUUUUU 4S jn U" U5      u  pTRL                  (       a5  T(       d.  [>        RN                  " SRQ                  U	RR                  S95        OSnTR4                  (       a  USRQ                  U
RR                  5      -  nO%T(       a  USRQ                  U
RR                  5      -  n[>        RN                  " SRQ                  U	RR                  US95        SnT(       a-  U[6        RT                  " T R)                  5       U
5      -  nUS-  nU[6        RV                  " T R)                  5       U	RR                  TS9-  n[X        RZ                  R]                  U5        U	sS	S	S	5        $ s  snnf ! [        RD                   a_  n[         RF                  " T[I        U5      5      (       a3  UR-                  [.        RJ                  " SS95        U" U5      u  p S	nAGNUeS	nAff = f! , (       d  f       g	= f)zDeploy a Job to Cloud Run.
containers
   z--containerz&Jobs may include at most 10 containersr   z--image)argumentr   N)resourceCreatingr=   zCreating and running job...zCreating job...c           	        > [         R                  " T[        R                  " TTR                  S9STR
                  S9 nS nTR                  TXTR
                  =(       a    T(       + S9nT(       a7  TR                  TUTR                  TR
                  T	R                  5       5      nX24sS S S 5        $ ! , (       d  f       g = f)N)execute_nowinclude_completionzJob failed to deploy)failure_messagesuppress_output)asyn)	r   StagedProgressTrackerr   	JobStageswaitasync_	CreateJobRunJobrV   )
changes_tracker
execution_job_argsru   
header_msgjob_ref
operationsselfs
       r0   
_CreateJobCreate.Run.<locals>._CreateJob   s    33'DII 3 KK
 *%%x0OK & $ #**$))T[[$:K:K:MJ !!
 
 
s    A,B66
CF)gpu_zonal_redundancyz=Job [{{bold}}{job}{{reset}}] is being created asynchronously.)r=   zbeen createdz and completed execution [{}]z# and started running execution [{}]z:Job [{{bold}}{job}{{reset}}] has successfully {operation}.)r=   	operation 
)repeat)/r   FlagIsExplicitlySetro   lenc_exceptionsInvalidArgumentExceptionitemsIsSpecifiedr   RequiredImageArgumentExceptionc_parser_errorsRequiredErrorCONCEPTSr=   ParseValidateResourcer   GetConnectionContextProductRUNrV   GetJobConfigurationChangesappendr
   SetLaunchStageAnnotationChangeru   r|   r   MaybeLogDefaultGpuTypeMessager   Connectr   InfoGetStartDeployMessage	HttpErrorShouldRetryNoZonalRedundancystrGpuZonalRedundancyChanger}   SuccessformatnameGetExecutionCreatedMessageGetRunJobMessager   statusPrint)r   r   ro   r   	containerneeds_imageconn_contextchangesr   r=   	executioner   msgru   r   r   r   s   ``            @@@@r0   Run
Create.Run   sx     |44??j	Z2	33C
 	

 ",!1!1!3!3od&&w/ $/!3  
 
77DD 
&&tW55))9==mm%%'G	7#%::emm!2!2!4L ..'')+G NN55d6G6G6IJ ""/diiK//tD		&	&|	4


-
-GZ
 
2
&
" "&#G, 
[$ff2	

 #	99
6==innM
M)
<CCnn ) 	HOOHH	 P 	
 c	}77
 	
 	t	]++



sxx c 
jjsS 
5	45t !! 	--dCF;;
..55',
 &g..#y'	A 
5	4sK   (N#N#7AP=
N)EP)P=APPPPP
P- N)__name__
__module____qualname____firstlineno____doc__detailed_helpclassmethodrg   staticmethodrl   r   __static_attributes__r   r2   r0   r4   r4   G   sG      		-  )* )*V ? ?
kr2   r4   c                   (    \ rS rSrSr\S 5       rSrg)
BetaCreate   r6   c                     U R                  U5        [        [        R                  R                  S9n[
        R                  " XU R                  5       5        g Nr   )rg   r1   r   rV   BETAr   rj   rb   rc   rk   s      r0   rl   BetaCreate.Args   s@    NN6&T5F5F5K5KLN&& 0 0 2r2   r   Nr   r   r   r   r   r   rl   r   r   r2   r0   r   r      s     r2   r   c                   (    \ rS rSrSr\S 5       rSrg)AlphaCreatei	  r6   c                 
   U R                  U5        [        R                  " U5        [        R                  " U5        [	        [
        R                  R                  S9n[        R                  " XU R                  5       5        g r   )
rg   r   AddRuntimeFlagAddPriorityFlagr1   r   rV   ALPHAr   rj   r   s      r0   rl   AlphaCreate.Args  s\    NN6	 	&!&T5F5F5L5LMN&& 0 0 2r2   r   Nr   r   r2   r0   r   r   	  s     r2   r   N))r   
__future__r   r   r   r   googlecloudsdk.callioper   r   r   r	   r   googlecloudsdk.command_lib.runr
   r   r   r   r   r   r   r   r   (googlecloudsdk.command_lib.util.conceptsr   r   googlecloudsdk.corer   googlecloudsdk.core.consoler   r!   rV   GAr1   UniverseCompatibleReleaseTracksCommandr4   r   r   r   r   r   r2   r0   <module>r      s   C &  % ' ( > D 9 = ; 5 0 8 7 8 @ 1 D G # 8 F  %)$5$5$8$8 6 D%%(()pT\\ p * pf D%%**+	 	 ,	 D%%++,*  -r2   