o .&a@s\ddlmZddlmZddlmZddlmZddlm Z Gddde Z d d d Z d S) ) xform_name) OrderedDict)DocumentedShape)get_service_module_name)document_model_driven_methodc@s$eZdZddZddZddZdS)WaiterDocumentercCs||_|jjjj|_||_dS)N)_clientmeta service_model service_name _service_name_service_waiter_model)selfclientservice_waiter_modelr6/usr/lib/python3/dist-packages/botocore/docs/waiter.py__init__s zWaiterDocumenter.__init__cCsX|jd|j|d|jjD]}|jd|jjj |f| ||qdS)zgDocuments the various waiters for a service. :param section: The section to write to. WaiterszThe available waiters are:z:py:class:`%s.Waiter.%s`N) styleh2new_linewritelnr waiter_nameslir __class____name___add_single_waiterrsection waiter_namerrrdocument_waiterss     z!WaiterDocumenter.document_waiterscCs||}|jjd|jjj|fd|j|j|dt ||j |jt |||jj j |jj j|jddS)Nz %s.Waiter.%s) class_namez waiter = client.get_waiter('%s'))rr event_emitterr r)add_new_sectionrstart_sphinx_py_classrrrstart_codeblockrwriter end_codeblockdocument_wait_methodr eventsr r rrrrr(s(        z#WaiterDocumenter._add_single_waiterN)r __module__ __qualname__rr!rrrrrrs rTc Cs||}||j}t}tddd|jd|d<tddd|jd|d<tddd |d g} d t|t |j|j|j} t |d ||| d | d|d dS)aDocuments a the wait method of a waiter :param section: The section to write to :param waiter_name: The name of the waiter :param event_emitter: The event emitter to use to emit events :param service_model: The service model :param service_waiter_model: The waiter model associated to the service :param include_signature: Whether or not to include the signature. It is useful for generating docstrings. DelayintegerzK

The amount of time in seconds to wait between attempts. Default: {0}

)name type_name documentation MaxAttemptsz>

The maximum number of attempts to be made. Default: {0}

WaiterConfig structurezI

A dictionary that provides parameters to control waiting behavior.

)r/r0r1memberszPolls :py:meth:`{0}.Client.{1}` every {2} seconds until a successful state is reached. An error is returned after {3} failed checks.waitz waiter.waitF)r#method_descriptionexample_prefix include_inputdocument_outputinclude_signatureN) get_waiteroperation_model operationrrformatdelay max_attemptsrrr) rr r#r rr; waiter_modelr=waiter_config_membersbotocore_waiter_paramswait_descriptionrrrr)AsJ      r)N)T) botocorerbotocore.compatrbotocore.docs.utilsrbotocore.utilsrbotocore.docs.methodrobjectrr)rrrrs    /