+
    i=+                         ^ 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                       ] tR t^tRtR# )EndpointDiscoveryException N)__name__
__module____qualname____firstlineno____static_attributes__r       4/usr/lib/python3/dist-packages/botocore/discovery.pyr
   r
      s    r   r
   c                       ] 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   __doc__fmtr   r   r   r   r   r      s
    L
MCr   r   c                       ] 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                 t    V P                   pV'       d$   VP                  R 4      '       d   \        4       hR# R# )requiredN)endpoint_discoverygetr   )modelkwargsr   s   &, r   ,block_endpoint_discovery_required_operationsr    )   s4    11044Z@@')) Ar   c                   b   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_models   &&r   __init__EndpointDiscoveryModel.__init__0   s    +r   c                X    V P                   P                  p\        VP                  4      # r$   )r&   endpoint_discovery_operationr   name)r'   discovery_operations   & r   discovery_operation_name/EndpointDiscoveryModel.discovery_operation_name3   s&    "11NN-2233r   c                    V P                   P                  p. pVP                  '       d.   \        VP                  P                  P                  4       4      pV# r$   )r&   r,   input_shapelistmemberskeys)r'   r.   r5   s   &  r   discovery_operation_keys/EndpointDiscoveryModel.discovery_operation_keys8   sJ    "11NN***+77??DDFGDr   c                     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_namer9   s   && r   discovery_required_for-EndpointDiscoveryModel.discovery_required_for@   sM    	"11AAO #5599*eLL% 		s   69 AAc                    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)r6   r   popitems)r'   r   
input_keyskvs   &,   r   discovery_operation_kwargs1EndpointDiscoveryModel.discovery_operation_kwargsI   s`    22
zz-((JJ{D)JJ}d+!'C1?CCCs   
A4*A4c                :    V P                  VP                  V4      # r$   )_gather_idsr2   r'   	operationparamss   &&&r   gather_identifiers)EndpointDiscoveryModel.gather_identifiersQ   s    	 5 5v>>r   Nc                   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# )Nendpointdiscoveryid	structure)r4   rA   metadatar   	type_namerH   )r'   shaperK   idsmember_namemember_shapes   &&&&  r   rH   "EndpointDiscoveryModel._gather_idsT   sz     ;C).)<)<)>%K$$(()>??#)#6 &&+5+:O  k/BCH *? 
r   r%   r$   )r   r   r   r   r)   r   r/   r6   r;   rE   rL   rH   r   __classdictcell____classdict__s   @r   r"   r"   /   sL     , 4 4  D? r   r"   c                   l   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                    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weakrefproxy_clientr"   metar(   _model)r'   clientcachecurrent_timealways_discovers   &&&&&r   r)   !EndpointDiscoveryManager.__init__d   s]     =E "99L!
 / }}V,,V[[-F-FGr   c                    VR ,          pV P                  4       pV F&  pVP                  R4      pW5^<,          ,           VR&   K(  	  V# )	EndpointsCachePeriodInMinutes
Expiration)ra   r   )r'   response	endpointsrj   endpoint
cache_times   &&    r   _parse_endpoints)EndpointDiscoveryManager._parse_endpointsu   sI    [)	zz|!H!&<=J%1O%CH\" " r   c                v    \        V\        4      '       d#   \        \        VP	                  4       4      4      # V# r$   )
isinstancedicttuplesortedrA   )r'   values   &&r   _cache_item$EndpointDiscoveryManager._cache_item}   s*    eT"".//Lr   c                   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   J   <"   T F  w  rSP                  V4      x  K  	  R # 5ir$   )r}   ).0rC   rD   r'   s   &  r   	<genexpr>=EndpointDiscoveryManager._create_cache_key.<locals>.<genexpr>   s#     L5KTQT%%a((5Ks    #r   )rg   rE   rz   r{   rA   )r'   r   s   f,r   _create_cache_key*EndpointDiscoveryManager._create_cache_key   sR    77A&AuLVFLLN5KLuLuLVFLLN5KLLLr   c                8    V P                   P                  W4      # r$   )rg   rL   rI   s   &&&r   rL   +EndpointDiscoveryManager.gather_identifiers   s    {{--i@@r   c                h    V P                   ! R/ VB pW P                  9   d   V P                  V R # R # Nr   )r   r^   )r'   r   	cache_keys   &, r   delete_endpoints)EndpointDiscoveryManager.delete_endpoints   s0    **4V4	#I& $r   c                    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   )rg   rE   r/   getattrre   loggerdebug)r'   r   r:   r.   s   &,  r   _describe_endpoints,EndpointDiscoveryManager._describe_endpoints   sX     77A&A==%dllNC<fE",V,,r   c                    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 )Nrp   )r^   ra   )r'   keynowes   &&  r   _get_current_endpoints/EndpointDiscoveryManager._get_current_endpoints   sH    kk!jjl;;s+E+aQ|_/D+EEEs   AAc                >   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r   )	r   r   ru   r^   r_   r@   r   r   ra   )r'   r   r   rq   rr   s   &,   r   _refresh_current_endpoints3EndpointDiscoveryManager._refresh_current_endpoints   s    **4V4		//9&9H--h7I%.KK	"!!%%i61 	/3zz|b/@D!!),	s   AA# #5BBc                    WP                   9   d7   V P                  4       pW P                   V,          8  d   R # V P                   V R# )TF)r_   ra   )r'   r   r   s   && r   _recently_failed)EndpointDiscoveryManager._recently_failed   s>    ---**,C**955%%i0r   c                "    V^ ,          R,          # )r   Addressr   )r'   rr   s   &&r   _select_endpoint)EndpointDiscoveryManager._select_endpoint   s    |I&&r   c                   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# )r?   zAOptional discovery disabled. Skipping discovery for Operation: %sNz%Endpoint Discovery has failed for: %sr   )rg   r;   rb   r   r   r   r   r   r   r   r^   r   r   )r'   r   rJ   discovery_requiredr   rr   recently_failedstale_entriess   &,      r   describe_endpoint*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   )rb   r^   re   r_   rg   ra   )NNT)r   r   r   r   r)   ru   r}   r   rL   r   r   r   r   r   r   r   r   rX   rY   s   @r   r\   r\   c   sJ     H"MA'
-F
') )r   r\   c                   >   a  ] tR t^t o R tR tR tR tR tRt	V t
R# )EndpointDiscoveryHandlerc                    Wn         R # r$   _manager)r'   managers   &&r   r)   !EndpointDiscoveryHandler.__init__   s    r   c                    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)registerrL   register_firstdiscover_endpointhandle_retries)r'   events
service_ids   &&&r   r   !EndpointDiscoveryHandler.register   s_    %j\2D4K4K	
 	zl+T-C-C	
 	,zl3T5H5HIr   c                n    VP                   pVf   R # V P                  P                  W!4      pRV/VR&   R # )Nidentifiers	discovery)r   r   rL   )r'   rK   r   contextr   r   rT   s   &&&&,  r   rL   +EndpointDiscoveryHandler.gather_identifiers   s:    "55%mm..u= -s3r   c                N   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# )r   r   Nr?   r>   z&Failed to discover and inject endpointhttpzhttps://z!Injecting discovered endpoint: %s)r   r   r   r   r   r   
startswithurl)r'   requestr:   r   rT   rs   s   &&&,  r   r   *EndpointDiscoveryHandler.discover_endpoint   s    oo!!+r266}E;==22$ 3 
 LLAB""6**!H,H8(Cr   c                ~   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       ^ # )NResponseMetadataHTTPStatusCodeErrorCodei  InvalidEndpointExceptionr   r   r   r   )r   r   r   r-   )
r'   request_dictrq   rJ   r   _status
error_coder   rT   s
   &&&&,     r   r   'EndpointDiscoveryHandler.handle_retries  s    0"599:JK\\'2.226:
S=Z+EE""9b1kk+r*..}=;
 	&&nn# 	' 	
 r   r   N)r   r   r   r   r)   r   rL   r   r   r   rX   rY   s   @r   r   r      s$      J4 r   r   )loggingr`   rc   botocorer   botocore.exceptionsr   r   r   botocore.modelr   botocore.utilsr   	getLoggerr   r   r
   r   r   r    r"   r\   r   r   r   r   <module>r      s        O O 1 )			8	$	 	N : NI%? I*1 1h{ {|9 9r   