
    	                         S r SSKJr  SSKJr  SSKJr  SSKJr  S r	 " S S\R                  5      rS	 rS
 rS rS rg)z&Utils for Service Extensions commands.    )encoding)util)apis)arg_parsersc                      g)zSet default location to global.global r	       9lib/googlecloudsdk/command_lib/service_extensions/util.pySetLocationAsGlobalr      s    	r
   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )	LogConfig   c                    > [         [        U ]  [        R                  " 5       [        R
                  " SS5      [        U5      S.S/S9  g )Ng        g      ?)enablezsample-ratezmin-log-levelr   )specrequired_keys)superr   __init__r   
ArgBooleanBoundedFloat_GetLogLevelValidator)selfapi_version	__class__s     r   r   LogConfig.__init__   sG    	)T#!,,.&33C=2;?

  j $ r
   r	   )__name__
__module____qualname____firstlineno__r   __static_attributes____classcell__)r   s   @r   r   r      s     r
   r   c                   ^ [         R                  " SU 5      nUR                  R                  R	                  5       R                  5       m[        R                  " U4S jSR                  SR                  T5      5      S 5      $ )Nnetworkservicesc                    > U T;   $ Nr	   )klog_level_valuess    r   <lambda>'_GetLogLevelValidator.<locals>.<lambda>0   s    %%r
   z6Only the following keys are valid for log level: [{}].z, c                 "    U R                  5       $ r&   )upper)xs    r   r)   r*   4   s
    	r
   )
r   GetMessagesModuleWasmPluginLogConfigMinLogLevelValueValuesEnumto_dictkeysr   CustomFunctionValidatorformatjoin)r   messagesr(   s     @r   r   r   )   sv    ##$5{C( ""==EEGLLN  
	,	,%>EE
))$
% 
 r
   c                     [         R                  " SU5      nU R                  5        VVs0 s H  u  p4[        U5      X   _M     nnn[        R
                  " XRR                  5      $ s  snnf )Nr$   )r   r.   items_ConvertToCamelCaser   DictToMessager/   )parsed_dictr   r6   keyvaluelog_config_dicts         r   GetLogConfigr?   8   sm    ##$5{C( $))++*# # 00+   
		1M1M	NN	s   A(c                 f    U R                  S5      nUS   SR                  S USS  5       5      -   $ )z&Converts kebab-case name to camelCase.-r    c              3   @   #    U  H  oR                  5       v   M     g 7fr&   )title).0r-   s     r   	<genexpr>&_ConvertToCamelCase.<locals>.<genexpr>D   s     7h7799hs      N)splitr5   )nameparts     r   r9   r9   A   s3    	C$	a2777d12h77	77r
   c                     U [         R                  ;   a  [         R                  U    $ [        SR                  U 5      5      e)NzUnsupported Release Track: {})r   API_VERSION_FOR_TRACK
ValueErrorr4   )tracks    r   GetApiVersionrP   G   s8    
d(((%%e,,
4;;EB
CCr
   N)__doc__apitools.base.pyr   )googlecloudsdk.api_lib.service_extensionsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper   r   ArgDictr   r   r?   r9   rP   r	   r
   r   <module>rW      sC    - % : , /

## 
O8Dr
   