Próbowałem znaleźć sposób, aby sprawdzić, czy zasób jest już zdefiniowany w innym pliku, a jeśli nie, to go utworzyć? Szybki przykład:
if File[$local_container] {
alert("Testing - It existed $local_container")
} else {
file{ "$local_container":
ensure => directory,
}
}
Jednak - File[$local_container]
zawsze wydaje się oceniać jako prawda. Czy jest na to sposób?
Masz na myśli „przetestuj, jeśli zasób jest już zdefiniowany ”? Jeśli zdefiniujesz zasób (tj.
file {}
Itp.), Puppet stworzy to, co opisujesz, jeśli jeszcze nie istnieje (zakładając, że zdałeśensure => present
).Aby sprawdzić, czy zasób jest już zdefiniowany w katalogu, czy nie:
Uwaga:
defined()
to zależy od kolejności parsowania .źródło
Lub....
I miej oko na te cytaty i nawiasy klamrowe ....
źródło
po prostu,
źródło
"$local_container"
plik został już zdefiniowany w innym miejscu (np. Przez coś, co chciałoby kontrolować uprawnienia / właściciela), nie możesz zdefiniować tego samego zasobu dwa razy.