
­­­­­­­­­­­­­­­­­­
<!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,   
