+
     Ii=+  c                   s    ^ RI t ^ RIt^ RIt^ RIHt ^ RIHtHtHt ^ RI	H
t
 ^ RIHt ] P                  ! ]4      t ! R R]4      t ! R R	]4      t ! R
 R]4      tR t ! R R4      t ! R R4      t ! R R4      tR# )    N)
xform_name)BotoCoreErrorConnectionErrorHTTPClientError)OperationNotFoundError)CachedPropertyc                   s    ] tR t^tRtR# )EndpointDiscoveryException N)__name__
__module____qualname____firstlineno____static_attributes__r       7/usr/lib/python3.14/site-packages/botocore/discovery.pyr   r      s    r   r   c                   s    ] tR t^tRtRtRtR# )EndpointDiscoveryRequiredzBEndpoint Discovery is disabled but is required for this operation.zAEndpoint Discovery is not enabled but this operation requires it.r   Nr	   r
   r   r   Z__doc__Zfmtr   r   r   r   r   r      s
    L
MCr   r   c                   s    ] tR t^#tRtRtRtR# )EndpointDiscoveryRefreshFailedz=Endpoint Discovery failed to the refresh the known endpoints.z<Endpoint Discovery failed to refresh the required endpoints.r   Nr   r   r   r   r   r   #   s
    G
HCr   r   c                 st    V P                   pV'       d$   VP                  R 4      '       d   \        4       hR# R# )requiredN)endpoint_discoverygetr   )modelkwargsr      &, r   ,block_endpoint_discovery_required_operationsr   )   s4    11044Z@@')) Ar   c                   sb   a  ] tR t^/t o R t]R 4       t]R 4       tR tR t	R t
R
R ltR	tV tR# )EndpointDiscoveryModelc                    Wn         R # N_service_model)selfservice_model   &&r   __init__ZEndpointDiscoveryModel.__init__0   s    +r   c                sX    V P                   P                  p\        VP                  4      # r   )r   endpoint_discovery_operationr   name)r   discovery_operations   & r   discovery_operation_nameZ/EndpointDiscoveryModel.discovery_operation_name3   s&    "11NN-2233r   c                s    V P                   P                  p. pVP                  '       d.   \        VP                  P                  P                  4       4      pV# r   )r   r#   input_shapeZlistmemberskeys)r   r%   r)   s   &  r   discovery_operation_keysZ/EndpointDiscoveryModel.discovery_operation_keys8   sJ    "11NN***+77??DDFGDr   c                s     V P                   P                  V4      pVP                  P                  R R4      #   \         d     R# i ; i)r   F)r   operation_modelr   r   r   )r   operation_namer+      && r   discovery_required_forZ-EndpointDiscoveryModel.discovery_required_for@   sM    	"11AAO #5599*eLL% 		s   69 AAc                s    V P                   pVP                  R 4      '       g%   VP                  RR4       VP                  R R4       VP                  4        UUu/ uF  w  r4W29   g   K  W4bK  	  upp# u uppi )Identifiers	OperationN)r*   r   popitems)r   r   Z
input_keyskv   &,   r   discovery_operation_kwargsZ1EndpointDiscoveryModel.discovery_operation_kwargsI   s`    22
zz-((JJ{D)JJ}d+!'C1?CCCs   
A4*A4c                s:    V P                  VP                  V4      # r   )_gather_idsr'   r   	operationparams   &&&r   gather_identifiersZ)EndpointDiscoveryModel.gather_identifiersQ   s    	 5 5v>>r   Nc                s   Vf   / pVP                   P                  4        Ff  w  rEVP                  P                  R4      '       d   W$,          W4&   K2  VP                  R8X  g   KE  WB9   g   KM  V P                  WRV,          V4       Kh  	  V# )NZendpointdiscoveryidZ	structure)r(   r2   Zmetadatar   Z	type_namer7   )r   Zshaper:   idsZmember_nameZmember_shapes   &&&&  r   r7   Z"EndpointDiscoveryModel._gather_idsT   sz     ;C).)<)<)>%K$$(()>??#)#6 &&+5+:O  k/BCH *? 
r   r   r   )r	   r
   r   r   r"   r   r&   r*   r.   r6   r<   r7   r   __classdictcell__Z__classdict__   @r   r   r   /   sL     , 4 4  D? r   r   c                   sl   a  ] tR t^ct o RR ltR tR tR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )EndpointDiscoveryManagerNc                s    Vf   / pW n         / V n        Vf   \        P                  pW0n        W@n        \
        P                  ! V4      V n        \        VP                  P                  4      V n        R # r   )_cache_failed_attemptstime_time_always_discoverweakrefZproxy_clientr   Zmetar    _model)r   ZclientZcachecurrent_timeZalways_discovers   &&&&&r   r"   Z!EndpointDiscoveryManager.__init__d   s]     =E "99L!
 / }}V,,V[[-F-FGr   c                s    VR ,          pV P                  4       pV F&  pVP                  R4      pW5^<,          ,           VR&   K(  	  V# )Z	EndpointsZCachePeriodInMinutes
Expiration)rE   r   )r   response	endpointsrJ   endpointZ
cache_times   &&    r   _parse_endpointsZ)EndpointDiscoveryManager._parse_endpointsu   sI    [)	zz|!H!&<=J%1O%CH\" " r   c                sv    \        V\        4      '       d#   \        \        VP	                  4       4      4      # V# r   )Z
isinstanceZdicttuplesortedr2   )r   Zvaluer!   r   _cache_itemZ$EndpointDiscoveryManager._cache_item}   s*    eT"".//Lr   c                s   a  S P                   P                  ! R/ VB p\        ;QJ d.    . V 3R  l\        VP	                  4       4       4       F  NK  	  5# ! V 3R  l\        VP	                  4       4       4       4      # )c              3   sJ   <"   T F  w  rSP                  V4      x  K  	  R # 5ir   )rR   )Z.0r3   r4   r   s   &  r   Z	<genexpr>Z=EndpointDiscoveryManager._create_cache_key.<locals>.<genexpr>   s#     L5KTQT%%a((5Ks    #r   )rI   r6   rP   rQ   r2   )r   r   s   f,r   _create_cache_keyZ*EndpointDiscoveryManager._create_cache_key   sR    77A&AuLVFLLN5KLuLuLVFLLN5KLLLr   c                s8    V P                   P                  W4      # r   )rI   r<   r8   r;   r   r<   Z+EndpointDiscoveryManager.gather_identifiers   s    {{--i@@r   c                sh    V P                   ! R/ VB pW P                  9   d   V P                  V R # R # Nr   )rS   rB   )r   r   	cache_keyr   r   delete_endpointsZ)EndpointDiscoveryManager.delete_endpoints   s0    **4V4	#I& $r   c                s    V P                   P                  ! R/ VB pV P                   P                  p\        V P                  V4      p\
        P                  R V4       V! R/ VB # )z%Discovering endpoints with kwargs: %sr   )rI   r6   r&   ZgetattrrH   loggerdebug)r   r   r,   r%   s   &,  r   _describe_endpointsZ,EndpointDiscoveryManager._describe_endpoints   sX     77A&A==%dllNC<fE",V,,r   c                s    WP                   9  d   R # V P                  4       pV P                   V,           Uu. uF  q2VR,          8  g   K  VNK  	  up# u upi )NrK   )rB   rE   )r   ZkeynowZes   &&  r   _get_current_endpointsZ/EndpointDiscoveryManager._get_current_endpoints   sH    kk!jjl;;s+E+aQ|_/D+EEEs   AAc                s>   V P                   ! R/ VB p V P                  ! R/ VB pV P                  V4      pW@P                  V&   V P                  P                  VR 4       V#   \        \        3 d)    T P                  4       ^<,           T P                  T&    R # i ; irT   )	rS   rY   rO   rB   rC   r1   r   r   rE   )r   r   rU   rL   rM   r5   r   _refresh_current_endpointsZ3EndpointDiscoveryManager._refresh_current_endpoints   s    **4V4		//9&9H--h7I%.KK	"!!%%i61 	/3zz|b/@D!!),	s   AA# #5BBc                s    WP                   9   d7   V P                  4       pW P                   V,          8  d   R # V P                   V R# )TF)rC   rE   )r   rU   rZ   r-   r   _recently_failedZ)EndpointDiscoveryManager._recently_failed   s>    ---**,C**955%%i0r   c                s"    V^ ,          R,          # )r    ZAddressr   )r   rM   r!   r   _select_endpointZ)EndpointDiscoveryManager._select_endpoint   s    |I&&r   c                s   VR ,          pV P                   P                  V4      pV P                  '       g!   V'       g   \        P	                  RV4       R# V P
                  ! R/ VB pV P                  V4      pV'       d   V P                  V4      # V P                  V4      pV'       g,   V P                  ! R/ VB pV'       d   V P                  V4      # \        P	                  RV4       V P                  P                  VR4      pV'       d   V P                  V4      # V'       d>   V'       d,   V P                  ! R/ VB pV'       d   V P                  V4      # \        4       hR# )r0   zAOptional discovery disabled. Skipping discovery for Operation: %sNz%Endpoint Discovery has failed for: %sr   )rI   r.   rF   rW   rX   rS   r[   r^   r]   r\   rB   r   r   )r   r   r9   Zdiscovery_requiredrU   rM   Zrecently_failedZstale_entriess   &,      r   describe_endpointZ*EndpointDiscoveryManager.describe_endpoint   s,   ;'	![[??	J$$$-?LLS  **4V4	//	:	((33//	:77A&AI,,Y77<fE	48((77  ;;EfE	00;;022r   )rF   rB   rH   rC   rI   rE   )NNT)r	   r
   r   r   r"   rO   rR   rS   r<   rV   rY   r[   r\   r]   r^   r_   r   r>   r?   r@   r   rA   rA   c   sJ     H"MA'
-F
') )r   rA   c                   s>   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )EndpointDiscoveryHandlerc                r   r   _manager)r   Zmanagerr!   r   r"   Z!EndpointDiscoveryHandler.__init__   s    r   c                s    VP                  R V 2V P                  4       VP                  RV 2V P                  4       VP                  RV 2V P                  4       R# )zbefore-parameter-build.zrequest-created.zneeds-retry.N)registerr<   Zregister_firstdiscover_endpointhandle_retries)r   ZeventsZ
service_idr;   r   rc   Z!EndpointDiscoveryHandler.register   s_    %j\2D4K4K	
 	zl+T-C-C	
 	,zl3T5H5HIr   c                sn    VP                   pVf   R # V P                  P                  W!4      pRV/VR&   R # )Nidentifiers	discovery)r   rb   r<   )r   r:   r   contextr   r   r=   s   &&&&,  r   r<   Z+EndpointDiscoveryHandler.gather_identifiers   s:    "55%mm..u= -s3r   c                sN   VP                   P                  R / 4      P                  R4      pVf   R# V P                  P                  W$R7      pVf   \        P                  R4       R# VP                  R4      '       g
   RV,           p\        P                  RV4       WQn        R# )rg   rf   Nr0   r/   z&Failed to discover and inject endpointZhttpzhttps://z!Injecting discovered endpoint: %s)rh   r   rb   r_   rW   rX   Z
startswithZurl)r   Zrequestr,   r   r=   rN   s   &&&,  r   rd   Z*EndpointDiscoveryHandler.discover_endpoint   s    oo!!+r266}E;==22$ 3 
 LLAB""6**!H,H8(Cr   c                s~   Vf   R # Vw  rRVP                  R/ 4      P                  R4      pVP                  R/ 4      P                  R4      pVR8w  d
   VR8w  d   R # VP                  R/ 4      pVP                  R/ 4      P                  R	4      p	V	f   R # V P                  P                  VP                  V	R
7       ^ # )NZResponseMetadataZHTTPStatusCodeZErrorZCodei  ZInvalidEndpointExceptionrh   rg   rf   ri   )r   rb   rV   r$   )
r   Zrequest_dictrL   r9   r   Z_ZstatusZ
error_coderh   r=   s
   &&&&,     r   re   Z'EndpointDiscoveryHandler.handle_retries  s    0"599:JK\\'2.226:
S=Z+EE""9b1kk+r*..}=;
 	&&nn# 	' 	
 r   ra   N)r	   r
   r   r   r"   rc   r<   rd   re   r   r>   r?   r@   r   r`   r`      s$      J4 r   r`   )ZloggingrD   rG   Zbotocorer   Zbotocore.exceptionsr   r   r   Zbotocore.modelr   Zbotocore.utilsr   Z	getLoggerr	   rW   r   r   r   r   r   rA   r`   r   r   r   <module>rj      s        O O 1 )			8	$	 	N : NI%? I*1 1h{ {|9 9r   