o
    .&ßak  ã                   @   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   )Úevent_handler© r   úD/usr/lib/python3/dist-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   ÚToAddresses)Ú	help_textr   ÚCcAddressesr   ÚBccAddressesÚsubjectÚSubjectr
   ÚTextr   ÚHtml)Úrequiredr   Úrename_argumentÚAddressesArgumentÚTO_HELPÚCC_HELPÚBCC_HELPÚBodyArgumentÚSUBJECT_HELPÚ	TEXT_HELPÚ	HTML_HELP)Úargument_tableÚkwargsr   r   r   r   6   s.   

ÿ
ÿ
ÿ
ÿ
ÿ
ÿÿr   c                 C   s    d| vri | d< || d |< d S )NÚ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   ÚDatar0   r   r   r*   r   r   r   Ú_build_messageP   s   ÿr2   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)
Úselfr5   Újson_keyr   ÚdestÚdefaultÚactionr   ÚchoicesÚcli_type_name©Ú	__class__r   r   r8   \   s   ÿ
zAddressesArgument.__init__c                 C   ó   |rt || j|ƒ d S d S ©N)r.   r9   ©r:   Ú
parametersr-   r   r   r   Úadd_to_paramsb   ó   ÿzAddressesArgument.add_to_params)r3   NNNNNN©Ú__name__Ú
__module__Ú__qualname__r8   rG   Ú__classcell__r   r   rA   r   r   Z   s
    ÿr   c                       s&   e Zd Zd‡ fdd„	Zdd„ Z‡  ZS )r#   r3   Nc                    s    t t| ƒj|||d� || _d S )N)r5   r   r   )r7   r#   r8   r9   )r:   r5   r;   r   r   rA   r   r   r8   i   s   ÿ
zBodyArgument.__init__c                 C   rC   rD   )r2   r9   rE   r   r   r   rG   n   rH   zBodyArgument.add_to_params)r3   NrI   r   r   rA   r   r#   g   s    r#   N)Ú__doc__Úawscli.customizationsr   Úawscli.argumentsr   Úawscli.customizations.utilsr   r    r!   r"   r$   r%   r&   r   r   r.   r2   r   r#   r   r   r   r   Ú<module>   s    
