
    /Jf                         d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d d	lmZmZmZ d
ZddeiiZdddgiiZ G d de          Z	 ddZ	 ddZdS )    N)
xform_name)DocumentStructure)document_custom_methoddocument_model_driven_method)OperationModel)get_service_module_name)NestedDocumenter)%document_model_driven_resource_method)add_resource_type_overviewget_resource_ignore_paramsget_resource_public_actionsa?  
.. warning::
    It is recommended to use the :py:meth:`put_metric_data`
    :doc:`client method <../../cloudwatch/client/put_metric_data>`
    instead. If you would still like to use this resource method,
    please make sure that ``MetricData[].MetricName`` is equal to
    the metric resource's ``name`` attribute.
Metricput_data	Namespacec                       e Zd Zd ZdS )ActionDocumenterc           	         | j         j        }i }|D ]}|||j        <   t          | j        j                  }t          |          | j        d<   t          |ddd           t          
                    | j        i           }t          |          D ]}t          |d          }|                    d          }	|	j                            | j        d	           |	                    d
|            |                    |           |
                    |          }
|
(|                    d                              |
           |                    |d| j         di          }|dv rO| j         j        rCt+          ||| j        | j        j        j        j        j        | j         j        | j                   nY||v r>t5          || j        | j        j        j        j        j        ||         | j                   nt7          ||||                    t8          j                            | j        | j          | j!                   }|"                    ||           d S )NactionsActionszActions call operations on resources.  They may automatically handle the passing in of arguments set from identifiers and some attributes.actions_intro)sectionresource_typedescription
intro_linkhtml)target
breadcrumbindexz / Action / warning	qualifier.)context)loadreload)r   action_nameresource_nameevent_emitter
load_modelservice_model)r   r&   r'   action_modelr)   )#_resource_modelr   namer   	_resource	__class__sorted
member_mapr   WARNING_MESSAGESget_resource_namer   add_new_sectionstyleref_resource_class_namewriteadd_title_section
class_namer#   document_load_reload_actionmetaclientevents_service_modeldocument_actionr   ospathjoin_root_docs_path_service_name_resource_sub_pathwrite_to_file)selfr   modeled_actions_listmodeled_actionsmodeled_actionresource_actionsresource_warningsr%   
action_docbreadcrumb_sectionwarning_messageaction_sectionactions_dir_paths                T/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/boto3/docs/action.pydocument_actionsz!ActionDocumenter.document_actions1   s   #3;2 	B 	BN3AON/006N$
 
 &,,<%=%=	""#8 '		
 		
 		
 		
 -001DbII!"233 *	D *	DK*;vFFFJ!+!;!;L!I!I$(()BGLLL$$%AK%A%ABBB((555/33K@@O***955;;OLLL'77$&;&;&;< 8  N 000T5I5N0+* +"&"5"&."5"<"A"H#38"&"5     //*"&"5"&."5"<"A"H!0!="&"5     '"K1A+1N  
  "w||$%'*,   
 $$%5{CCCCU*	D *	D    N)__name__
__module____qualname__rT    rU   rS   r   r   0   s(        >D >D >D >D >DrU   r   Tc                    |                     |j        j                  }t                              |i                               |j        t          |j        j                            }d}|j        rt          |j        j
                  }t          |          }	|j        |k    r|}	d                    ||	|j                  }
| j                            dd           |j         }t          | ||||j        |
|||	  	         dS )a  Documents a resource action

    :param section: The section to write to

    :param resource_name: The name of the resource

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

    :param action_model: The model of the action

    :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     )	r   method_nameoperation_modelr'   method_descriptionexample_prefixexclude_inputresource_action_modelinclude_signatureN)r^   request	operationIGNORE_PARAMSr2   r,   r   paramsresourcer   typeservice_nameformatr"   r
   documentation)r   r&   r'   r*   r)   rc   r^   ignore_paramsexample_return_valueexample_resource_namer`   full_action_names               rS   r@   r@   r   s5   . $33& O "%%mR88<<"<#7#>?? M & F),*?*DEE&}55!]22 -!((3\5F N ?{B//D1BDD  *$'#*8%#*+
 
 
 
 
 
rU   c           	      H   d                     t          |          t          |j        j                  |          }t          |          }|j        |k    r|}| d| }	| j                            dd           | }
t          | |
t          i |          |||	|           dS )a  Documents the resource load action

    :param section: The section to write to

    :param action_name: The name of the loading action should be load or reload

    :param resource_name: The name of the resource

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

    :param load_model: The model of the load action

    :param service_model: The model of the service

    :param include_signature: Whether or not to include the signature.
        It is useful for generating docstrings.
    zCalls :py:meth:`{}.Client.{}` to update the attributes of the {} resource. Note that the load and reload methods are the same method and can be used interchangeably.r!   r    r\   )r   r]   r^   r'   r_   r`   rc   N)
rk   r   r   rd   re   rj   r"   r2   r   r   )r   r%   r&   r'   r(   r)   rc   r   ro   r`   rp   s              rS   r;   r;      s    6	;;A6#M22z)344<
 <
  '}55!]22 --====N!/--k2>>MMM $&r=99#&%+     rU   )T)rA   botocorer   botocore.docs.bcdoc.restdocr   botocore.docs.methodr   r   botocore.modelr   botocore.utilsr   boto3.docs.baser	   boto3.docs.methodr
   boto3.docs.utilsr   r   r   PUT_DATA_WARNING_MESSAGEr1   rf   r   r@   r;   rY   rU   rS   <module>r{      sy   
			       9 9 9 9 9 9        * ) ) ) ) ) 2 2 2 2 2 2 , , , , , , C C C C C C           z34  J67?D ?D ?D ?D ?D' ?D ?D ?DP 4 4 4 4| 0 0 0 0 0 0rU   