
    	                         d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlm	Z	 ddl
mZ dd	l
mZ d
 Z ej                  d      Z ej                  d      Zd Zd Zd Zd ZddZd Zy)z*Common utility functions for the dns tool.    )absolute_import)division)unicode_literalsN)apis)base)
properties)	resourcesc                 6    | r| j                  d      r| S | dz   S )N.)endswith)names    &lib/googlecloudsdk/api_lib/dns/util.pyAppendTrailingDotr      s    T]]3/?TCZ?    z(.)([A-Z][a-z0-9]+)z([a-z0-9])([A-Z])c                 v    t         j                  d|       }t        j                  d|      j                         S )Nz\1_\2)_first_cap_resub_all_cap_reupper)r   s1s     r   CamelCaseToSnakeCaser   &   s.    4("	2	&	,	,	..r   c                 f    t         j                  j                         }|j                  d|        |S Ndns)r	   REGISTRYCloneRegisterApiByName)versionregistrys     r   GetRegistryr    +   s+    %%'(
UG,	/r   c                     | t         j                  j                  k(  ry| t         j                  j                  k(  ry| t         j                  j                  k(  ryy )Nv1beta2v1alpha2v1)r   ReleaseTrackBETAALPHAGA)tracks    r   GetApiFromTrackr*   1   sL    
d$$$
d%%%
d""" #r   c                 .    t        j                  d|       S r   )r   GetClientInstance)r   s    r   GetApiClientr-   :   s    			w	//r   c                     dt         j                  j                  j                  j                  i}| dk(  r|j
                  |d<   |(|dk(  r|j                  |d<   |dk(  r|j                  |d<   |S )Nprojectv2locationmanagedZonesmanagedZoneresponsePoliciesresponsePolicy)r   VALUEScorer/   	GetOrFailr1   zoneresponse_policy)r   argsparentparamss       r   GetParamsForRegistryr>   ?   st    z((--55??@&_F:"iif]##!%!5!5f	-r   c                 <    |j                  d      ryt        |       S )Nr1   r0   )IsSpecifiedr*   )r)   r;   s     r   GetApiFromTrackAndArgsrA   K   s     	j! 5!!r   )N)__doc__
__future__r   r   r   regooglecloudsdk.api_lib.utilr   googlecloudsdk.callioper   googlecloudsdk.corer   r	   r   compiler   r   r   r    r*   r-   r>   rA    r   r   <module>rJ      sj    1 &  ' 	 , ( * )@
 

01bjj,-/
0
	"r   