관리-도구
편집 파일: cc_install_hotplug.cpython-39.pyc
a ����'�Dg�����������������������@���s����U�d�Z�ddlZddlZddlmZmZmZ�ddlmZ�ddl m Z �ddlmZ�ddl mZ�ddlmZmZ�dd lmZ�dd lmZ�degeg�d�Zeed <�e�e�ZdZdZee ed�dd�Zee ee dd�dd�Z!dS�)z3Install hotplug udev rules if supported and enabled�����N)�stages�subp�util)�Cloud)�Config)� MetaSchema)�ALL_DISTROS)� EventScope� EventType)�PER_INSTANCE)� DataSourceZcc_install_hotplug)�idZdistrosZ frequencyZactivate_by_schema_keys�metaz2/etc/udev/rules.d/90-cloud-init-hook-hotplug.rulesz�# Installed by cloud-init due to network hotplug userdata ACTION!="add|remove", GOTO="cloudinit_end"{extra_rules} LABEL="cloudinit_hook" SUBSYSTEM=="net", RUN+="{libexecdir}/hook-hotplug" LABEL="cloudinit_end" )� datasource�cfg�network_hotplug_enabledc�����������������C���s��t�j|��t�jg��tjt���v�}tj|�|t�jtjd�}|r>|s�t j �t�rnt �d��t�t��t�g�d���n|r~t �d��n t �d��d�S�t�d�s�t �d��d�S�|�jd�ur�|�jnd}|r�d |�}d }t j �|�s�d}t �d��tjttj||d �d��t�g�d���d�S�)N)r���r���Zevent_source_typeZscopez!Uninstalling hotplug, not enabled)�udevadmZcontrolz--reload-ruleszOHotplug is unsupported by current datasource. Udev rules will NOT be installed.z%Skipping hotplug install, not enabledr���z+Skipping hotplug install, udevadm not found��� z/usr/libexec/cloud-initz/usr/lib/cloud-initzInstalling hotplug.)�extra_rules� libexecdir)�filenameZcontent)r ���ZHOTPLUGZget_supported_events�getr ���ZNETWORK�setr���Zupdate_event_enabled�os�path�exists�HOTPLUG_UDEV_PATH�LOG�debugr���Zdel_filer���Zwarning�whichZextra_hotplug_udev_rules�infoZ write_file�HOTPLUG_UDEV_RULES_TEMPLATE�format)r���r���r���Zhotplug_supportedZhotplug_enabledr���r�����r$����G/usr/lib/python3.9/site-packages/cloudinit/config/cc_install_hotplug.py�install_hotplug%���sT������� � �� ��r&���)�namer����cloud�args�returnc�����������������C���sJ���d|v�o6d|d�v�o6d|d�d�v�o6d|d�d�d�v�}t�|j||��d�S�)NZupdates�networkZwhenZhotplug)r&���r���)r'���r���r(���r)���r���r$���r$���r%����handle[���s���� ���r,���)"�__doc__Zloggingr���Z cloudinitr���r���r���Zcloudinit.cloudr���Zcloudinit.configr���Zcloudinit.config.schemar���Zcloudinit.distrosr���Zcloudinit.eventr ���r ���Zcloudinit.settingsr���Zcloudinit.sourcesr���r����__annotations__Z getLogger�__name__r���r���r"����boolr&����str�listr,���r$���r$���r$���r%����<module>���s.���� �6