2015-02-03 4 views
0

Я пытаюсь использовать «not_if» условие в шаблоне ресурса, как представлены на docs.chef.ioкак использовать «» not_if условие на шаблоне ресурса

template "/tmp/somefile" do 
    mode '0644' 
    source "somefile.erb" 
    not_if { node[:some_value] } 
end 

Я новичок повар и я м не знаете, как приступить к создать что-то, что эффективно выполняет следующее:

if 'instance' (in node['project']['instance']) == nil 
do NOT do anything for this template 

Я хотел бы использовать условие not_if, но я не знаю, как проверить «например» == ноль.

Буду признателен за любую помощь. Спасибо,

ответ

0

как о

not_if { node['project']['instance'].nil? } 

Это проверить, что значение узла [ 'проекта'] [ 'экземпляр'] не равен нулю. Он также потерпит неудачу, если узел ['project'] окажется нулевым, поэтому, если вы не уверены, вам понадобятся:

not_if { node['project'].nil? || node['project']['instance'].nil? } 
+0

Ум, чтобы объяснить это немного? ;) –

+0

не проверял бы, если ['project'] ['instance'] объединен равным нулю? что если 'project! = nil, но' instance '== nil? – david

+0

Приведенная ниже ошибка: ArgumentError ------------- Invalid only_if/not_if command: true (TrueClass) – david