
                         V   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rSrS\ S\ 3rS r\R4                  " \R6                  R8                  5       " S S\
R:                  \R<                  5      5       r\R4                  " \R6                  R@                  5       " S S\5      5       r!\R4                  " \R6                  RD                  5       " S S\!5      5       r#SS0r$\$\l%        \$\!l%        \$\#l%        g)z+Creates or updates a Google Cloud Function.    )absolute_import)division)unicode_literals)base)flags)secrets_config)util)command)labels_util)env_vars_util)logzYou can disable this behavior by explicitly specifying the --no-gen2 flag or by setting the functions/gen2 config property to 'off'.zTo learn more about the differences between 1st gen and 2nd gen functions, visit:
https://cloud.google.com/functions/docs/concepts/version-comparisona  As of Cloud SDK 492.0.0 release, new functions will be deployed as 2nd gen functions by default. This is equivalent to currently deploying new with the --gen2 flag. Existing 1st gen functions will not be impacted and will continue to deploy as 1st gen functions.

c                 B   [         R                  " U S5        [         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 [        R                  [        R                  S9  [         R                  " U 5        [         R                  " U 5        [         R                   " U 5        [         R"                  " U 5        [$        R&                  " U 5        [$        R(                  " U 5        [         R*                  " U 5        [         R,                  " X5        [         R.                  " U 5        [         R0                  " U 5        [2        R4                  " U 5        [         R6                  " U 5        [         R8                  " U 5        [         R:                  " U 5        [         R<                  " U 5        [         R>                  " U 5        [         R@                  " U 5        [         RB                  " U 5        [         RD                  " U 5        [         RF                  " U 5        [         RH                  " U 5        [         RJ                  " U 5        [         RL                  " U 5        [         RN                  " U 5        [         RP                  " U 5        g)z%Register base flags for this command.z	to deploy)extra_update_messageextra_remove_messageN))r   AddFunctionResourceArgAddFunctionMemoryAndCpuFlagsAddAllowUnauthenticatedFlagAddFunctionRetryFlagAddFunctionTimeoutFlagAddMaxInstancesFlagAddMinInstancesFlagAddRuntimeFlagAddServiceAccountFlagargs_labels_utilAddUpdateLabelsFlagsr   &NO_LABELS_STARTING_WITH_DEPLOY_MESSAGEAddSourceFlagAddStageBucketFlagAddEntryPointFlagAddTriggerFlagGroupr   AddUpdateEnvVarsFlagsAddBuildEnvVarsFlagsAddIgnoreFileFlagAddRuntimeUpdatePolicyAddKMSKeyFlagsAddDockerRepositoryFlagsr   ConfigureFlagsAddVPCConnectorMutexGroupAddEgressSettingsFlagAddIngressSettingsFlagAddSecurityLevelFlagAddBuildWorkerPoolMutexGroupAddDockerRegistryFlagsAddRunServiceAccountFlagAddTriggerLocationFlagAddTriggerServiceAccountFlagAddGen2Flag$AddServeAllTrafficLatestRevisionFlagAddConcurrencyFlagAddBuildServiceAccountFlag AddBinaryAuthorizationMutexGroup)parsertracks     lib/surface/functions/deploy.py_CommonArgsr:   6   s#    v{3 $$V, ##F+V$v&F#F#vf%''&MM&MM f6"&! F# %%f- $$V, &! v- v  ( ' !!&)f%v&V$$$V, v&   (v&$$V,F,,V46" ""6* ((0    c                   4    \ rS rSrSr\S 5       rS rS rSr	g)Deploy   )Create or update a Google Cloud Function.c                 L    [        U [        R                  R                  5        g N)r:   r   ReleaseTrackGAr7   s    r9   ArgsDeploy.Args   s    )),,-r;   c                 F    [         R                  " XR                  5       S9$ )N)r8   )
command_v1RunrB   selfargss     r9   _RunV1Deploy._RunV1   s    >>$&7&7&9::r;   c                     U R                   (       d=  [        R                  " 5       (       d#  [        R                  R                  [        5        [        R                  " XR                  5       5      $ rA   )
_v2_functionr   ShouldUseGen2r   statusPrint_NEW_CHANGE_WARNING
command_v2rI   rB   rJ   s     r9   _RunV2Deploy._RunV2   sD    U%8%8%:%:	jj*+>>$ 1 1 344r;    N)
__name__
__module____qualname____firstlineno____doc__staticmethodrE   rM   rV   __static_attributes__rX   r;   r9   r=   r=      s!    1. .;5r;   r=   c                   (    \ rS rSrSr\S 5       rSrg)
DeployBeta   r?   c                 L    [        U [        R                  R                  5        gz<Register alpha (and implicitly beta) flags for this command.N)r:   r   rB   BETArD   s    r9   rE   DeployBeta.Args   s     ))../r;   rX   NrY   rZ   r[   r\   r]   r^   rE   r_   rX   r;   r9   ra   ra      s    10 0r;   ra   c                   (    \ rS rSrSr\S 5       rSrg)DeployAlpha   r?   c                     [        U [        R                  R                  5        [        R
                  " U 5        [        R                  " U 5        grd   )r:   r   rB   ALPHAr   AddBuildpackStackFlagAddAllDirectVpcFlagsrD   s    r9   rE   DeployAlpha.Args   s:     ))//0 
' 
v&r;   rX   Nrg   rX   r;   r9   ri   ri      s    1' 'r;   ri   EXAMPLESa          To deploy a function that is triggered by write events on the document
        ``/messages/{pushId}'', run:

          $ {command} my_function --runtime=python37 --trigger-event=providers/cloud.firestore/eventTypes/document.write --trigger-resource=projects/project_id/databases/(default)/documents/messages/{pushId}

        See https://cloud.google.com/functions/docs/calling for more details
        of using other types of resource as triggers.
        N)&r]   
__future__r   r   r   googlecloudsdk.callioper   $googlecloudsdk.command_lib.functionsr   r   r	   .googlecloudsdk.command_lib.functions.v1.deployr
   rH   r   .googlecloudsdk.command_lib.functions.v2.deployrU   r   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   _HOW_TO_DISABLE_CHANGE_LEARN_ABOUT_GEN_DIFFSrT   r:   ReleaseTracksrB   rC   FunctionResourceCommandCommandr=   re   ra   rl   ri   DETAILED_HELPdetailed_helprX   r;   r9   <module>r      s:   2 &  ' ( 6 ? 5 P F P H P #B L ; b  H1V D%%(()5T))4<< 5 *5" D%%**+0 0 ,0 D%%++,'* ' -'   
 % (
 ) r;   