Current File : //usr/lib/python3/dist-packages/boto3/docs/__pycache__/resource.cpython-312.pyc
�

��e<����ddlZddlmZddlmZddlmZddlmZddl	m
Z
mZmZddl
mZddlmZdd	lmZdd
lmZmZmZmZddlmZGd�d
e�ZGd�de�Zy)�N)�
xform_name)�DocumentStructure)�get_official_service_name)�ActionDocumenter)�document_attribute�document_identifier�document_reference)�BaseDocumenter)�CollectionDocumenter)�SubResourceDocumenter)�add_resource_type_overview�!get_identifier_args_for_signature�get_identifier_description�!get_identifier_values_for_example)�WaiterResourceDocumenterc�x��eZdZ�fd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Z�xZS)�ResourceDocumenterc���t�|�|�||_||_|jj�|_|j|jk(rd|_yy)Nzservice-resource)�super�__init__�_botocore_session�_root_docs_path�_resource_name�lower�_resource_sub_path�
_service_name)�self�resource�botocore_session�root_docs_path�	__class__s    ��5/usr/lib/python3/dist-packages/boto3/docs/resource.pyrzResourceDocumenter.__init__&sX���
����"�!1���-���"&�"5�"5�";�";�"=������$�"4�"4�4�&8�D�#�5�c�X�|j|�|j|�|j|�|j|�|j	|�|j|�|j
|�|j|�|j|�|j|�y)N)
�
_add_title�_add_resource_note�
_add_intro�_add_identifiers�_add_attributes�_add_references�_add_actions�_add_sub_resources�_add_collections�_add_waiters�r�sections  r"�document_resourcez$ResourceDocumenter.document_resource.s������� �����(����� ����g�&����W�%����W�%����'�"�����(����g�&����'�"r#c�p�|jd�}|jj|j�y)N�title)�add_new_section�style�h2r�rr0�
title_sections   r"r%zResourceDocumenter._add_title:s,���/�/��8�
������t�2�2�3r#c�V�g}|jjr6|jjD]}|j|j��t	|�}|jd�}|jj|j�d|�d���|jd�}|j|�|jd�}|j||�|jd�}|j||�|jd�}	|	jj�y)	N�start_class�(�))�
class_name�description�example�params�	end_class)
�_resource_model�identifiers�append�namerr4r5�start_sphinx_py_classr=�_add_description�_add_example�_add_params_description�end_sphinx_py_class)
rr0�identifier_names�
identifier�
class_argsr:�description_section�example_section�
param_sectionrAs
          r"r'zResourceDocumenter._add_intro>s�������+�+�"�2�2�>�>�
9�
� �'�'�
���8�
9�7�7G�H�
��-�-�m�<�����/�/��/�/�*�!�J�<�q�9�	0�	
�
*�9�9�-�H�����1�2�&�5�5�i�@�����/�+;�<�$�3�3�H�=�
��$�$�]�4D�E��+�+�K�8�	����+�+�-r#c��t|j�}|jdj||j��y)Nz A resource representing an {} {})r�_service_model�write�formatr�rr0�official_service_names   r"rGz#ResourceDocumenter._add_description[s8�� 9�$�:M�:M� N���
�
�.�5�5�%�t�':�':�
�	
r#c�r�|jj�|jj�|jd�|jj�|jj�|jdj	|j
|j
��|jj�t
|�}|jdj	t|j�|j
|j|��|jj�y)N�import boto3z{} = boto3.resource('{}')z{} = {}.{}({}))
r5�start_codeblock�new_linerSrTrrrr�
end_codeblock)rr0rK�example_valuess    r"rHzResourceDocumenter._add_examplecs����
�
�%�%�'��
�
��� ��
�
�n�%��
�
��� ��
�
��� ��
�
�)�0�0��"�"�D�$6�$6�
�	
�
	�
�
��� �:�;K�L���
�
��#�#��4�.�.�/��"�"��#�#��	
�	
�	�
�
�#�#�%r#c��|D]x}t|j|�}|jd|�d��|jj	�|jd|�d|���|jj	��zy)Nz:type z: stringz:param z: )rrrSr5rZ)rr0rK�identifier_namer>s     r"rIz*ResourceDocumenter._add_params_descriptionzsx��/�	%�O�4��#�#�_��K�
�M�M�F�?�"3�8�<�=��M�M�"�"�$��M�M�G�O�#4�B�{�m�D�E��M�M�"�"�$�	%r#c�*�|jj�|jd|�d��|jj�|jj�|j|D]}|jj|��� y)Nz#These are the resource's available �:)r5rZrS�toctree�
member_map�tocitem)rr0�resource_member_type�members    r"�_add_overview_of_member_typez/ResourceDocumenter._add_overview_of_member_type�s{���
�
��� ��
�
�2�3G�2H��J�	
�	�
�
��� ��
�
�����o�o�&:�;�	/�F��M�M�!�!�V�H�.�	/r#c��|jjjj}|j	d�}g}|r||j
d<t
|ddd��|D�]F}|j|j�t|jd��}|j	d�}|jj|jd	�|jd
|j���|j|j�|j	|jd|j�d�i�
�}t!||j"|��t$j&j)|j*|j,�|j.��}|j1||j���I|r|j3|d�yy)NrC�IdentifierszYIdentifiers are properties of a resource that are set upon instantiation of the resource.�identifiers_attributes_intro�r0�
resource_typer>�
intro_link�html��target�
breadcrumb�indexz / Identifier / �	qualifier�.��context)r0�
resource_name�identifier_model)�	_resource�meta�resource_modelrCr4rbr
rDrErr5�ref�_resource_class_namerS�add_title_sectionr=rr�os�path�joinrrr�
write_to_filerf)	rr0rC�member_listrL�identifier_doc�breadcrumb_section�identifier_section�identifiers_dir_paths	         r"r(z#ResourceDocumenter._add_identifiers�s����n�n�)�)�8�8�D�D���)�)�-�8�����-8�D�O�O�M�*�&��+�>�:�
�&�	P�J����z���/�.�z���v�N�N�!/�!?�!?��!M���$�$�(�(��)B�)B�G�L��$�$�'7�
���7H�%I�J��,�,�Z�_�_�=�!/�!?�!?����$����(9��&;�<�"@�"��
 �*�"�1�1�!+�
�$&�7�7�<�<��$�$��%�%�&��*�*�+�$� �

�(�(�)=�z���O�1	P�4��-�-�g�}�E�r#c	���|jjjjj}i}|jjjj
rh|j
|jjjj
�}|jjjj|�}|jd�}g}|rt|ddd��||jd<t|�D�]Q}||\}}|j|�t|d��}	|	jd�}
|
jj|j d	�|
j#d
|���|	j%|�|	j|d|j&�d�i�
�}t)||j*|j,||jjjjj.|��t0j2j5|j6|j*�|j8��}|	j;||���T|r|j=|d�yy)N�
attributes�
Attributesz�Attributes provide access to the properties of a resource. Attributes are lazy-loaded the first time one is accessed via the :py:meth:`load` method.rirjrmrnrprqz / Attribute / rrrsrt)r0�service_namerv�	attr_name�
event_emitter�
attr_model)rxry�client�
service_modelrz�shape�	shape_for�get_attributesr4r
rb�sortedrDrr5r{r|rSr}r=rrr�eventsr~rr�rrr�rf)
rr0r�r�r��attribute_listr��_�
attr_shape�
attribute_docr��attribute_section�attributes_dir_paths
             r"r)z"ResourceDocumenter._add_attributes�s3�����+�+�2�2�7�7�E�E�
��
��>�>���-�-�3�3�!�+�+����#�#�2�2�8�8��E����,�,�;�;�J�J���J��)�)�,�7�����&��*�/�
:�

�-;�D�O�O�L�)��
�+�	H�I�&�y�1�M�A�z��!�!�)�,�-�i��G�M�!.�!>�!>�|�!L���$�$�(�(��)B�)B�G�L��$�$��y�k�%B�C��+�+�I�6� -� =� =��$����(9��&;�<�!>�!��
�)�!�/�/�"�1�1�#�"�n�n�1�1�8�8�=�=�D�D�%�

�#%�'�'�,�,��$�$��%�%�&��*�*�+�#��

�'�'�(;�Y�G�9	H�:��-�-�g�|�D�r#c��|jd�}|jjjj}g}|r0t|ddd��||jd<|j|d�|D�];}|j|j�t|jd��}|jd�}|jj|jd	�|jd
|j���|j|j�|j|jd|j �d�i�
�}t#||��t$j&j)|j*|j,�|j.��}|j1||j���>|r|j|d�yy)N�
references�
ReferenceszNReferences are related resource instances that have a belongs-to relationship.�references_introrjrmrnrprqz / Reference / rrrsrt)r0�reference_model)r4rxryrzr�r
rbrfrDrErr5r{r|rSr}r=r	r~rr�rrrr�)	rr0r��reference_list�	reference�
reference_docr��reference_section�references_dir_paths	         r"r*z"ResourceDocumenter._add_references�s����)�)�,�7���^�^�(�(�7�7�B�B�
����&��*�1�.�
�-;�D�O�O�L�)��-�-�g�|�D�#�	M�I��!�!�)�.�.�1�-�i�n�n�V�L�M�!.�!>�!>�|�!L���$�$�(�(��)B�)B�G�L��$�$��y�~�~�6F�%G�H��+�+�I�N�N�;� -� =� =����$����(9��&;�<�!>�!��
�)� )�
�#%�'�'�,�,��$�$��%�%�&��*�*�+�#��

�'�'�(;�Y�^�^�L�/	M�0��-�-�g�|�D�r#c�(�|jd�}|jjjj}|rUt|j|j�}|j|_|j|�|j|d�yy)N�actions)
r4rxryrzr�rrrb�document_actionsrf)rr0r��
documenters    r"r+zResourceDocumenter._add_actionssu���)�)�)�4���.�.�%�%�4�4�<�<���)�$�.�.�$�:N�:N�O�J�$(�O�O�J�!��'�'��0��-�-�g�y�A�	r#c�(�|jd�}|jjjj}|rUt|j|j�}|j|_|j|�|j|d�yy)Nz
sub-resources)
r4rxryrz�subresourcesrrrb�document_sub_resourcesrf)rr0�
sub_resourcesr�s    r"r,z%ResourceDocumenter._add_sub_resources'sz���)�)�/�:�����+�+�:�:�G�G�
��.����� 4� 4��J�%)�O�O�J�!��-�-�g�6��-�-�g��G�
r#c�(�|jd�}|jjjj}|rUt|j|j�}|j|_|j|�|j|d�yy)N�collections)
r4rxryrzr�rrrb�document_collectionsrf)rr0r�r�s    r"r-z#ResourceDocumenter._add_collections2sz���)�)�-�8���n�n�)�)�8�8�D�D���-����� 4� 4��J�%)�O�O�J�!��+�+�G�4��-�-�g�}�E�
r#c�t�|jd�}|jjjj}|r{|j
j
|j�}t|j||j�}|j|_
|j|�|j|d�yy)N�waiters)
r4rxryrzr�r�get_waiter_modelrrrrb�document_resource_waitersrf)rr0r��service_waiter_modelr�s     r"r.zResourceDocumenter._add_waiters=s����)�)�)�4���.�.�%�%�4�4�<�<���#'�#9�#9�#J�#J��"�"�$� �2���� 4�d�6J�6J��J�%)�O�O�J�!��0�0��9��-�-�g�y�A�r#c��|jd�}|jj�|jd�|jj	�y)Nzfeature-freezez�Before using anything on this page, please refer to the resources :doc:`user guide <../../../../guide/resources>` for the most recent guidance on using resources.)r4r5�
start_noterS�end_noter/s  r"r&z%ResourceDocumenter._add_resource_noteKsF���)�)�*:�;���
�
� � �"��
�
�
+�	
�
	�
�
��� r#)�__name__�
__module__�__qualname__rr1r%r'rGrHrIrfr(r)r*r+r,r-r.r&�
__classcell__)r!s@r"rr%s]���9�
#�4�.�:
�&�.%�/�*F�X7E�r)E�VB�	H�	F�B�!r#rc�.�eZdZed��Zd�Zd�Zd�Zy)�ServiceResourceDocumenterc� �|j�d�S)Nz.ServiceResource)�_service_docs_name)rs r"r=z$ServiceResourceDocumenter.class_nameWs���)�)�*�*:�;�;r#c�\�|jd�}|jjd�y)Nr3zService Resource)r4r5r6r7s   r"r%z$ServiceResourceDocumenter._add_title[s'���/�/��8�
������1�2r#c�V�t|j�}|jd|���y)NzA resource representing )rrRrSrUs   r"rGz*ServiceResourceDocumenter._add_description_s)�� 9�$�:M�:M� N���
�
�0�1F�0G�H�Ir#c��|jj�|jj�|jd�|jj�|jj�|j|j�d|j�d��|jj�y)NrXz = boto3.resource('z'))r5rYrZrSrr[)rr0rKs   r"rHz&ServiceResourceDocumenter._add_examplecs����
�
�%�%�'��
�
��� ��
�
�n�%��
�
��� ��
�
��� ��
�
��!�!�"�"6�t�7I�7I�6J�#�N�	
�	�
�
�#�#�%r#N)r�r�r��propertyr=r%rGrH�r#r"r�r�Vs$��
�<��<�3�J�	&r#r�)r~�botocorer�botocore.docs.bcdoc.restdocr�botocore.docs.utilsr�boto3.docs.actionr�boto3.docs.attrrrr	�boto3.docs.baser
�boto3.docs.collectionr�boto3.docs.subresourcer�boto3.docs.utilsr
rrr�boto3.docs.waiterrrr�r�r#r"�<module>r�sV��
��9�9�.���
+�6�8���7�n!��n!�b	&� 2�&r#