Estoy tratando de escribir una función en la marioneta que hará una fail
si la ruta de acceso del directorio no existe.
if File["/some/path"]
siempre devuelve verdadero, y if defined(File["/some/path"])
solo devuelve verdadero si el recurso está definido en títere, independientemente de si realmente existe.
¿Hay alguna manera de hacer esto con una if
declaración simple ?
Gracias
Respuestas:
Solución alternativa para esto: utilícelo solo en una "prueba" ejecutiva y solicítelo en la acción que desea ejecutar:
fuente
Yo también estaba teniendo dificultades para descubrir cómo evitar que un módulo se ejecute si no hay un directorio presente. Esto es lo que encontré que funcionó para mí.
Agregar el camino es lo que realmente hizo el truco para mí. Por alguna razón, incluso si agregué la ruta al comando de prueba, ya
/bin/test
que no parecía funcionar correctamente.Espero que esto ayude a otros que puedan estar teniendo el mismo problema.
fuente
También podría usar la función incorporada find_file () para ello ... devuelve undef cuando el archivo / ruta no existe y una cadena si existe.
https://puppet.com/docs/puppet/5.5/function.html#findfile
fuente