Eu tenho tentado descobrir uma maneira de testar se um recurso já está definido em outro arquivo e, se não for, criá-lo? Um exemplo rápido:
if File[$local_container] {
alert("Testing - It existed $local_container")
} else {
file{ "$local_container":
ensure => directory,
}
}
No entanto - File[$local_container]
sempre parece avaliar como verdadeiro. Existe uma maneira de fazer isso?
Você quer dizer "testar se um recurso já está definido "? Se você definir um recurso (por exemplo
file {}
, etc), o Puppet criará o que você está descrevendo se ainda não existir (supondo que você passeensure => present
, é claro).Para verificar se um recurso já está definido no catálogo ou não:
Nota:
defined()
é dependente da ordem de análise .fonte
Ou....
E fique de olho nessas citações e suspensórios ...
fonte
simplesmente,
fonte
"$local_container"
arquivo já tiver sido definido em outro lugar (por exemplo, por algo que deseje controlar as permissões / proprietário), você não poderá definir o mesmo recurso duas vezes.