I think that still means the config file will be purged. Maybe if we manually define the file (without content), it could work. I do feel that it could be fragile. We would also have to be careful because there is other code that can include it. See https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/vhost.pp#L363 for example. In this patches the parse order of puppet-foreman and puppet-puppet is already important so that wouldn't change.