if node.has_bundle('pppd'):
    files['/etc/ppp/ip-up.d/wide-dhcp6c'] = {
        'source': 'ip-up',
        'content_type': 'mako',
        'context': node.metadata.get('wide-dhcp6c'),
        'mode': '0755',
        'triggers': {
            'svc_systemd:wide-dhcpv6-client:restart',
        },
    }

    files['/etc/ppp/ip-down.d/wide-dhcp6c'] = {
        'source': 'ip-down',
        'content_type': 'mako',
        'context': node.metadata.get('wide-dhcp6c'),
        'mode': '0755',
        'triggers': {
            'svc_systemd:wide-dhcpv6-client:restart',
        },
    }

    # Will be started and stopped by pppd.
    SHOULD_BE_RUNNING = None
    SHOULD_BE_ENABLED = False
else:
    SHOULD_BE_RUNNING = True
    SHOULD_BE_ENABLED = True

files['/etc/wide-dhcpv6/dhcp6c.conf'] = {
    'content_type': 'mako',
    'context': node.metadata.get('wide-dhcp6c'),
    'triggers': {
        'svc_systemd:wide-dhcpv6-client:restart',
    },
}

files['/etc/systemd/system/wide-dhcpv6-client.service'] = {
    'content_type': 'mako',
    'context': node.metadata.get('wide-dhcp6c'),
    'triggers': {
        'action:systemd-reload',
        'svc_systemd:wide-dhcpv6-client:restart',
    },
}

svc_systemd = {
    'wide-dhcpv6-client': {
        'running': SHOULD_BE_RUNNING,
        'enabled': SHOULD_BE_ENABLED,
        'needs': {
            'file:/etc/systemd/system/wide-dhcpv6-client.service',
            'file:/etc/wide-dhcpv6/dhcp6c.conf',
        },
    },
}