o
    !dk                     @   s   d Z ddlmZ ddlmZ ddlmZ dZdZdZ	dZ
d	Zd
Zdd Zdd Zdd Zdd ZG dd deZG dd deZdS )a  
This customization provides a simpler interface for the ``ses send-email``
command.  This simplified form is based on the legacy CLI.  The simple format
will be::

aws ses send-email --subject SUBJECT --from FROM_EMAIL
    --to-addresses addr ... --cc-addresses addr ...
    --bcc-addresses addr ... --reply-to-addresses addr ...
    --return-path addr --text TEXTBODY --html HTMLBODY

    )utils)CustomArgument)#validate_mutually_exclusive_handlerzmThe email addresses of the primary recipients.  You can specify multiple recipients as space-separated valueszkThe email addresses of copy recipients (Cc).  You can specify multiple recipients as space-separated valueszyThe email addresses of blind-carbon-copy recipients (Bcc).  You can specify multiple recipients as space-separated valueszThe subject of the messagez The raw text body of the messagezThe HTML body of the messagec                 C   s@   |  dt |  dtdgg d |  dtdgddg d S )Nz&building-argument-table.ses.send-emailz$operation-args-parsed.ses.send-emaildestination)toccbccmessagetexthtml)register_promote_argsr   )Zevent_handler r   Fusr/lib/python3.10/site-packages/awscli/customizations/sessendemail.pyregister_ses_send_email)   s   

r   c                 K   s   d| d _ d| d _ tj| ddd tddtd	| d< td
dtd	| d
< tddtd	| d< tddtd	| d< tddt	d	| d< tddt
d	| d< d S )NFr	   r   sourcefrom)new_namer   ZToAddresses)	help_textr   ZCcAddressesr   ZBccAddressessubjectSubjectr
   Textr   Html)requiredr   Zrename_argumentAddressesArgumentTO_HELPCC_HELPBCC_HELPBodyArgumentSUBJECT_HELP	TEXT_HELP	HTML_HELP)Zargument_tablekwargsr   r   r   r   6   s.   






r   c                 C   s    d| vri | d< || d |< d S )NZDestinationr   paramskeyvaluer   r   r   _build_destinationI   s   r'   c                 C   sV   d| vri i d| d< |dv rd|i| d d |< d S |dkr)d|i| d d< d S d S )NMessage)r   Body)r   r   ZDatar)   r   r   r#   r   r   r   _build_messageP   s   r*   c                       s*   e Zd Z		d fdd	Zdd Z  ZS )r    Nc
           
         s"   t t| j|||dd || _d S )N+)namer   r   nargs)superr   __init__	_json_key)
selfr-   json_keyr   destdefaultactionr   choicesZcli_type_name	__class__r   r   r0   \   s   
zAddressesArgument.__init__c                 C      |rt || j| d S d S N)r'   r1   r2   
parametersr&   r   r   r   add_to_paramsb      zAddressesArgument.add_to_params)r+   NNNNNN__name__
__module____qualname__r0   r>   __classcell__r   r   r8   r   r   Z   s
    r   c                       s&   e Zd Zd fdd	Zdd Z  ZS )r   r+   Nc                    s    t t| j|||d || _d S )N)r-   r   r   )r/   r   r0   r1   )r2   r-   r3   r   r   r8   r   r   r0   i   s   
zBodyArgument.__init__c                 C   r:   r;   )r*   r1   r<   r   r   r   r>   n   r?   zBodyArgument.add_to_params)r+   Nr@   r   r   r8   r   r   g   s    r   N)__doc__Zawscli.customizationsr   Zawscli.argumentsr   Zawscli.customizations.utilsr   r   r   r   r   r    r!   r   r   r'   r*   r   r   r   r   r   r   <module>   s    
