Ресурс chef_data_bag
Эта страница сгенерирована из исходного кода Chef. Чтобы предложить изменение, отредактируйте файл chef_data_bag.rb и отправьте заявку на включение изменений в репозиторий Chef.
Мешки данных хранят глобальные переменные в формате JSON. Мешки данных индексируются для поиска и могут быть загружены кулинарией или обработаны во время поиска.
Используйте ресурс chef_data_bag для управления мешками данных.
Синтаксис
Синтаксис использования ресурса chef_data_bag в рецепте:
chef_data_bag 'name' do
attribute 'value' # see properties section below
...
action :action # see actions section below
end
где:
-
chef_data_bagуказывает клиенту Chef Infra использовать поставщикChef::Provider::ChefDataBagво время выполнения. -
name— имя блока ресурса и имя мешка данных. -
attribute— ноль или более свойств, доступных для этого ресурса. -
actionопределяет шаги, которые клиент Chef Infra выполнит для приведения узла к желаемому состоянию.
Действия
Ресурс chef_data_bag имеет следующие действия:
:create- По умолчанию. Используется для создания мешка данных.
:delete- Используется для удаления мешка данных.
:nothing- Этот блок ресурса не выполняет действий, пока не получит уведомление от другого ресурса. После получения уведомления этот блок ресурса либо выполняется немедленно, либо помещается в очередь для выполнения в конце выполнения Chef Infra Client.
Свойства
Ресурс chef_data_bag имеет следующие свойства:
chef_serverURL сервера Chef Infra.
ignore_failure-
Тип в Ruby: true, false | Значение по умолчанию:
falseПродолжать выполнение рецепта, если ресурс потерпит неудачу по какой-либо причине.
nameИмя мешка данных.
notifies-
Тип в Ruby: Символ, Chef::Resource\[String\]
Ресурс может уведомлять другой ресурс о выполнении действия при изменении его состояния. Укажите
'resource[name]',:actionдействия этого ресурса и:timerдля этого действия. Ресурс может уведомлять несколько ресурсов; для каждого уведомляемого ресурса используйтеnotifiesинструкцию.Если указанный ресурс не существует, возникает ошибка. В отличие от
subscribes, которое не завершится ошибкой, если исходный ресурс не найден.Таймер определяет момент во время выполнения Chef Infra Client, когда выполняется уведомление. Доступны следующие таймеры:
:beforeУказывает, что действие над уведомлённым ресурсом должно выполняться до обработки блока ресурса, в котором расположено уведомление.
:delayedПо умолчанию. Указывает, что уведомление должно быть помещено в очередь и выполнено в конце выполнения Chef Infra Client.
-
:immediate,:immediately Указывает, что уведомление должно выполняться немедленно для каждого уведомленного ресурса.
Синтаксис
notifies:notifies :action, 'resource[name]', :timer
retries-
Тип в Ruby: Целое число | Значение по умолчанию:
0Количество попыток перехвата исключений и повторной попытки ресурса.
retry_delay-
Тип в Ruby: Целое число | Значение по умолчанию:
2Задержка повторной попытки (в секундах).
subscribes-
Тип в Ruby: Символ, Chef::Resource\[String\]
Ресурс может прослушивать другой ресурс и затем выполнять действие, если состояние прослушиваемого ресурса изменяется. Укажите
'resource[name]',:actionдействия и:timerдля этого действия.Обратите внимание, что
subscribesне применяет указанное действие к ресурсу, за которым он следит - например:file '/etc/nginx/ssl/example.crt' do mode '0600' owner 'root' end service 'nginx' do subscribes :reload, 'file[/etc/nginx/ssl/example.crt]', :immediately endВ этом случае свойство
subscribesперезагружает службуnginxвсякий раз, когда файл сертификата, расположенный в/etc/nginx/ssl/example.crt, обновляется.subscribesне вносит никаких изменений в сам файл сертификата, а только следит за изменением файла и выполняет действие:reloadдля своего ресурса (в данном примереnginx) при обнаружении изменения.Если другой ресурс не существует, подписка не вызовет ошибку. В отличие от более строгой семантики
notifies, которая вызовет ошибку, если другой ресурс не существует.Таймер определяет момент во время выполнения Chef Infra Client, когда выполняется уведомление. Доступны следующие таймеры:
:beforeУказывает, что действие над уведомлённым ресурсом должно выполняться до обработки блока ресурса, в котором расположено уведомление.
:delayedПо умолчанию. Указывает, что уведомление должно быть помещено в очередь и выполнено в конце выполнения Chef Infra Client.
-
:immediate,:immediately Указывает, что уведомление должно выполняться немедленно для каждого уведомленного ресурса.
Синтаксис
subscribes:subscribes :action, 'resource[name]', :timer
Примеры
Этот ресурс не имеет примеров.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/resources/chef_data_bag/