Como configurar árvores de diretórios com o fantoche?

2

Eu tenho vários diretórios e para cada eu quero configurar os mesmos subdiretórios com o fantoche.

Isso obviamente não funciona:

$inst = ['/i1', '/i2', '/i3']
$subdirs = ['subdir1', 'subdir2']

file {"${inst}/${subdirs}":
      ensure=>directory,
      recurse=>true,
      purge=>true,
      force=>true,
      owner=>$username,
      group=>$group,
      source=>"puppet:///modules/mymodule/subdirtemplates/${subdirs}/",
      mode=>'644';
}

Não há como concatenar cada membro da primeira matriz com cada membro da segunda matriz.

Em qualquer linguagem de programação normal, você usaria dois loops for, ou alguma função de mapeamento embutido ou algo assim, mas em fantoches? Preciso migrar para o novo DSL Ruby?

    
por Cpt. Senkfuss 01.08.2013 / 11:45

1 resposta

1

hmm. Eu resolvi assim:

$inst = ['/i1', '/i2', '/i3']
#$subdirs = ['subdir1', 'subdir2']

file {$inst:
  ensure=>directory,
  recurse=>true,
  purge=>true,
  force=>true,
  owner=>$username,
  group=>$group,
  source=>"puppet:///modules/mymodule/subdirtemplates/",
  mode=>'644';
}

Assegurei-me de que os sub-modelos continham todos os diretórios que eu queria estar em cada instância. Funcionou para mim, mas talvez alguém ainda tenha uma resposta melhor para configurar árvores de diretórios nos casos em que você não tem uma árvore de modelos.

    
por 01.08.2013 / 14:04

Tags