�
�f� � �� � d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl m
Z
ddlmZ ddl
mZmZmZ ddlmZmZmZmZmZmZ d Ze
d
ddd
dgZdgZdd�Zdd�Zd� Zd� Zedk( r e� yy)zEDefine 'clean' utility and handler as part of cloud-init commandline.� N)�settings)�uses_systemd)�CLOUDINIT_NETPLAN_FILE)�Init)�ProcessExecutionError�runparts�subp)�del_dir�del_file�error�get_config_logfiles�is_link�
write_filez/etc/machine-idz-/etc/NetworkManager/conf.d/99-cloud-init.confz?/etc/NetworkManager/conf.d/30-cloud-init-ip6-addr-gen-mode.confz@/etc/NetworkManager/system-connections/cloud-init-*.nmconnectionz,/etc/systemd/network/10-cloud-init-*.networkz+/etc/network/interfaces.d/50-cloud-init.cfgz)/etc/ssh/sshd_config.d/50-cloud-init.confc � � | st j dd�� } | j dddddd �
� | j dddd�
� | j ddddd�
� | j dddddd�
� | j ddg d�g ddd�� | S )a# Build or extend an arg parser for clean utility.
@param parser: Optional existing ArgumentParser instance representing the
clean subcommand which will be extended to support the args of
this utility.
@returns: ArgumentParser with proper argument configuration.
�cleanzJRemove logs, configs and artifacts so cloud-init re-runs on a clean system)�prog�descriptionz-lz--logs�
store_trueF�remove_logszRemove cloud-init logs.)�action�default�dest�helpz--machine-idz�Set /etc/machine-id to 'uninitialized
' for golden imagecreation. On next boot, systemd generates a new machine-id. Remove /etc/machine-id on non-systemd environments.)r r r �-rz--rebootz;Reboot system after logs are cleaned so cloud-init re-runs.z-sz--seed�remove_seedz5Remove cloud-init seed directory /var/lib/cloud/seed.z-cz --configs)�all�
ssh_config�network�+�
remove_configzbRemove cloud-init generated config files of a certain type. Config types: all, ssh_config, network)�choicesr �nargsr r )�argparse�ArgumentParser�add_argument��parsers �5/usr/lib/python3/dist-packages/cloudinit/cmd/clean.py�
get_parserr) * s� � � ��(�(��$�
�� �������
�
&�
� � ������
C� � � �������
J� � � �������
�
D�
� � �����
�
��
�2� �
� �M� c
�h � t g �� }|j � | r%t |j � D ]
}t |� � |rLt |� j
ddg� r0t D ]' |