o
    .&ßaú	  ã                   @   s‚   d dl Z d dlZd dlmZ d dlmZ d dlmZ e  e¡Z	dd„ Z
dd„ Zd	d
„ Zdd„ Zdd„ Zdd„ ZG dd„ deƒZdS )é    N)ÚConfigFileWriter)ÚEC2_ROLE_NAME)ÚEMR_ROLE_NAMEc                 C   s   |   ¡  di ¡S )NÚemr)Úget_scoped_configÚget©Úsession© r
   úG/usr/lib/python3/dist-packages/awscli/customizations/emr/configutils.pyÚget_configs   s   r   c                 C   s   |   d¡}|d u rdS |S )NÚprofileÚdefault©Úget_config_variable)r	   Úprofile_namer
   r
   r   Úget_current_profile_name   s   
r   c                 C   s
   t | dƒS )NÚ.)Ú_get_profile_strr   r
   r
   r   Úget_current_profile_var_name    s   
r   c                 C   s"   |   d¡}|d u rdS d||f S )Nr   r   zprofile%c%sr   )r	   Ú	separatorr   r
   r
   r   r   $   s   

ÿr   c                 C   s    t | ƒ}d|v sd|v rdS dS )NÚinstance_profileÚservice_roleTF)r   )r	   Úparsed_configsr
   r
   r   Úis_any_role_configured*   s   ÿþr   c                 C   sD   t | ƒrt d¡ d S t| ƒ}| dt¡ | dt¡ t d¡ d S )NzJAt least one of the roles is already associated with your current profile r   r   z2Associated default roles with your current profile)r   ÚLOGÚdebugÚConfigWriterÚupdate_configr   r   )r	   Úconfig_writerr
   r
   r   Úupdate_roles1   s   r    c                   @   s   e Zd Zdd„ Zdd„ ZdS )r   c                 C   s   || _ t|dƒ| _tƒ | _d S )Nú )r	   r   Úsectionr   Úconfig_file_writer)Úselfr	   r
   r
   r   Ú__init__>   s   zConfigWriter.__init__c                 C   s6   t j | j d¡¡}| j||idœ}| j ||¡ d S )NÚconfig_file)Ú__section__r   )ÚosÚpathÚ
expanduserr	   r   r"   r#   r   )r$   ÚkeyÚvalueÚconfig_filenameÚupdated_configr
   r
   r   r   C   s   ÿÿzConfigWriter.update_configN)Ú__name__Ú
__module__Ú__qualname__r%   r   r
   r
   r
   r   r   <   s    r   )Úloggingr(   Ú&awscli.customizations.configure.writerr   Ú#awscli.customizations.emr.constantsr   r   Ú	getLoggerr/   r   r   r   r   r   r   r    Úobjectr   r
   r
   r
   r   Ú<module>   s   
