from .Framework import PIDCountService


class DNSServerCount(PIDCountService):
    def __init__(self):
        PIDCountService.__init__(self)
        self.pid_defs = [
        {
            # PowerDNS runs using the user 'named' on cPanel servers
            'name': 'pdns_server',
            'cmdline_contains': 'pdns_server',
            'user': 'named',
        },
        {
            # PowerDNS runs using the user 'pdns' when installed from the PowerDNS repository
            'name': 'pdns_server',
            'cmdline_contains': 'pdns_server',
            'user': 'pdns',
        },
        {
            # Bind runs as 'named' on all control panels.
            'name': 'named',
            'cmdline_contains': 'named',
            'user': 'named',
        },
        {
            # MyDNS runs using the use 'named' on cPanel servers.
            'name': 'mydns',
            'cmdline_contains': 'mydns',
            'user': 'named',
        },
        {
            # NSD runs using the use 'named' on cPanel servers.
            'name': 'nsd',
            'cmdline_contains': 'nsd',
            'user': 'named',
        },
    ]