¿Cuál es el enfoque recomendado para usar un atributo en un recurso, como una plantilla, cuando no hay un valor predeterminado razonable para ese atributo? Se espera que el valor del atributo se proporcione en tiempo de ejecución. Si no es así, la ejecución de la receta del chef debería ser errónea.
La forma en que tengo cosas ahora es que el valor del atributo cuando se aplica a la plantilla es una cadena vacía.
/recipes/default.rb
template "/var/tmp/my_script.sh" do
source "my_script.erb"
mode "0755"
variables({
:url => node['environment']['url']
})
end
/templates/default/my_script.erb
#!/bin/bash
echo "The url is: <%= @url %>"
El archivo /var/tmp/my_script.sh resultante se vería así:
#!/bin/bash
echo "The url is: "
Pero desearía que solo fuera un error. ¿Algún consejo?