
    0                        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\R2                  " \R4                  R6                  5       " S S\R8                  \R:                  5      5       r\R2                  " \R4                  R>                  5       " S S\5      5       r \R2                  " \R4                  RB                  5       " S S\ 5      5       r"g)z,Displays details of a Google Cloud Function.    )absolute_import)division)unicode_literals)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)	Describe<   +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CONCEPTSr3   ParseRelativeNameReleaseTrackr	   ALPHA_v2_function_RunV2r   %decorate_v1_function_with_v2_api_infor   MessageToDict)selfr#   r   functionv2_functions        r   _RunV1Describe._RunV1G   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?   GetFunctionr:   r3   r;   r<   stateMessagesr   )rC   r#   r   rD   s       r   r@   Describe._RunV2X   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)rC   r#   s     r   rQ   Describe.Runa   s7    $ww[[''++D77r    N)__name__
__module____qualname____firstlineno____doc__staticmethodr0   rF   r@   rQ   __static_attributes__rS   r   r   r&   r&   <   s&    3 ,"8r   r&   c                       \ rS rSrSrSrg)DescribeBetaj   r(   rS   NrT   rU   rV   rW   rX   rZ   rS   r   r   r\   r\   j       3r   r\   c                       \ rS rSrSrSrg)DescribeAlphao   r(   rS   Nr^   rS   r   r   ra   ra   o   r_   r   ra   N)#rX   
__future__r   r   r   apitools.base.pyr   #googlecloudsdk.api_lib.functions.v1r   r4   #googlecloudsdk.api_lib.functions.v2r   rJ   r   googlecloudsdk.callioper	   $googlecloudsdk.command_lib.functionsr
   'googlecloudsdk.command_lib.functions.v1r   googlecloudsdk.corer   r   r   r$   ReleaseTracksr=   GArP   DescribeCommandr&   BETAr\   r>   ra   rS   r   r   <module>ro      s    3 &  ' % C C C ( 6 5 = # *$ D%%(()*8t++T-A-A *8 **8Z D%%**+48 4 ,4 D%%++,4L 4 -4r   