
    	                         S r SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJ	r	  SSK
Jr  SS	K
Jr  S
 r\R                  " S5      r\R                  " S5      rS rS rS rS rSS jrS rg)z*Common utility functions for the dns tool.    )absolute_import)division)unicode_literalsN)apis)base)
properties)	resourcesc                 J    U (       a  U R                  S5      (       a  U $ U 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    [         R                  SU 5      n[        R                  SU5      R                  5       $ )Nz\1_\2)_first_cap_resub_all_cap_reupper)r   s1s     r   CamelCaseToSnakeCaser   &   s.    4("	2	&	,	,	..r   c                 f    [         R                  R                  5       nUR                  SU 5        U$ Ndns)r	   REGISTRYCloneRegisterApiByName)versionregistrys     r   GetRegistryr    +   s+    %%'(
UG,	/r   c                     U [         R                  R                  :X  a  gU [         R                  R                  :X  a  gU [         R                  R                  :X  a  gg )Nv1beta2v1alpha2v1)r   ReleaseTrackBETAALPHAGA)tracks    r   GetApiFromTrackr*   1   sL    
d$$$
d%%%
d""" #r   c                 0    [         R                  " SU 5      $ r   )r   GetClientInstance)r   s    r   GetApiClientr-   :   s    			w	//r   c                     S[         R                  R                  R                  R                  0nU S:X  a  UR
                  US'   Ub*  US:X  a  UR                  US'   US:X  a  UR                  US'   U$ )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                 F    UR                  S5      (       a  g[        U 5      $ )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      sf    1 &  ' 	 , ( * )@
 

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