Obter nome do arquivo para o modelo de boneco

4

Eu tenho um arquivo que gostaria de reutilizar para algumas finalidades diferentes. O arquivo é 90% o mesmo em todos os usos, apenas pequenas diferenças. Eu prefiro não replicar o conteúdo em vários arquivos no fantoche, então existe uma maneira de fazer algo como

file { "/tmp/file1" :
  content => template("module/template.erb")
}

file { "/tmp/file2" :
  content => template("module/template.erb")
}

E no modelo:

Jack
John
James
<% if file == "/tmp/file2" %>
Jim
<% end %>
    
por Noodles 25.09.2012 / 04:43

2 respostas

5

Você deve usar uma classe definida ou parametrizada, assim você pode obter name do que você gosta (IMHO, deve ser um define):

define filename($template = "mytemplate.erb") {
  file { $name:
    content => template($template)
  }
}

node 'host' {

  filename { "/tmp/file1": }
  filename { "/tmp/file2": }
}

E corrija seu modelo para:

Jack
John
James
<% if name == "/tmp/file2" %>
Jim
<% end %>
    
por 25.09.2012 / 04:48
0

Parece que você quer criar um arquivo de configuração a partir de fragmentos?

link

Eu não tentei isso ainda, mas eu quero. Deixe-me saber como vai se você tentar isso.

    
por 25.09.2012 / 04:46