
    '                         S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr   " S S	\5      r SS
 jr SS jr SS jrg)    )
xform_name)get_instance_public_methods)DocumentedShape)BaseDocumenter)get_resource_ignore_params)%document_model_driven_resource_method)add_resource_type_overviewc                        \ rS rSrS rS rSrg)CollectionDocumenter   c                 0   U R                   R                  R                  R                  n/ n[	        USSSS9  X0R
                  S'   U HJ  nUR                  UR                  5      nUR                  UR                  5        U R                  XT5        ML     g )NCollectionszUCollections provide an interface to iterate over and manipulate groups of resources. guide_collections)sectionresource_typedescription
intro_linkcollections)
	_resourcemetaresource_modelr   r	   
member_mapadd_new_sectionnameappend_document_collection)selfr   r   collections_list
collectioncollection_sections         (lib/third_party/boto3/docs/collection.pydocument_collections)CollectionDocumenter.document_collections   s    nn))88DD"'3*	, *:&%J!(!8!8!I##JOO4%%&8E &    c           
         [        [        U R                  UR                  5      5      n[	        X5        0 nUR
                   H  nXTUR                  '   M     [        U5       GH  nUR                  U5      nXd;   a  [        UU R                  U R                  R                  R                  R                  R                  XF   UU R                  R                  R                  R                  R                  S9  M  [        UU R                  UU R                  R                  R                  R                  R                  UU R                  R                  R                  R                  R                  S9  GM     g )N)r   resource_nameevent_emitterbatch_action_modelcollection_modelservice_model)r   r&   action_namer'   r)   r*   )r   getattrr   r   document_collection_objectbatch_actionssortedr   document_batch_action_resource_namer   clienteventsr*   document_collection_method)r   r   r   methodsr.   batch_actionmethodmethod_sections           r!   r   )CollectionDocumenter._document_collection(   s$   -DNNJOO46"77&44L/;,++, 5 WoF$44V<N&%*"&"5"5"&.."5"5"<"<"A"A"H"H'4'<%/"&.."5"5"<"<"A"A"O"O +*"&"5"5 &"&.."5"5"<"<"A"A"H"H%/"&.."5"5"<"<"A"A"O"O &r$    N)__name__
__module____qualname____firstlineno__r"   r   __static_attributes__r:   r$   r!   r   r      s    F r$   r   c                     U(       a%  U R                   R                  UR                  5        U R                  SUR                  R
                  -  5        U R                  SUR                  R
                  -  5        g)zDocuments a collection resource object

:param section: The section to write to

:param collection_model: The model of the collection

:param include_signature: Whether or not to include the signature.
    It is useful for generating docstrings.
zA collection of %s resources.zA %s Collection will include all resources by default, and extreme caution should be taken when performing actions on all resources.N)stylestart_sphinx_py_attrr   include_doc_stringresourcetype)r   r)   include_signatures      r!   r-   r-   F   sm     **+;+@+@A'*:*C*C*H*HHJ	$&6&?&?&D&D	EFr$   c                    UR                  UR                  R                  5      n[        UR                  R                  5      nSn	UR
                  (       a  [        UR
                  R                  5      n	[        U5      n
UR                  U:X  a  Un
U	< SU
< SUR                  < SUR                  < 3n[        XR                  UUUR                  UUUUS9	  g)a=  Documents a collection's batch action

:param section: The section to write to

:param resource_name: The name of the resource

:param action_name: The name of collection action. Currently only
    can be all, filter, limit, or page_size

:param event_emitter: The event emitter to use to emit events

:param batch_action_model: The model of the batch action

:param collection_model: The model of the collection

:param service_model: The model of the service

:param include_signature: Whether or not to include the signature.
    It is useful for generating docstrings.
responsez = .)	r   method_nameoperation_modelr'   method_descriptionexample_prefixexclude_inputresource_action_modelrF   N)rK   request	operationr   paramsrD   r   rE   service_namer   r   documentation)r   r&   r'   r(   r*   r)   rF   rK   ignore_paramsexample_return_valueexample_resource_namerM   s               r!   r0   r0   [   s    . $33"",,.O.""))+M &"")*<*E*E*J*JK&}5!!]2 -3166N *%<%<'#*88%#0+	r$   c                 (   UR                  UR                  R                  5      n/ nUR                  (       a  UR                  R                  n[        U5      n	UR                  U:X  a  Un	SUR                  R                  -  [        UR                  R                  5      < SU	< SUR                  < S3US.SUR                  R                  -  SUR                  R                  -  -   [        UR                  R                  5      < SU	< SUR                  < S3[        UR                  R                  5      S.S	UR                  R                  -  [        UR                  R                  5      < SU	< SUR                  < S
3[        SSSS9/US.SUR                  R                  -  [        UR                  R                  5      < SU	< SUR                  < S3[        SSSS9/US.S.n
X*;   a  X   n[        SXUUUUS.UD6  gg)a  Documents a collection method

:param section: The section to write to

:param resource_name: The name of the resource

:param action_name: The name of collection action. Currently only
    can be all, filter, limit, or page_size

:param event_emitter: The event emitter to use to emit events

:param collection_model: The model of the collection

:param service_model: The model of the service

:param include_signature: Whether or not to include the signature.
    It is useful for generating docstrings.
z:Creates an iterable of all %s resources in the collection.z_iterator = rI   z.all)rL   rM   rN   z^Creates an iterable of all %s resources in the collection filtered by kwargs passed to method.zA %s collection will include all resources by default if no filters are provided, and extreme caution should be taken when performing actions on all resources.z.filterzOCreates an iterable up to a specified amount of %s resources in the collection.z.limitcountintegerz5The limit to the number of resources in the iterable.)r   	type_namerT   )rL   rM   include_inputrN   zCreates an iterable of all %s resources in the collection, but limits the number of items returned by each service call by the specified amount.z
.page_sizez1The number of items returned by each service call)allfilterlimit	page_size)r   rJ   rK   r'   rO   rF   Nr:   )rK   rP   rQ   input_shapemembersr   rS   rD   rE   r   r   rR   r   r   )r   r&   r+   r'   r)   r*   rF   rK   underlying_operation_membersrW   custom_action_info_dictaction_infos               r!   r4   r4      sA   * $33  **,O $& ""'6'B'B'J'J$&}5!!]2 -
%'7'@'@'E'EF +4499:%'7'<'<> :
,55::;$ &6%>%>%C%CDD +4499:%'7'<'<> 8 ((//1
"2 ))../ +4499:%'7'<'<>   I+-. :
$ -55::;
 +4499:%'7'<'<>   I')* :
S:v --:- 	
+'"2/	
 	
 .r$   N)T)botocorer   botocore.docs.methodr   botocore.docs.utilsr   boto3.docs.baser   boto3.docs.utilsr   boto3.docs.methodr   r	   r   r-   r0   r4   r:   r$   r!   <module>rl      sJ      < / * 7 C 7,> ,` 26F. -10j 26d
r$   