o
    O6uff  ã                   @   sL   d dl mZmZmZ G dd„ deƒZG dd„ deeƒZG dd„ deeƒZdS )	é    )ÚPluginÚRedHatPluginÚUbuntuPluginc                   @   s0   e Zd ZdZdZdZdZdZdd„ Zdd	„ Z	d
S )ÚOpenStackDesignatezOpenstack DesignateÚopenstack_designate)Ú	openstackÚopenstack_controllerz//var/lib/config-data/puppet-generated/designatez&/var/lib/config-data/ansible-generatedc              	   C   sâ   | j d|  d¡dd� |  d| jd | jd | jd | jd	 | jd
 g¡ |  d¡r2|  g d¢¡ n|  g d¢¡ g d¢}|   dd„ |D ƒ¡ d}|  |¡}|d dkrm|d  ¡ D ]}| ¡ d }| j d|› �dd� qZd S d S )Nz6designate-manage pool generate_file --file /dev/stdoutz.*designate_centralz&openstack_designate_current_pools.yaml)Ú	containerÚsuggest_filenameú/etc/designate/*z/etc/designate/designate.confz/etc/designate/pools.yamlz#/designate/etc/designate/named.confz /designate/etc/designate/named/*z
/unbound/*Úall_logs)z/var/log/designate/*z/var/log/containers/designate/*z$/var/log/containers/designate-bind/*z/var/log/containers/unbound/*)z/var/log/designate/*.logz#/var/log/containers/designate/*.logz(/var/log/containers/designate-bind/*.logz!/var/log/containers/unbound/*.log)zdns service listzdns quota listzptr record listztld listz<tsigkey list --column name --column algorithm --column scopezzone blacklist listzzone export listzzone import listz	zone listzzone transfer accept listzzone transfer request listc                 S   s   g | ]}d |› d�‘qS )z
openstack z --all-projects© )Ú.0Úsubr   r   úH/usr/lib/python3/dist-packages/sos/report/plugins/openstack_designate.pyÚ
<listcomp>H   s    ÿz,OpenStackDesignate.setup.<locals>.<listcomp>z"openstack zone list -f value -c idÚstatusr   Úoutputz(openstack recordset list --all-projects Ú	recordset)Úsubdir)	Úadd_cmd_outputÚget_container_by_nameÚadd_copy_specÚvar_puppet_genÚvar_ansible_genÚ
get_optionÚexec_cmdÚ
splitlinesÚsplit)ÚselfÚsubcmdsÚcmdÚretÚzoner   r   r   Úsetup   s>   ýú


ÿ
þýzOpenStackDesignate.setupc                 C   s@   g d¢}dd  |¡› d�}|  d|d¡ |  | jd |d¡ d S )N)ÚpasswordÚ
connectionÚtransport_urlÚadmin_passwordÚssl_key_passwordÚssl_client_key_passwordÚmemcache_secret_keyz(^\s*(ú|z)\s*=\s*)(.*)r   z\1*********)ÚjoinÚdo_path_regex_subr   )r   Úprotect_keysÚregexpr   r   r   ÚpostprocV   s   þzOpenStackDesignate.postprocN)
Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesr   r   r$   r1   r   r   r   r   r      s    @r   c                   @   ó   e Zd ZdZdS )ÚRedHatdesignate)zopenstack-selinuxN©r2   r3   r4   Úpackagesr   r   r   r   r9   e   ó    r9   c                   @   r8   )ÚUbuntudesignate)zdesignate-commonNr:   r   r   r   r   r=   j   r<   r=   N)Úsos.report.pluginsr   r   r   r   r9   r=   r   r   r   r   Ú<module>   s   Y