Apenas para colocar como resposta também: você não pode.
O parâmetro namevar é path, então você não pode ter 2 recursos de arquivo com o mesmo caminho.
Verifique a documentação sobre recursos de arquivos: link
Estou usando o fantoche 3.8.4 no debian. Eu quero recursivamente definir o proprietário e grupo em um diretório de conjunto, mas apenas definir permissões no próprio diretório ou seja. Eu não quero chmod nada no dir apenas chown / chgrp.
Eu tentei o seguinte ...
file {[
"/foo/bar" ,
] :
ensure => directory,
owner => root,
group => bar,
recurse => true,
require => [
User[root],
Group[bar],
],
}
file {[
"/foo/bar" ,
] :
ensure => directory,
mode => 0640, # +x automatically added to directories
recurse => false,
}
Mas é claro que o fantoche reclama de uma declaração Duplicada: File [/ foo / bar] se você fizer isso.
Existe uma maneira de fazer isso sem ter que fazer o diretório de nível superior e depois todos os arquivos e pastas explicitamente?
Apenas para colocar como resposta também: você não pode.
O parâmetro namevar é path, então você não pode ter 2 recursos de arquivo com o mesmo caminho.
Verifique a documentação sobre recursos de arquivos: link
Não testado, mas isso deve funcionar:
Para o segundo recurso, nomeie-o de forma diferente e defina um caminho :
file {"/foo/bar_root":
path => "/foo/bar",
ensure => directory,
mode => 0640, # +x automatically added to directories
recurse => false,
}
Tags puppet puppetmaster