
                         z    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g)    )
xform_name)get_service_module_name)BaseDocumenter)!get_identifier_args_for_signature)!get_identifier_values_for_example)get_identifier_description)add_resource_type_overviewc                       \ rS rSrS rSrg)SubResourceDocumenter   c                 `   [        USSSS9  [        U R                  R                  R                  R
                  S S9n/ nX0R                  S'   U HY  nUR                  UR                  5      nUR                  UR                  5        [        UU R                  UU R                  S9  M[     g )	NzSub-resourceszSub-resources are methods that create a new instance of a child resource. This resource's identifiers get passed along to the child.subresources_intro)sectionresource_typedescription
intro_linkc                     U R                   $ )N)name)sub_resources    )lib/third_party/boto3/docs/subresource.py<lambda>>SubResourceDocumenter.document_sub_resources.<locals>.<lambda>#   s
    \%6%6    )keyzsub-resources)r   resource_namesub_resource_modelservice_model)r	   sorted	_resourcemetaresource_modelsubresources
member_mapadd_new_sectionr   appenddocument_sub_resource_resource_name_service_model)selfr   sub_resourcessub_resources_listr   sub_resource_sections         r   document_sub_resources,SubResourceDocumenter.document_sub_resources   s    ")' ,	- NN..;;6
  +=()L#*#:#:<;L;L#M %%l&7&78!,"11#/"11	 *r    N)__name__
__module____qualname____firstlineno__r-   __static_attributes__r/   r   r   r   r      s    r   r   c                    / nUR                   R                   H9  nUR                  S:X  d  M  UR                  [	        UR
                  5      5        M;     U(       a1  [        U5      nU R                  R                  UR                  U5        U R                  S5      nSUR                   R                  -  n	UR                  U	5        U R                  S5      n
[        U5      n[	        U5      nUR                  U:X  a  Un[	        UR                   R                  5      < SU< SUR                  < SU< S3nU
R                  R                  5         U
R!                  U5        U
R                  R#                  5         U R                  S	5      nU Hz  n[%        UR                  U5      n	UR!                  S
U-  5        UR                  R'                  5         UR!                  SU< SU	< 35        UR                  R'                  5         M|     U R                  S5      nUR                  R'                  5         UR!                  S[)        U5      < SUR                   R                  < S35        UR                  R'                  5         UR!                  SUR                   R                  -  5        UR                  R'                  5         g)aN  Documents a resource action

:param section: The section to write to

:param resource_name: The name of the resource

:param sub_resource_model: The model of the subresource

:param service_model: The model of the service

:param include_signature: Whether or not to include the signature.
    It is useful for generating docstrings.
inputzmethod-introzCreates a %s resource.examplez = .()paramsz:type %s: stringz:param z: returnz:rtype: :py:class:``z:returns: A %s resourceN)resourceidentifierssourcer%   r   targetr   stylestart_sphinx_py_methodr   r$   typeinclude_doc_stringr   service_namestart_codeblockwriteend_codeblockr   new_liner   )r   r   r   r   include_signatureidentifiers_needed
identifiersignature_argsmethod_intro_sectionr   example_sectionexample_valuesexample_resource_namer7   param_sectionreturn_sections                   r   r&   r&   2   s^    (11==
'%%j1B1B&CD > :;MN,,##^	5 #22*-?-H-H-M-MMK++K8--i8O67IJN&}5!!]2 -%..334G
 ))+'"'')++H5M(
0##Z1.;<$$&% 	&$$& ) ,,X6N!!##M2'',,	./ !!#!$6$?$?$D$DDF!!#r   N)T)botocorer   botocore.utilsr   boto3.docs.baser   boto3.docs.utilsr   r   r   r	   r   r&   r/   r   r   <module>rY      s3      2 * > > 7 7N 8 <@>$r   