o
    .&ßa…  ã                   @   sD   d dl Z d dlmZ d dlmZ ddlmZmZ G dd„ deƒZdS )é    N)ÚBasicCommand)ÚConfigFileWriteré   )ÚPREDEFINED_SECTION_NAMESÚprofile_to_sectionc                       s|   e Zd ZdZe ddd¡ZdZe ddd¡Zdddd	d
dœdddd
d	d
dœgZ	g d¢Z
d‡ fdd„	Zdd„ Zdd„ Z‡  ZS )ÚConfigureSetCommandÚsetÚ	configurez_description.rstz8aws configure set varname value [--profile profile-name]z_examples.rstÚvarnamez$The name of the config value to set.ÚstoreÚstringT)ÚnameÚ	help_textÚactionÚcli_type_nameÚpositional_argÚvaluezThe value to set.)r   r   r   Úno_paramfiler   r   )Úaws_access_key_idÚaws_secret_access_keyÚaws_session_tokenNc                    s(   t t| ƒ |¡ |d u rtƒ }|| _d S ©N)Úsuperr   Ú__init__r   Ú_config_writer)ÚselfÚsessionÚconfig_writer©Ú	__class__© úE/usr/lib/python3/dist-packages/awscli/customizations/configure/set.pyr   +   s   
zConfigureSetCommand.__init__c                 C   s   | j  |¡}tj |¡S r   )Ú_sessionÚget_config_variableÚosÚpathÚ
expanduser)r   r%   Úconfig_pathr    r    r!   Ú_get_config_file1   s   z$ConfigureSetCommand._get_config_filec                 C   sh  |j }|j}d}d|vr| jjd ur| jj}nm| d¡}|d dv rL|d dkr1d}|dd … }n
|d }|dd … }|d }t|ƒdkrK|d |i}n8|d tvrz| jjd ur]| jj}n| j d¡}|d uri|}|d }t|ƒdkry|d |i}n
t|ƒdkr„|\}}|  d¡}	|| j	v r–|}
|  d	¡}	n|tv sž|dkr¡|}
nt
|ƒ}
d
|
||i}| j ||	¡ d S )NÚdefaultÚ.r   )r)   Úprofiler   é   r+   Úconfig_fileÚcredentials_fileÚ__section__)r
   r   r"   r+   ÚsplitÚlenr   r#   r(   Ú_WRITE_TO_CREDS_FILEr   r   Úupdate_config)r   ÚargsÚparsed_globalsr
   r   r+   ÚpartsÚ	remainingÚprofile_nameÚconfig_filenameÚsectionÚupdated_configr    r    r!   Ú	_run_main5   sN   €
€
€

zConfigureSetCommand._run_mainr   )Ú__name__Ú
__module__Ú__qualname__ÚNAMEr   Ú	FROM_FILEÚDESCRIPTIONÚSYNOPSISÚEXAMPLESÚ	ARG_TABLEr2   r   r(   r<   Ú__classcell__r    r    r   r!   r      s.    ÿýüûr   )	r$   Úawscli.customizations.commandsr   Ú&awscli.customizations.configure.writerr   Ú r   r   r   r    r    r    r!   Ú<module>   s
   