o
    w7eP                     @   sh   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dZ
dd	 ZdddZdddZdS )    N)helpers)log)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_dirA   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_cfgH   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_warningh   s4   rB   r   )NNT)r1   r7   	cloudinitr   r   loggingr   	getLogger__name__r4   r*   r   r%   rB   r   r   r   r   <module>   s   
5
 