
    
                         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  ej                  d      Z	d Z
d	d
iZd Z ej                  d      Zd Z ej                  d      Zd Zd Zy)zBUtilities for converting resource names between OP and KRM styles.    )absolute_import)division)unicode_literalsN)
propertiesz6namespaces/(?P<NAMESPACE>.*?)/services/(?P<SERVICE>.*)c                     t         j                  j                  j                  j	                  d      }t
        j                  | j                               }|j                  d      }dj                  |||      S )zDConvert the Kubernetes-style service resource to One Platform-style.T)requiredSERVICEz:projects/{project}/locations/{location}/services/{service})projectlocationservice)
r   VALUEScorer
   Getkubernetes_refmatchRelativeNamegroupformat)service_resourceregionr
   partsr   s        >lib/googlecloudsdk/command_lib/run/resource_name_conversion.pyK8sToOnePlatformr      sq    ""**...='


/<<>
?%KK	"'	E	L	L 
M 
     workerPools
WorkerPoolc                 (    | t         v r	t         |    S | S )N)display_kinds_map)kinds    r   _GetKindr    .   s    	T""	+r   zLprojects/(?P<PROJECT>.*?)/locations/(?P<REGION>.*)/(?P<KIND>.*)/(?P<NAME>.*)c                     t         j                  |       }|j                  d      |j                  d      t        |j                  d            |j                  d      fS )OExtracts project, region, resource kind, and name from One Platform-style name.PROJECTREGIONKINDNAME)one_platform_resource_refr   r   r    	full_namer   s     r   GetInfoFromFullNamer*   9   sQ    
#
)
))
4%kk)kk(u{{6"#kk&	
 r   ztprojects/(?P<PROJECT>.*?)/locations/(?P<REGION>.*)/(?P<PARENT_KIND>.*)/(?P<PARENT_NAME>.*)/(?P<KIND>.*)/(?P<NAME>.*)c           	         t         j                  |       }|j                  d      |j                  d      |j                  d      |j                  d      t        |j                  d            |j                  d      fS )r"   r#   r$   PARENT_KINDPARENT_NAMEr%   r&   )one_platform_child_resource_refr   r   r    r(   s     r   GetInfoFromFullChildNamer/   I   si    
)
/
/	
:%kk)kk(kk- kk- u{{6"#kk&
 r   c                 "    t        |       ^ }}|S )z+Extracts name from One Platform-style name.)r/   )r)   _names      r   GetNameFromFullChildNamer3   V   s    %i0(1d	+r   )__doc__
__future__r   r   r   regooglecloudsdk.corer   compiler   r   r   r    r'   r*   r.   r/   r3    r   r   <module>r:      s    I &  ' 	 * =? < 
 'BJJS 
 #-"**{# 

r   