o
    Ü!dú	  ã                   @   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)Zget_scoped_configÚget©Úsession© r	   úIusr/lib/python3.10/site-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   Z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   Z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)Z__section__r   )ÚosÚpathÚ
expanduserr   r   r   r    r   )r!   ÚkeyÚvalueZconfig_filenameZupdated_configr	   r	   r
   r   C   s   ÿÿzConfigWriter.update_configN)Ú__name__Ú
__module__Ú__qualname__r"   r   r	   r	   r	   r
   r   <   s    r   )Úloggingr$   Z&awscli.customizations.configure.writerr   Z#awscli.customizations.emr.constantsr   r   Ú	getLoggerr)   r   r   r   r   r   r   r   Úobjectr   r	   r	   r	   r
   Ú<module>   s   
