
    Dh                     d    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	m
Z
  G d de      Z	 d
dZy	)    )
xform_name)document_model_driven_method)get_service_module_name)BaseDocumenter)add_resource_type_overviewget_resource_ignore_paramsc                   $     e Zd Z fdZd Z xZS )WaiterResourceDocumenterc                 2    t         |   |       || _        y )N)super__init___service_waiter_model)selfresourceservice_waiter_model	__class__s      s/var/www/fastuser/data/www/generator.snapmosaic.io/flask_app/venv/lib/python3.12/site-packages/boto3/docs/waiter.pyr   z!WaiterResourceDocumenter.__init__   s    "%9"    c           	         | j                   j                  j                  j                  }t	        |ddd       g }|| j
                  d<   |D ]  }|j                  |j                        }|j                  |j                         t        || j                  | j                   j                  j                  j                  j                  | j                  || j                          y )NWaiterszNWaiters provide an interface to wait for a resource to reach a specific state.waiters_intro)sectionresource_typedescription
intro_linkwaiters)r   resource_nameevent_emitterservice_modelresource_waiter_modelr   )	_resourcemetaresource_modelr   r   
member_mapadd_new_sectionnameappenddocument_resource_waiter_resource_nameclientevents_service_modelr   )r   r   r   waiter_listwaiterwaiter_sections         r   document_resource_waitersz2WaiterResourceDocumenter.document_resource_waiters   s    ..%%44<<"#. '	
 %0	" 
	F$44V[[ANv{{+$&"11"nn1188==DD"11&,%)%?%?
	r   )__name__
__module____qualname__r   r0   __classcell__)r   s   @r   r
   r
      s    :r   r
   c           
         |j                  |j                        }|j                  |j                        }t	        |j
                        }	t        |      }
dj                  |dj                  |j                  j                  d      dd        |
t        |j                        |
t        |j                        |j                  |j                        }dj                  t        |      |j                        }t        | |j                  |||||	|       d| j                  v rC| j!                  d      }|j#                          |j%                          |j'                  d       y y )	NzWaits until this {} is {}. This method calls :py:meth:`{}.Waiter.{}.wait` which polls. :py:meth:`{}.Client.{}` every {} seconds until a successful state is reached. An error is returned after {} failed checks. _   z{}.{})r   method_nameoperation_modelr   example_prefixmethod_descriptionexclude_inputinclude_signaturereturnz:returns: None)
get_waiterwaiter_namer:   	operationr   paramsr   formatjoinr&   splitr   delaymax_attemptsr   available_sectionsget_section
clear_textremove_all_sectionswrite)r   r   r   r   r    r   r>   waiter_modelr:   ignore_paramsservice_module_namer   r;   return_sections                 r   r(   r(   7   s[    (22))L $33L4J4JKO./D/K/KLM1-@	" #)&HH*//55c:12>?,889|--.%%	#
   ^^=!#8#=#=N !)..'#%&#+	 7--- !,,X6!!#**,-. .r   N)T)botocorer   botocore.docs.methodr   botocore.utilsr   boto3.docs.baser   boto3.docs.utilsr   r   r
   r(    r   r   <module>rX      s/      = 2 *~ L 4/r   