
                            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r\R4                  R6                  4S jr\R:                  \R<                  " \R4                  R6                  5       " S S\R>                  5      5       5       r g)Create a Cloud Run instance.    )base)
exceptions)parser_errors)config_changes)connection_context)container_parser)flags)messages_util)pretty_print)resource_args)serverless_operations)stages)concept_parsers)presentation_specs)
properties)	resources)progress_trackerz1us-docker.pkg.dev/cloudrun/container/hello:latestc                 (   Sn[         R                  " US9nUR                  [        R                  " [
        SS95        UR                  [        R                  " 5       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_INSTANCE_IMAGEPortArgMutexEnvVarsFlags
MemoryFlagCpuFlagGpuFlagArgsFlagSecretsFlagsCommandFlagDependsOnFlagAddVolumeMountFlagRemoveVolumeMountFlagClearVolumeMountsFlagStartupProbeFlag)r   	help_textgroups      #lib/surface/run/instances/create.pyContainerArgGroupr/   )   sa   )
 

)
,%nn1EB EMMO$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   r   z6          Creates a new Cloud Run instance.
          aU            To create a new instance `my-instance` on Cloud Run:

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

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

              $ {command} --image=us-docker.pkg.dev/project/image
          )DESCRIPTIONEXAMPLESc                 T   [         R                  " S[        R                  " 5       SSSS9n[        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        [        R(                  " U5        [        R*                  " U5        [        R,                  " U5        [        R.                  " U5        UR1                  5       n[        R2                  " U5        [4        R6                  " U/5      R9                  U5        UR:                  R=                  S
5        g )NINSTANCEzInstance to create.F)r   prefixesjob)resource_kind)
with_clearT)hiddennone)r   ResourcePresentationSpecr   GetInstanceResourceSpecr
   AddLabelsFlagAddServiceAccountFlagAddSetCloudSQLFlagAddVpcConnectorArg AddVpcNetworkGroupFlagsForCreateAddEgressSettingsFlagAddClientNameAndVersionFlagsAddBinAuthzPolicyFlagsAddBinAuthzBreakglassFlagAddCmekKeyFlagAddSandboxArgAddGeneralAnnotationFlagsAddVolumesFlagsReleaseTrackAddGpuTypeFlagGpuZonalRedundancyFlagAddIngressFlagAddInvokerIamCheckFlagAddTimeoutFlagadd_mutually_exclusive_groupAddAsyncFlagr   ConceptParserAddToParserdisplay_info	AddFormat)clsparserinstance_presentationpolling_groups       r.   
CommonArgsCreate.CommonArgs`   s    /GG--/ 
	'	V$	V$	**6G	'	&&v.	  E:	##F+	E2	t,	##F+	&"2"2"45	 	  (	 	  (	 779M	}%!!#8"9:FFvN
!!&)r0   c                 n    [         R                  U 5        [        5       n[        R                  " X5        g )N)r2   r]   r/   r	   AddContainerFlags)rZ   container_argss     r.   ArgsCreate.Args   s&    
f&(N&&v>r0   c           
         [         R                  " US5      (       a  U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                  " US5      (       d  [        R                  " SS9eUR                  R                  R                  5       nSnU(       a7  [         R                  " U5        UR!                  5       nUR#                  5       nO[$        R&                  R(                  R*                  R-                  5       n	U	(       d  [        R.                  " S	5      e[$        R&                  R0                  R2                  R-                  S
S9n
[4        R6                  R9                  SU
S9n[:        R<                  " U[         R>                  R@                  U RC                  5       5      n[         RD                  " XRC                  5       S9nURG                  [H        RJ                  " U RC                  5       5      5        [L        RN                  " USS9  [P        RR                  " U5       n[T        RV                  " [L        RX                  " XU5      5        Sn[Z        R\                  " U[^        R`                  " 5       SURb                  S9 nURe                  UUUUURb                  S9nSSS5        URb                  (       a.  [T        Rf                  " SRi                  WRj                  S95        O-[T        Rf                  " SRi                  WRj                  S95        UsSSS5        $ s  snnf ! , (       d  f       N= f! , (       d  f       g= f)z Deploy an Instance to Cloud Run.
containers
   z--containerz+Instances may include at most 10 containersr   z--image)argumentNz5The --region flag or run/region property must be set.T)r   zrun.namespaces)namespacesIdr   )resourcezCreating instance...zInstance failed to deploy)failure_messagesuppress_output)asynzGInstance [{{bold}}{instance}{{reset}}] is being created asynchronously.)instancezEInstance [{{bold}}{instance}{{reset}}] has successfully been created.)6r
   FlagIsExplicitlySetre   lenc_exceptionsInvalidArgumentExceptionitemsIsSpecifiedr   RequiredImageArgumentExceptionc_parser_errorsRequiredErrorCONCEPTSrm   ParseValidateResourceParentNamer   VALUESrunregionGetConfigurationErrorcoreprojectr   REGISTRYr2   r   GetConnectionContextProductRUNrM   GetInstanceConfigurationChangesappendr   SetLaunchStageAnnotationChanger   MaybeLogDefaultGpuTypeMessager   Connectr   InfoGetStartCreateInstanceMessager   StagedProgressTrackerr   InstanceStagesasync_CreateInstanceSuccessformatname)selfargsre   r   	containerneeds_imageinstance_refinstance_name
parent_refr~   r   conn_contextchanges
operations
header_msgtrackerrm   s                    r.   Run
Create.Run   s     |44??j	Z2	33H
 	

 ",!1!1!3!3od&&w/ $/!3  
 
77DD 
&&tW55))9====))//1LM\*&&(j"'')m   $$++//1f++C
 	
 !!&&..22D2Ag %%,,
 - j &::emm!2!2!4L 33--/G NN55d6G6G6IJ //tD		&	&|	4


5
5
 *j11




!5++	
 ,, - 
 
$fhmmf<	

 	6	

 C 
5	4Ud  
5	4s2   "NNA"N/;NA5N/
N,	(N//
N= N)__name__
__module____qualname____firstlineno____doc__detailed_helpclassmethodr]   staticmethodrb   r   __static_attributes__r   r0   r.   r2   r2   G   sG     %
	-( !* !*F ? ?
Sr0   r2   N)!r   googlecloudsdk.callioper   r   rp   r   ru   googlecloudsdk.command_lib.runr   r   r	   r
   r   r   r   r   r   (googlecloudsdk.command_lib.util.conceptsr   r   googlecloudsdk.corer   r   googlecloudsdk.core.consoler   r   rM   ALPHAr/   UniverseCompatibleReleaseTracksCommandr2   r   r0   r.   <module>r      s    # ) > D 9 = ; 5 0 8 7 8 @ 1 D G * ) 8 M  %)$5$5$;$; < D%%++,TT\\ T - Tr0   