Je sais que c'est plus une ruby
question que chef
mais...
J'ai quelques attributs comme :
default['my_cookbook']['some_namespace1']['some_attribute1'] = 'some_value1'
default['my_cookbook']['some_namespace1']['some_attribute2'] = 'some_value2'
default['my_cookbook']['some_namespace1']['some_attribute2'] = 'some_value3'
...
default['my_cookbook']['some_namespace2']['some_attribute1'] = 'some_value1'
default['my_cookbook']['some_namespace2']['some_attribute2'] = 'some_value2'
default['my_cookbook']['some_namespace2']['some_attribute2'] = 'some_value3'
...
D'autre part, je crée une ressource modèle comme ceci :
template 'template_name' do
source 'template_source.erb'
variables (
my_namespace_1: node['my_cookbook']['some_namespace1'],
my_namespace_2: node['my_cookbook']['some_namespace2']
)
end
Ensuite, dans le template_source.erb
J'essaie :
...
<%= @my_namespace_1['some_attribute1'] %> #=> 'some_value1'
...
Cependant, lorsque je lance Kitchen, j'obtiens ceci, au lieu de 'some_value1'
:
Chef::Mixin::Template::TemplateError
------------------------------------
undefined method `[]' for nil:NilClass
Comment dois-je envoyer la variable du modèle pour l'utiliser de cette façon ?