U
    -_gf                     @   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 DesignateZopenstack_designate)Z	openstackZ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rh| ddddg n| ddddg dddddddddddg}|  dd  |D  d!}| |}|d" d#kr|d$  D ]$}| d# }| j d%| d&d' qd S )(Nz6designate-manage pool generate_file --file /dev/stdoutz.*designate_centralz&openstack_designate_current_pools.yaml)Z	containerZsuggest_filename/etc/designate/*z/etc/designate/designate.confz/etc/designate/pools.yamlz#/designate/etc/designate/named.confz /designate/etc/designate/named/*z
/unbound/*Zall_logsz/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/*.logz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 idZstatusr   outputz(openstack recordset list --all-projects Z	recordset)Zsubdir)	Zadd_cmd_outputZget_container_by_nameZadd_copy_specvar_puppet_genvar_ansible_genZ
get_optionZexec_cmd
splitlinessplit)selfZsubcmdscmdZretZzoner   r   r
   setup   sd    



zOpenStackDesignate.setupc                 C   sJ   dddddddg}dd	 | d
}| d|d | | jd |d d S )NZpasswordZ
connectionZtransport_urlZadmin_passwordZssl_key_passwordZssl_client_key_passwordZmemcache_secret_keyz(^\s*(|z)\s*=\s*)(.*)r   z\1*********)joinZdo_path_regex_subr   )r   Zprotect_keysZregexpr   r   r
   postprocV   s         zOpenStackDesignate.postprocN)
__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr   r   r   r   r   r   r   r
   r      s   @r   c                   @   s   e Zd ZdZdS )RedHatdesignate)zopenstack-selinuxNr   r   r   Zpackagesr   r   r   r
   r   e   s   r   c                   @   s   e Zd ZdZdS )Ubuntudesignate)zdesignate-commonNr   r   r   r   r
   r   j   s   r   N)Zsos.report.pluginsr   r   r   r   r   r   r   r   r   r
   <module>	   s   Y