Eu entendo que você quer que o serviço iptables seja ativado e executado somente se o / etc / sysconfig / iptables existir. Uma opção fácil seria criar um fato personalizado chamado iptables (ou qualquer coisa que lhe agrade) e usar esse booleano para decidir se deve ou não executar o bloco de serviço. Por exemplo:
Crie um fato personalizado em seu módulo, em $ module_name / lib / facter:
Facter.add("iptables") do
setcode do
if Facter::Util::Resolution.exec('test -f /etc/sysconfig/iptables') then
"true"
else
"false"
end
end
end
Então, no seu bloco de serviço, tem algo parecido com isto:
if $::iptables == "true" {
service { "iptables":
enable => true,
ensure => running,
}
}
Isso só executará esse bloco de serviço se esse arquivo existir. Eu acho que é isso que você quer.