Ë
    €ÏÄ
  ã                   ó¬   — d Z ddlmZ ddlmZ ddlmZ ddl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d
lmZ dZej"                  d„ «       Zd„ Zd„ Zy)z<Utilities for regionalizing Assured Workloads API endpoints.é    )Úabsolute_import)Údivision)Úunicode_literalsN)Úutil)Úapis)Úlog)Ú
properties)Úparsez.((staging|autopush|dev)-)?(assuredworkloads.*)c              #   ó.  K  — t        | |«      }t        j                  j                  j                  j                  «       }	 t        j                  j                  dj                  |«      «       |r3t        j                  j                  j                  j                  |«       d–— t        j                  j                  j                  j                  |«      }y# t        j                  j                  j                  j                  |«      }w xY w­w)zôContext manager to regionalize Assured endpoints using a provided region.

  Args:
    release_track: str, Release track of the command being called.
    region: str, Region to use for regionalizing the Assured endpoint.

  Yields:
    None.
  zUsing endpoint [{}]N)Ú$GetEffectiveAssuredWorkloadsEndpointr	   ÚVALUESÚapi_endpoint_overridesÚassuredworkloadsÚGetr   ÚstatusÚPrintÚformatÚSet)Úrelease_trackÚregionÚused_endpointÚold_endpoints       ú3lib/googlecloudsdk/api_lib/assured/endpoint_util.pyÚ+AssuredWorkloadsEndpointOverridesFromRegionr   "   sÊ   è ø€ ô 7°}ÀfÓM€-Ü×"Ñ"×9Ñ9×JÑJ×NÑNÓP€,ðÜ‡JJ×ÑÐ*×1Ñ1°-Ó@ÔAÙÜ×Ñ×.Ñ.×?Ñ?×CÑCØ
ôã	ä×$Ñ$×;Ñ;×LÑL×PÑPØóLø”:×$Ñ$×;Ñ;×LÑL×PÑPØóLüs   ‚?DÁA'C Â)4DÃ5DÄDc                 ó   — t        j                  t        j                  t        j                  | «      «      }|rt        ||«      S |S )zIReturns regional Assured Workloads endpoint, or global if region not set.)r   ÚGetEffectiveApiEndpointr   ÚAPI_NAMEÚGetApiVersionÚ&DeriveAssuredWorkloadsRegionalEndpoint)r   r   Úendpoints      r   r   r   :   s<   € ä×)Ñ)¬$¯-©-Ü*.×*<Ñ*<¸]Ó*KóM€(áÜ1°(¸FÓCÐCØ	€/ó    c                 ó8  — t        j                  | «      \  }}}}}}t        j                  t        |«      }|j                  d«      }	|j                  d«      }
|	rdj                  |	||
«      }ndj                  ||
«      }t        j                  ||||||f«      S )Né   é   z{}{}-{}z{}-{})r
   ÚurlparseÚreÚmatchÚENV_NETLOC_REGEX_PATTERNÚgroupr   Ú
urlunparse)r    r   ÚschemeÚnetlocÚpathÚparamsÚqueryÚfragmentÚmÚenvÚnetloc_suffixs              r   r   r   C   s   € Ü27·.±.ÀÓ2JÑ/€&ˆ&$˜  xÜ‡hhÔ'¨Ó0€!Ø	‰‹
€#Ø—'‘'˜!“*€-ÙØ×Ñ˜c 6¨=Ó9Fà^‰^˜F MÓ2€FÜ	×	Ñ	˜6 6¨4°¸ÀÐIÓ	JÐJr!   )Ú__doc__Ú
__future__r   r   r   Ú
contextlibr&   Úgooglecloudsdk.api_lib.assuredr   Úgooglecloudsdk.api_lib.utilr   Úgooglecloudsdk.corer   r	   Úsix.moves.urllibr
   r(   Úcontextmanagerr   r   r   © r!   r   Ú<module>r=      sW   ðñ Cå &Ý Ý 'ã Û 	å /Ý ,Ý #Ý *Ý "ð MÐ ð ×Ññó ðò.ó	Kr!   