o
    f                     @   s\   d dl Z d dlZd dlZd dlmZmZ e eZdddZ	dd Z
dd	d
ZdddZdS )    N)helpersutila'  
This system is using the EC2 Metadata Service, but does not appear to
be running on Amazon EC2 or one of cloud-init's known platforms that
provide a EC2 Metadata service. In the future, cloud-init may stop
reading metadata from the EC2 Metadata Service unless the platform can
be identified.

If you are seeing this message, please file a bug against
cloud-init at
   https://github.com/canonical/cloud-init/issues
Make sure to include the cloud provider your instance is
running on.

For more information see
  https://github.com/canonical/cloud-init/issues/2795

After you have filed a bug, you can disable this warning by
launching your instance with the cloud-config below, or
putting that content into
   /etc/cloud/cloud.cfg.d/99-ec2-datasource.cfg

#cloud-config
datasource:
 Ec2:
  strict_id: falsea  
A new feature in cloud-init identified possible datasources for
this system as:
  {dslist}
However, the datasource used was: {source}

In the future, cloud-init will only attempt to use datasources that
are identified or specifically configured.
For more information see
  https://bugs.launchpad.net/bugs/1669675

If you are seeing this message, please file a bug against
cloud-init at
   https://github.com/canonical/cloud-init/issues
Make sure to include the cloud provider your instance is
running on.

After you have filed a bug, you can disable this warning by launching
your instance with the cloud-config below, or putting that content
into /etc/cloud/cloud.cfg.d/99-warnings.cfg

#cloud-config
warnings:
  dsid_missing_source: off)
non_ec2_mddsid_missing_sourcec                 C   s&   t j| di di d}|dS )Nsystem_infopaths)	path_cfgswarnings)r   Pathsgetget_ipath_cur)cfgr    r   4/usr/lib/python3/dist-packages/cloudinit/warnings.py_get_warn_dir?   s   
r   Tc                 C   s   ||f}| rt | ts|S t| d|f}|d u r|S |dv r!dS |dv r'dS |d\}}}|dkr5|S |rLz	t|}W d|fS  tyK   | Y S w d|fS )	Nr	   )ontrueTTN)offfalseF)FN,sleepT)
isinstancedictr   get_cfg_by_path	partitionint
ValueError)r   namemoder   defaultncfg_csleepr   r   r   _load_warn_cfgF   s*   
r$   c                 K   s  |d u ri }t || ||d\}}|sd S t|  jd
i |}d}|d }d| }d| d }	g }
|d D ]	}|
||  q7|	}|rQd| }||dd }tt	j
t|| |	d|
 d |	  td|	d|
| |rtd	||  t| d S d S )N)r   r   F      z
# %%-%ds #*
z  [sleeping for %d seconds]  z%s%s
%sz$sleeping %d seconds for warning '%s'r   )r$   WARNINGSformatstrip
splitlinesappendcenterr   
write_fileospathjoinr   LOGwarningdebugtimer   )r   r   r   r   kwargsmsgmsgwidth	linewidthfmttoplinefmtlinesline	closelinesleepmsgr   r   r   show_warningf   s4   rA   r   )NNT)loggingr0   r6   	cloudinitr   r   	getLogger__name__r3   r)   r   r$   rA   r   r   r   r   <module>   s   
5
 