o
    x[hj  ã                
   @   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"   
ü"