Estoy tratando de escribir una función en la marioneta que hará una failsi 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 ifdeclaració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/testque 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