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)PaginatorDocumentercCs||_|jjjj|_||_dS)N)_clientmeta service_model service_name _service_name_service_paginator_model)selfclientservice_paginator_modelr9/usr/lib/python3/dist-packages/botocore/docs/paginator.py__init__s zPaginatorDocumenter.__init__cCs`|jd|j|dt|jj}|D]}|jd|jj j |f| ||qdS)zhDocuments the various paginators for a service param section: The section to write to. PaginatorszThe available paginators are:z:py:class:`%s.Paginator.%s`N) styleh2new_linewritelnsortedr _paginator_configlir __class____name___add_paginator)rsectionpaginator_namespaginator_namerrrdocument_paginatorss    z'PaginatorDocumenter.document_paginatorscCs||}|jjd|jjj|fd|j|j|dt ||j |j|j |}t |||jjj|jjj|ddS)Nz%s.Paginator.%s) class_namez&paginator = client.get_paginator('%s'))rr! event_emitterr paginator_config)add_new_sectionrstart_sphinx_py_classrrrstart_codeblockrwriter end_codeblockr get_paginatordocument_paginate_methodr eventsr )rrr!r%rrrr-s2       z"PaginatorDocumenter._add_paginatorN)r __module__ __qualname__rr"rrrrrrs rTc Cs ||}t}tdddd|d<|ddr tdddd|d<td d d d|d <td d d|dg}tdd ddg} g} t|dtrJ| |d7} n| |d|ddr^| |dg} t|dtrn| |d7} n| |ddt|t |} t |d||| d|| | | |d dS)aDocuments the paginate method of a paginator :param section: The section to write to :param paginator_name: The name of the paginator. It is snake cased. :param event_emitter: The event emitter to use to emit events :param service_model: The service model :param paginator_config: The paginator config associated to a particular paginator. :param include_signature: Whether or not to include the signature. It is useful for generating docstrings. MaxItemsintegerz

The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.

)name type_name documentation limit_keyNPageSizez

The size of each page.

StartingTokenstringzq

A token to specify where to start paginating. This is the NextToken from a previous response.

PaginationConfig structurezC

A dictionary that provides parameters to control pagination.

)r2r3r4members NextTokenz$

A token to resume pagination.

input_token output_tokenzXCreates an iterator that will paginate through responses from :py:meth:`{0}.Client.{1}`.paginatez&response_iterator = paginator.paginate)r$method_descriptionexample_prefix include_inputinclude_output exclude_inputexclude_outputinclude_signature) operation_modelrrget isinstancelistappendformatrrr) rr!r$r r%rFrGpagination_config_membersbotocore_pagination_params#botocore_pagination_response_paramsservice_pagination_params"service_pagination_response_paramspaginate_descriptionrrrr,Jst       r,N)T) botocorerbotocore.compatrbotocore.docs.utilsrbotocore.utilsrbotocore.docs.methodrobjectrr,rrrrs    8