
    vKg;                         S SK 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
JrJr  S SKJr  S SKJr  S S	KJr  S S
KJrJrJrJr  S SKJr   " S S\5      r " S S\5      rg)    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                      ^  \ rS rSrU 4S jrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rSrU =r$ )ResourceDocumenter%   c                    > [         TU ]  U5        X l        X0l        U R                  R                  5       U l        U R                  U R                  :X  a  SU l        g g )Nzservice-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       S/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/boto3/docs/resource.pyr   ResourceDocumenter.__init__&   sT    "!1-"&"5"5";";"=$"4"44&8D# 5    c                 X   U R                  U5        U R                  U5        U R                  U5        U R                  U5        U R	                  U5        U R                  U5        U R                  U5        U R                  U5        U R                  U5        U R                  U5        g )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_resource$ResourceDocumenter.document_resource.   s     ( g&W%W%'"(g&'"r%   c                 p    UR                  S5      nUR                  R                  U R                  5        g )Ntitle)add_new_sectionstyleh2r   r   r2   title_sections      r#   r'   ResourceDocumenter._add_title:   s,    //8t223r%   c                 Z   / nU R                   R                  (       a8  U R                   R                   H  nUR                  UR                  5        M      [	        U5      nUR                  S5      nUR                  R                  U R                   SU S3S9  UR                  S5      nU R                  U5        UR                  S5      nU R                  Xr5        UR                  S5      nU R                  X5        UR                  S5      n	U	R                  R                  5         g )	Nstart_class())
class_namedescriptionexampleparams	end_class)_resource_modelidentifiersappendnamer   r7   r8   start_sphinx_py_classrA   _add_description_add_example_add_params_descriptionend_sphinx_py_class)
r   r2   identifier_names
identifier
class_argsr>   description_sectionexample_sectionparam_sectionrE   s
             r#   r)   ResourceDocumenter._add_intro>   s   ++"22>>
 ''
8 ? 77GH
--m<////*!J<q9 	0 	

 *99-H12 &55i@/< $33H=$$]E++K8	++-r%   c                 p    [        U R                  5      nUR                  SU SU R                   35        g )NzA resource representing an  )r   _service_modelwriter   r   r2   official_service_names      r#   rK   #ResourceDocumenter._add_description[   s8     9$:M:M N)*?)@$BUBUAVW	
r%   c           
      R   UR                   R                  5         UR                   R                  5         UR                  S5        UR                   R                  5         UR                   R                  5         UR                  U R                   SU R                   S35        UR                   R                  5         [        U5      nUR                  [        U R                  5       SU R                   SU R                   SU S35        UR                   R                  5         g )Nimport boto3 = boto3.resource('')z = .r?   r@   )	r8   start_codeblocknew_linerY   r   r   r   r   end_codeblock)r   r2   rO   example_valuess       r#   rL   ResourceDocumenter._add_examplea   s    %%' n%  !!""6t7I7I6J#N	
 	 :;KL$--./s43E3E2FaH[H[G\\]^l]mmno	
 	##%r%   c                    U Hy  n[        U R                  U5      nUR                  SU S35        UR                  R	                  5         UR                  SU SU 35        UR                  R	                  5         M{     g )Nz:type z: stringz:param z: )r   r   rY   r8   rc   )r   r2   rO   identifier_namerB   s        r#   rM   *ResourceDocumenter._add_params_descriptionq   ss    /O4##_K MMF?"38<=MM""$MMGO#4B{mDEMM""$  0r%   c                 .   UR                   R                  5         UR                  SU S35        UR                   R                  5         UR                   R                  5         U R                  U    H  nUR                   R                  U 5        M!     g )Nz#These are the resource's available :)r8   rc   rY   toctree
member_maptocitem)r   r2   resource_member_typemembers       r#   _add_overview_of_member_type/ResourceDocumenter._add_overview_of_member_type{   sv     23G2HJ	
 	 oo&:;FMM!!VH. <r%   c                 |   U R                   R                  R                  R                  nUR	                  S5      n/ nU(       a  X0R
                  S'   [        USSSS9  U GH=  nUR                  UR                  5        [        UR                  SS9nUR	                  S5      nUR                  R                  U R                  S	5        UR                  S
UR                   35        UR                  UR                  5        UR	                  UR                  SU R                   S30S9n[!        UU R"                  US9  [$        R&                  R)                  U R*                  U R,                   U R.                   5      nUR1                  XR                  5        GM@     U(       a  U R3                  US5        g g )NrG   IdentifierszYIdentifiers are properties of a resource that are set upon instantiation of the resource.identifiers_attributes_intror2   resource_typerB   
intro_linkhtmltarget
breadcrumbindexz / Identifier / 	qualifierra   context)r2   resource_nameidentifier_model)	_resourcemetaresource_modelrG   r7   rm   r   rH   rI   r   r8   ref_resource_class_namerY   add_title_sectionrA   r   r   ospathjoinr   r   r   write_to_filerq   )	r   r2   rG   member_listrP   identifier_docbreadcrumb_sectionidentifier_sectionidentifiers_dir_paths	            r#   r*   #ResourceDocumenter._add_identifiers   s   nn))88DD))-8-8OOM*&+> : &Jz/.zvNN!/!?!?!M$$(()B)BGL$$'7
7H%IJ,,Z__=!/!?!?$(9&;< "@ "  *"11!+ $&77<<$$%%&**+$ 
 (()=O1 &4 --g}E r%   c           
         U R                   R                  R                  R                  R                  n0 nU R                   R                  R                  R
                  (       ah  UR                  U R                   R                  R                  R
                  5      nU R                   R                  R                  R                  U5      nUR                  S5      n/ nU(       a  [        USSSS9  XPR                  S'   [        U5       GHF  nX6   u  pxUR                  U5        [        USS9n	U	R                  S5      n
U
R                  R                  U R                   S	5        U
R#                  S
U 35        U	R%                  U5        U	R                  USU R&                   S30S9n[)        UU R*                  U R,                  UU R                   R                  R                  R                  R.                  US9  [0        R2                  R5                  U R6                  U R*                   U R8                   5      nU	R;                  X5        GMI     U(       a  U R=                  US5        g g )N
attributes
AttributeszAttributes provide access to the properties of a resource. Attributes are lazy-loaded the first time one is accessed via the :py:meth:`load` method.ru   rv   ry   rz   r|   r}   z / Attribute / r~   ra   r   )r2   service_namer   	attr_nameevent_emitter
attr_model)r   r   clientservice_modelr   shape	shape_forget_attributesr7   r   rm   sortedrH   r   r8   r   r   rY   r   rA   r   r   r   eventsr   r   r   r   r   r   rq   )r   r2   r   r   r   attribute_listr   _
attr_shapeattribute_docr   attribute_sectionattributes_dir_paths                r#   r+   "ResourceDocumenter._add_attributes   s$   ++2277EE
>>--33!++##2288E ,,;;JJJ )),7&*/
 :
 -;OOL)
+I&1MA!!),-iGM!.!>!>|!L$$(()B)BGL$$yk%BC++I6 - = =$(9&;< !> ! )!//"11#"nn1188==DD% #%'',,$$%%&**+#
 ''(;G9 ,: --g|D r%   c                 f   UR                  S5      nU R                  R                  R                  R                  n/ nU(       a  [        USSSS9  X0R                  S'   U GH2  nUR                  UR                  5        [        UR                  SS9nUR                  S5      nUR                  R                  U R                  S	5        UR                  S
UR                   35        UR                  UR                  5        UR                  UR                  SU R                   S30S9n[!        UUS9  ["        R$                  R'                  U R(                  U R*                   U R,                   5      nUR/                  XR                  5        GM5     U(       a  U R1                  US5        g g )N
references
ReferenceszNReferences are related resource instances that have a belongs-to relationship.references_introrv   ry   rz   r|   r}   z / Reference / r~   ra   r   )r2   reference_model)r7   r   r   r   r   r   rm   rH   rI   r   r8   r   r   rY   r   rA   r	   r   r   r   r   r   r   r   rq   )	r   r2   r   reference_list	referencereference_docr   reference_sectionreferences_dir_paths	            r#   r,   "ResourceDocumenter._add_references   s   )),7^^((77BB
&*1 . -;OOL)#I!!)..1-innVLM!.!>!>|!L$$(()B)BGL$$y~~6F%GH++INN; - = =$(9&;< !> ! ) ) #%'',,$$%%&**+#
 ''(;^^L/ $0 --g|D r%   c                 2   UR                  S5      nU R                  R                  R                  R                  nU(       aU  [        U R                  U R                  5      nU R                  Ul        UR                  U5        U R                  US5        g g )Nactions)
r7   r   r   r   r   r   r   rm   document_actionsrq   )r   r2   r   
documenters       r#   r-   ResourceDocumenter._add_actions  su    )))4..%%44<<)$..$:N:NOJ$(OOJ!''0--gyA	 r%   c                 2   UR                  S5      nU R                  R                  R                  R                  nU(       aU  [        U R                  U R                  5      nU R                  Ul        UR                  U5        U R                  US5        g g )Nzsub-resources)
r7   r   r   r   subresourcesr   r   rm   document_sub_resourcesrq   )r   r2   sub_resourcesr   s       r#   r.   %ResourceDocumenter._add_sub_resources  sz    ))/:++::GG. 4 4J %)OOJ!--g6--gG r%   c                 2   UR                  S5      nU R                  R                  R                  R                  nU(       aU  [        U R                  U R                  5      nU R                  Ul        UR                  U5        U R                  US5        g g )Ncollections)
r7   r   r   r   r   r   r   rm   document_collectionsrq   )r   r2   r   r   s       r#   r/   #ResourceDocumenter._add_collections(  sz    ))-8nn))88DD- 4 4J %)OOJ!++G4--g}E r%   c                 |   UR                  S5      nU R                  R                  R                  R                  nU(       az  U R
                  R                  U R                  5      n[        U R                  X0R                  5      nU R                  Ul
        UR                  U5        U R                  US5        g g )Nwaiters)r7   r   r   r   r   r   get_waiter_modelr   r   r   rm   document_resource_waitersrq   )r   r2   r   service_waiter_modelr   s        r#   r0   ResourceDocumenter._add_waiters3  s    )))4..%%44<<#'#9#9#J#J""$  2 46J6JJ %)OOJ!009--gyA r%   c                     UR                  S5      nUR                  R                  5         UR                  S5        UR                  R	                  5         g )Nzfeature-freezezBefore using anything on this page, please refer to the resources :doc:`user guide <../../../../guide/resources>` for the most recent guidance on using resources.)r7   r8   
start_noterY   end_noter1   s     r#   r(   %ResourceDocumenter._add_resource_noteA  sF    ))*:;  "+	

 	 r%   )r   r   r   )__name__
__module____qualname____firstlineno__r   r3   r'   r)   rK   rL   rM   rq   r*   r+   r,   r-   r.   r/   r0   r(   __static_attributes____classcell__)r"   s   @r#   r   r   %   sb    9
#4.:
& %/*FX7Er(ETB	H	FB! !r%   r   c                   6    \ rS rSr\S 5       rS rS rS rSr	g)ServiceResourceDocumenteriL  c                      U R                    S3$ )Nz.ServiceResource)_service_docs_name)r   s    r#   rA   $ServiceResourceDocumenter.class_nameM  s    ))**:;;r%   c                 \    UR                  S5      nUR                  R                  S5        g )Nr6   zService Resource)r7   r8   r9   r:   s      r#   r'   $ServiceResourceDocumenter._add_titleQ  s'    //812r%   c                 V    [        U R                  5      nUR                  SU 35        g )NzA resource representing )r   rX   rY   rZ   s      r#   rK   *ServiceResourceDocumenter._add_descriptionU  s)     9$:M:M N01F0GHIr%   c                    UR                   R                  5         UR                   R                  5         UR                  S5        UR                   R                  5         UR                   R                  5         UR                  U R                   SU R                   S35        UR                   R                  5         g )Nr^   r_   r`   )r8   rb   rc   rY   r   rd   )r   r2   rO   s      r#   rL   &ServiceResourceDocumenter._add_exampleY  s    %%' n%  !!""6t7I7I6J#N	
 	##%r%    N)
r   r   r   r   propertyrA   r'   rK   rL   r   r   r%   r#   r   r   L  s$    < <3J	&r%   r   )r   botocorer   botocore.docs.bcdoc.restdocr   botocore.docs.utilsr   boto3.docs.actionr   boto3.docs.attrr   r   r	   boto3.docs.baser
   boto3.docs.collectionr   boto3.docs.subresourcer   boto3.docs.utilsr   r   r   r   boto3.docs.waiterr   r   r   r   r%   r#   <module>r      sV    
  9 9 . 
 + 6 8  7d! d!N	& 2 &r%   