Honestamente, usar o recurso host
é a maneira mais simples de fazer isso. Você só tem que definir os hosts que você quer controlar pelo fantoche, e você ainda pode editar o resto do arquivo manualmente (mesmo que o Puppet caia no cabeçalho que diz para você não fazer isso).
O módulo augeas
é um exagero para um arquivo de hosts, porque apenas duplica a funcionalidade do recurso host
(embora não adicione o cabeçalho "não edite este arquivo").
Se você realmente deseja algo mais complicado ou deseja ter um bom controle sobre o posicionamento das linhas no arquivo, use o módulo de concatenar com uma fonte local para um dos fragmentos. Há um exemplo para esse tipo de coisa (usando o arquivo motd) na documentação concat
.
Mas, na verdade, basta usar o recurso host
para os hosts que você deseja definir no Puppet e editar os arquivos dos hosts locais para qualquer outra coisa que você precisar.
Observe também que você pode escrever as definições do host de maneira bastante compacta no Puppet:
host {
# Public IPs - eth0
'front-01': ip => '192.168.1.103';
'front-02': ip => '192.168.1.106';
# Private IPs - eth1
'priv0-0': ip => '192.169.40.201';
'priv0-1': ip => '192.169.40.202';
'priv1-0': ip => '192.169.40.207';
'priv1-1': ip => '192.169.40.208';
# Virtual IPs - eth0:1
'vip-01': ip => '192.169.50.202';
'vip-02': ip => '192.169.50.205';
}