U
    EZh                     @   s   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 deZdddZd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.
ZMetricZput_data	Namespacec                   @   s   e Zd Zdd ZdS )ActionDocumenterc              	   C   s  | j j}i }|D ]}|||j< qt| jj}t|| jd< t|dddd t	
| ji }t|D ]"}t|dd}|d}	|	j| jd	 |	d
|  || |
|}
|
d k	r|d|
 |j|d| j did}|dkr| j jrt||| j| jjjjj| j j| jd n@||krNt|| j| jjjjj|| | jd nt||||  tj| j| j  | j! }|"|| q`d S )NactionsZActionszActions call operations on resources.  They may automatically handle the passing in of arguments set from identifiers and some attributes.Zactions_intro)sectionZresource_typedescriptionZ
intro_linkhtml)targetZ
breadcrumbindexz / Action / warning	qualifier.)context)loadreload)r   action_nameresource_nameevent_emitter
load_modelservice_model)r   r   r   action_modelr   )#Z_resource_modelr   namer   Z	_resource	__class__sorted
member_mapr
   WARNING_MESSAGESgetZ_resource_namer   Zadd_new_sectionstylerefZ_resource_class_namewriteZadd_title_section
class_namer   document_load_reload_actionmetaclienteventsZ_service_modeldocument_actionr   ospathjoinZ_root_docs_pathZ_service_nameZ_resource_sub_pathZwrite_to_file)selfr   Zmodeled_actions_listZmodeled_actionsZmodeled_actionZresource_actionsZresource_warningsr   Z
action_docZbreadcrumb_sectionZwarning_messageZaction_sectionZactions_dir_path r4   X/home/aprabhat/apps/x.techxrdev.in/venv/lib/python3.8/site-packages/boto3/docs/action.pydocument_actions1   sp    




  z!ActionDocumenter.document_actionsN)__name__
__module____qualname__r6   r4   r4   r4   r5   r   0   s   r   Tc                 C   s   | |jj}t|i |jt|jj}d}|jrBt	|jj
}t	|}	|j|krX|}	| d|	 d|j }
| jdd |j }t| ||||j|
|||d	 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    )	r   method_nameoperation_modelr   method_descriptionexample_prefixZexclude_inputZresource_action_modelinclude_signatureN)r=   request	operationIGNORE_PARAMSr&   r!   r   paramsresourcer   typeservice_namer   r	   documentation)r   r   r   r    r   r@   r=   Zignore_paramsZexample_return_valueexample_resource_namer?   full_action_namer4   r4   r5   r/   r   s8    

r/   c              	   C   s~   dt | dt|jj d| d}t|}|j|kr:|}| d| }	| jdd | }
t| |
ti ||||	|d 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.
    zCalls :py:meth:`z.Client.z"` to update the attributes of the ze 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?   r@   N)	r   r   rA   rB   rG   r   r&   r   r   )r   r   r   r   r   r   r@   r   rI   r?   rJ   r4   r4   r5   r+      s     "
r+   )T)T)r0   Zbotocorer   Zbotocore.docs.bcdoc.restdocr   Zbotocore.docs.methodr   r   Zbotocore.modelr   Zbotocore.utilsr   Zboto3.docs.baser   Zboto3.docs.methodr	   Zboto3.docs.utilsr
   r   r   ZPUT_DATA_WARNING_MESSAGEr%   rC   r   r/   r+   r4   r4   r4   r5   <module>   s$   
 H 
> 