Como posso usar o Puppet / Augeas para gerenciar a configuração do exim dc_local_interfaces?

2

Eu preciso definir o valor de "dc_local_interfaces" para "127.0.0.1; :: 1", mas o ponto e vírgula evita isso.

Esta é a minha definição em Puppet:

augeas { "/etc/exim4/update-exim4.conf.conf":
  lens    => "Shellvars.lns",
  incl    => "/etc/exim4/update-exim4.conf.conf",
  changes => "set dc_local_interfaces 127.0.0.1;::1",
}

Eu tentei diferentes maneiras de definir o valor (usando nenhum apóstrofo, usando apóstrofos, usando apóstrofos com escape de barra invertida), mas nenhum funcionou. As coisas funcionam quando eu uso o augtool:

set /files/etc/exim4/update-exim4.conf.conf/dc_local_interfaces "'127.0.0.1;::1'"
    
por Larsen 23.04.2013 / 13:02

2 respostas

2

(depois de algumas horas eu posso responder isso diretamente ao invés de usar um comentário (para melhor formatação))

Enquanto eu escrevia a questão e testava em paralelo, encontrei a resposta sozinho, mas como há pouco a encontrar para o exim / marionete em geral, decidi postar isso mesmo assim, na esperança de que outros o achem útil. / p>

Você tem que usar apóstrofos fora para que você possa usar aspas dentro para poder usar apóstrofos com escape no interior interno novamente. Sim. E, na verdade, parece ainda mais feio do que parece (os espaços agora também funcionam):

changes => 'set dc_local_interfaces "\'127.0.0.1;::1;test 1 2 3\'"',
    
por 24.04.2013 / 09:57
0

Minha solução assim:

class exim4::augeas (
  $config = undef,
) {
  if $config {
    create_resources(augeas, $config, $defaults)
  }
  else {
    $hiera_config = hiera_hash('exim4::augeas', undef)
    if $hiera_config {
      create_resources(augeas, $hiera_config)
    }
  }
}

E no hiera:

exim4::augeas:
  'exim4':
    context: '/files/etc/exim4/update-exim4.conf.conf'
    lens: 'Shellvars.lns'
    incl: '/etc/exim4/update-exim4.conf.conf'
    changes:
      - "set dc_other_hostnames \"\'something.test.com\'\""

Na verdade, não é muito exim específico ...

    
por 20.01.2015 / 14:51