o
    thj                  
   @   s   U d Z ddlZddlmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ g d	Zg d
ZeeZdegedgdZe
ed< dededededdf
ddZdS )z/Disable EC2 Metadata: Disable AWS EC2 metadata.    N)subputil)Cloud)Config)
MetaSchema)ALL_DISTROS)
PER_ALWAYS)routeaddz-host169.254.169.254reject)ipr	   r
   prohibitr   cc_disable_ec2_metadatadisable_ec2_metadata)iddistros	frequencyactivate_by_schema_keysmetanamecfgcloudargsreturnc                 C   sf   t |dd}|r+d }tdrt}ntdrt}ntd d S tj|dd d S td|  d S )Nr   Fr   ifconfigzJNeither "route" nor "ip" command found, unable to manipulate routing table)capturez=Skipping module named %s, disabling the ec2 route not enabled)	r   get_cfg_option_boolr   whichREJECT_CMD_IPREJECT_CMD_IFLOGerrordebug)r   r   r   r   disabled
reject_cmd r&   J/usr/lib/python3/dist-packages/cloudinit/config/cc_disable_ec2_metadata.pyhandle!   s    

r(   )__doc__logging	cloudinitr   r   cloudinit.cloudr   cloudinit.configr   cloudinit.config.schemar   cloudinit.distrosr   cloudinit.settingsr   r    r   	getLogger__name__r!   r   __annotations__strlistr(   r&   r&   r&   r'   <module>   s"   
"