�
i��d� � �0 � d dl mZmZmZ G d� dee� Zy)� )�Plugin�UbuntuPlugin� PluginOptc � � e Zd ZdZdZdZdZdZ edde d� � ed
de d� � edde d
� � gZ
d� Zd� Zd� Z
d� Zd� Zy)�MaaszUbuntu Metal-As-A-Service�maas)�sysmgmt)r zmaas-common)z
maas-dhcpdzmaas-dhcpd6z maas-httpz
maas-proxyz
maas-rackdzmaas-regiondzmaas-syslogzsnap.maas.supervisor�profile-name� zName of the remote API)�default�val_type�desc�urlzURL of the remote API�credentialszCredentials, or the API keyc �p � | j d� xr$ | j d� xr | j d� S )Nr r r
)�
get_option��selfs �9/usr/lib/python3/dist-packages/sos/report/plugins/maas.py�_has_login_optionszMaas._has_login_options, s4 � ����u�%� 0�$�/�/�-�*H� 0�����/� 0� c
� � | j d| j d� �d| j d� �d| j d� ��� }|d dk( S )Nzmaas login r
� r r �statusr )�exec_cmdr )r �rets r �_remote_api_loginzMaas._remote_api_login0 sJ � ��m�m�����/�����&����
�.�
�
�� �8�}��!�!r c �b � | j j j d� }|r|d dk( S y)Nr �pkg_manager�snapF)�policy�package_manager�pkg_by_name)r �maas_pkgs r �_is_snap_installedzMaas._is_snap_installed; s2 � ��;�;�.�.�:�:�6�B����M�*�f�4�4�r c �� � | j � | _ | j r8| j ddg� | j d� | j g d�� n&| j g d�� | j ddg� | j d� r| j d g� | j
� rF| j � r$| j d
| j d� z � y | j d� y y )
Nzsnap info maaszmaas statusz'/var/snap/maas/current/bind/session.key) z/var/snap/maas/common/logz/var/snap/maas/common/snap_modez/var/snap/maas/current/*.confz/var/snap/maas/current/bindz/var/snap/maas/current/httpz"/var/snap/maas/current/supervisordz/var/snap/maas/current/preseedsz/var/snap/maas/current/proxyz/var/snap/maas/current/rsyslog)z/etc/squid-deb-proxyz /etc/maasz/var/lib/maas/dhcp*z/var/lib/maas/http/*.confz/var/lib/maas/*.confz/var/lib/maas/rsyslogz/var/log/maas*z/var/log/upstart/maas-*zapt-cache policy maas-*z apt-cache policy python-django-*zmaas-region-controllerzmaas-region dumpdataz"maas %s commissioning-results listr
z6Cannot login into MAAS remote API with provided creds.)
r% �_is_snap�add_cmd_output�add_forbidden_path�
add_copy_spec�is_installedr r r �
_log_errorr s r �setupz
Maas.setupA s � ��/�/�1��
��=�=���� ��!�
�
�#�#�$M�N����
�
�
��� �
�
���)�2�!�
�
���5�6����&�!�
� �"�"�$��%�%�'��#�#�$H�$(�O�O�N�$C�%D� E� ���L�N� %r c �L � | j rd}nd}| j |dd� y )Nz(/var/snap/maas/current/maas/regiond.confz/etc/maas/regiond.confz(database_pass\s*:\s*)(.*)z
\1********)r' |