
                            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
 rS r\R*                  " \R,                  R.                  5       " S S\R0                  \R2                  5      5       r\R*                  " \R,                  R6                  5       " S S\5      5       r\R*                  " \R,                  R:                  5       " S S\5      5       rg)z,Displays details of a Google Cloud Function.    )encoding)util)client)base)flags)	decorator)log)
propertiesc                     [         R                  " S5        [        R                  " U 5       H%  n[         R                  R                  SU-   5        M'     [         R                  R                  S5        g )Nz&Function has the following conditions:z   )r	   criticalapi_util_v2GetStateMessagesStringsstatusPrint)state_messagesstate_message_strings     !lib/surface/functions/describe.py_PrintV2StateMessagesr      sV    ,,78)AA JJT001 **2    c                    U R                  S5      (       a  [        R                  R                  R                  R                  5       (       a  U R                  (       a0  [        R                  " 5       (       d  [        R                  " S5        U R                  (       d2  [        R                  " 5       (       a  [        R                  " S5        ggggg)zValidate arguments.v2zYConflicting flags "--v2" and "--no-gen2" specified, Cloud Functions v2 APIs will be used.zYConflicting flags "--no-v2" and "--gen2" specified, Cloud Functions v2 APIs will be used.N)IsSpecifiedr
   VALUES	functionsgen2IsExplicitlySetr   r   ShouldUseGen2r	   warning)argss    r   _ValidateArgsr!   '   s     t



%
%
*
*
:
:
<
<wwu**,,	kk# 77u**,,	kk# -7 = r   c                   :    \ rS rSrSr\S 5       rS rS rS r	Sr
g)	Describe9   +Display details of a Google Cloud Function.c                     [         R                  " U S5        [         R                  " U SSS9  [         R                  " U 5        g)z Register flags for this command.zto describeT)hiddenallow_v2N)r   AddFunctionResourceArgAddGen2Flag	AddV2Flag)parsers    r   ArgsDescribe.Args=   s2     
  7	fTD9	OOFr   c                    [         R                  " 5       nUR                  R                  UR                  R                  UR                  R                  R                  5       R                  5       S95      nU R                  5       [        R                  R                  :X  a:  U R                  =(       d    U R                  U5      n[        R                   " X45      $ ["        R$                  " U5      $ )N)name)api_util_v1GetApiClientInstanceprojects_locations_functionsGetMESSAGES_MODULE2CloudfunctionsProjectsLocationsFunctionsGetRequestCONCEPTSr0   ParseRelativeNameReleaseTrackr   ALPHA_v2_function_RunV2r   %decorate_v1_function_with_v2_api_infor   MessageToDict)selfr    r   functionv2_functions        r   _RunV1Describe._RunV1D   s    --/F2266QQ##))+88: 	R 	
H d//555%%:T):k<<
 
 !!(++r   c                 @   [         R                  " U R                  5       5      nU R                  =(       d@    UR	                  UR
                  R                  R                  5       R                  5       SS9nUR                  (       a  [        UR                  5        U$ )NT)raise_if_not_found)	client_v2FunctionsClientr:   r<   GetFunctionr7   r0   r8   r9   stateMessagesr   )r@   r    r   rA   s       r   r=   Describe._RunV2U   s|    &&t'8'8':;F   F$6$6  "//1d %7 %H H223Or   c                     [        U5        UR                  (       a  U R                  U5      $ [        R                  R                  X5      $ )N)r!   r   r=   r   FunctionResourceCommandRun)r@   r    s     r   rN   Describe.Run^   s7    $ww[[''++D77r    N)__name__
__module____qualname____firstlineno____doc__staticmethodr-   rC   r=   rN   __static_attributes__rP   r   r   r#   r#   9   s&    3 ,"8r   r#   c                       \ rS rSrSrSrg)DescribeBetag   r%   rP   NrQ   rR   rS   rT   rU   rW   rP   r   r   rY   rY   g       3r   rY   c                       \ rS rSrSrSrg)DescribeAlphal   r%   rP   Nr[   rP   r   r   r^   r^   l   r\   r   r^   N)rU   apitools.base.pyr   #googlecloudsdk.api_lib.functions.v1r   r1   #googlecloudsdk.api_lib.functions.v2r   rG   r   googlecloudsdk.callioper   $googlecloudsdk.command_lib.functionsr   'googlecloudsdk.command_lib.functions.v1r   googlecloudsdk.corer	   r
   r   r!   ReleaseTracksr:   GArM   DescribeCommandr#   BETArY   r;   r^   rP   r   r   <module>rk      s    3 & C C C ( 6 5 = # *$ D%%(()*8t++T-A-A *8 **8Z D%%**+48 4 ,4 D%%++,4L 4 -4r   