
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
\¼me  ã            	   @   sÖ   U d Z ddlZddlmZ ddlmZmZ ddlmZ ddl	m
Z
 ddlmZmZ ddlmZ dd	lmZ d
ddddgZdd
dddgZejeƒZdddedƒegedgdgdœZeeeƒZ ee
eeddœdd„ZdS )z/Disable EC2 Metadata: Disable AWS EC2 metadata.é    N)Údedent)ÚsubpÚutil)ÚCloud)ÚConfig)Ú
MetaSchemaÚget_meta_doc)ÚALL_DISTROS)Ú
PER_ALWAYSZrouteÚaddz-hostz169.254.169.254ZrejectÚipZprohibitZcc_disable_ec2_metadatazDisable EC2 MetadatazDisable AWS EC2 Metadataz¸        This module can disable the ec2 datasource by rejecting the route to
        ``169.254.169.254``, the usual route to the datasource. This module
        is disabled by default.zdisable_ec2_metadata: trueÚdisable_ec2_metadata)ÚidÚnameÚtitleÚdescriptionZdistrosZ	frequencyZexamplesZactivate_by_schema_keys)r   ÚcfgÚcloudÚargsÚreturnc             C   sd   t j|ddƒ}|rTd }tjdƒr&t}ntjdƒr6t}ntjdƒ d S tj|dd� ntjd| ƒ d S )Nr   Fr   ZifconfigzJNeither "route" nor "ip" command found, unable to manipulate routing table)Zcapturez=Skipping module named %s, disabling the ec2 route not enabled)	r   Zget_cfg_option_boolr   ZwhichÚREJECT_CMD_IPÚREJECT_CMD_IFÚLOGÚerrorÚdebug)r   r   r   r   ZdisabledZ
reject_cmd© r   ú-/usr/lib/python3.6/cc_disable_ec2_metadata.pyÚhandle-   s    

r   )Ú__doc__ZloggingÚtextwrapr   Z	cloudinitr   r   Zcloudinit.cloudr   Zcloudinit.configr   Zcloudinit.config.schemar   r   Zcloudinit.distrosr	   Zcloudinit.settingsr
   r   r   Z	getLoggerÚ__name__r   ÚmetaÚstrÚlistr   r   r   r   r   Ú<module>	   s,   
