Estou tentando escrever uma função no fantoche que fará um fail
se o caminho do diretório passado não existir.
if File["/some/path"]
sempre retorna true e if defined(File["/some/path"])
somente retorna true se o recurso estiver definido no fantoche, independentemente de ele realmente existir.
Existe uma maneira de fazer isso com uma if
declaração simples ?
obrigado
Respostas:
Solução alternativa para isso: use apenas se um "teste" executivo e exigir em sua ação que você deseja executar:
fonte
Eu também estava tendo dificuldade em descobrir como impedir a execução de um módulo se um diretório não estivesse presente. Foi o que descobri que funcionou para mim.
Adicionar o caminho é o que realmente fez o truque para mim. Por alguma razão, mesmo se eu adicionasse o caminho ao comando test, como
/bin/test
se não parecesse funcionar corretamente.Espero que isso ajude outras pessoas que possam estar tendo o mesmo problema.
fonte
Você também pode usar a função interna find_file () para ela ... ela retorna undef quando o arquivo / caminho não existe e uma string, se existir.
https://puppet.com/docs/puppet/5.5/function.html#findfile
fonte