2016-06-21 3 views
0

Я строю поваренную книгу, которая имеет требования к атрибутам узла. Если атрибуты узла не существуют, я хочу выйти из запуска клиента и вернуть соответствующую ошибку. Я пытаюсь выйти, когда атрибут верхнего уровня не существует, т.е .:Атрибуты верхнего и нижнего уровня шеф-повара

# Check for valid keepalived configuration on node 
if node.default['keepalived'] = "" 
    Chef::Application.fatal!("No keepalived configuration was set on the node. Please add some.") 
end 

Если узел [ «keepalived»] является массивом (как это должно быть) это не удается. Если он пуст (не существует), то он проходит.

Какое утверждение следует использовать для выхода, если узел ['keepalived'] не был установлен, но продолжен, если есть под-значения?

ответ

2

Два вопроса, один из которых вы опрокинули = vs ==. Вторая вещь, которую вы хотите проверить:

if !node['keepalived'] || node['keepalived'].empty? 
+0

Черт, эти = палки :) – user3063045

Смежные вопросы