Chef - Data Bag Query

Можно ли сделать следующее при запросе пакета данных для установки атрибута узла?

У меня есть ряд элементов пакета данных, которые соответствуют атрибутам моего локального узла ['fqdn'].

Можно ли динамически вставить этот атрибут в строку запроса пакета данных, приведенный ниже пример не работает, какие-либо другие идеи?

default['test']['attribute'] = Chef::DataBagItem.load('databagname', '<%= node[:platform_version] %>')['test']['bag']['location']

1 ответ

DataBagItem.load Метод возвращает объект базы данных. Поэтому я обычно сохраняю возвращенный объект пакета данных во временной переменной, а затем получаю нужный элемент из пакета данных, например, с помощью хэша. Например:

temp = Chef::DataBagItem.load('databagname', node.platform_version)
node.default['test']['attribute'] = temp['id'] 

Вы можете заменить идентификатор нужным элементом вашего пакета данных.

С другой стороны, если вы имели в виду хранить пакет данных дырок в одном атрибуте, я не пробовал и не знаю, возможно ли это.

Другие вопросы по тегам