
    (
                         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	 r " S
 S\R                  5      rS rS rS rS rg)z&Utils for Service Extensions commands.    )absolute_import)division)unicode_literals)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>3   s    %%r   z6Only the following keys are valid for log level: [{}].z, c                 "    U R                  5       $ r)   )upper)xs    r   r,   r-   7   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   r1   items_ConvertToCamelCaser   DictToMessager2   )parsed_dictr   r9   keyvaluelog_config_dicts         r   GetLogConfigrB   ;   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).0r0   s     r   	<genexpr>&_ConvertToCamelCase.<locals>.<genexpr>G   s     7h7799hs      N)splitr8   )nameparts     r   r<   r<   D   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
ValueErrorr7   )tracks    r   GetApiVersionrS   J   s8    
d(((%%e,,
4;;EB
CCr   N)__doc__
__future__r   r   r   apitools.base.pyr   )googlecloudsdk.api_lib.service_extensionsr   googlecloudsdk.api_lib.utilr   googlecloudsdk.callioper	   r   ArgDictr   r   rB   r<   rS   r   r   r   <module>r[      sL    - &  ' % : , /

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