Ресурс chef_data_bag_item
Эта страница сгенерирована из исходного кода Chef. Исходный код Chef. Чтобы предложить изменение, отредактируйте файл chef_data_bag_item.rb и отправьте запрос на вытягивание в репозиторий Chef.
Бэг данных — это контейнер связанных элементов данных бэга, где каждый отдельный элемент данных бэга — это файл JSON. knife может загрузить элемент данных бэга, указав имя бэга данных, к которому принадлежит элемент, а затем имя файла элемента данных бэга. Единственное структурное требование к элементу данных бэга — это наличие id:
{
/* This is a supported comment style */
// This style is also supported
"id": "ITEM_NAME",
"key": "value"
}
где
-
keyиvalue— пара «ключ-значение» для каждого дополнительного атрибута внутри элемента данных бэга -
/* ... */и// ...показывают два способа добавления комментариев к элементу данных бэга
Используйте ресурс chef_data_bag_item для управления элементами данных бэга.
Синтаксис
Синтаксис использования ресурса chef_data_bag_item в рецепте:
chef_data_bag_item 'name' do
attribute 'value' # see properties section below
...
action :action # see actions section below
end
где:
-
chef_data_bag_itemуказывает клиенту Chef Infra использовать поставщикаChef::Provider::ChefDataBagItemво время выполнения Chef Infra Client -
name— имя блока ресурса и имя элемента данных бэга -
attribute— ноль (или более) свойств, доступных для этого ресурса -
actionопределяет действия, которые Chef Infra Client предпримет для приведения узла в нужное состояние
Действия
Ресурс chef_data_bag_item имеет следующие действия:
:create- По умолчанию. Используется для создания элемента данных бэга.
:delete- Используется для удаления элемента данных бэга.
:nothing- Этот блок ресурса не выполняет действий, пока не получит уведомление от другого ресурса. После уведомления этот блок ресурса выполняется немедленно или помещается в очередь для выполнения в конце выполнения Chef Infra Client.
Свойства
Ресурс chef_data_bag_item имеет следующие свойства:
chef_serverURL сервера Chef Infra.
completeУказывает, определяет ли этот ресурс элемент данных бэга полностью. При
true, любые свойства, не указанные в этом ресурсе, будут сброшены до значений по умолчанию.
encryptУказывает, используется ли шифрование для элемента данных бэга.
encryption_versionМинимальная требуемая версия шифрования бэга данных. Возможные значения:
0,1и2. Когда все машины в организации работают с версией chef-client 11.6 (или выше), рекомендуется установить это значение в2.
ignore_failure-
Тип Ruby: true, false | Значение по умолчанию:
falseПродолжать выполнение рецепта, если ресурс потерпит неудачу по какой-либо причине.
notifies-
Тип Ruby: Символ, Chef::Resource\[Строка\]
Ресурс может уведомить другой ресурс о действии при изменении его состояния. Укажите
'resource[name]',:action, которое должен выполнить ресурс, и затем:timerдля этого действия. Ресурс может уведомить несколько ресурсов; для каждого уведомляемого ресурса используйте операторnotifies.Если указанный ресурс не существует, возникает ошибка. В отличие от этого,
subscribesне завершится с ошибкой, если исходный ресурс не найден.Таймер указывает момент во время выполнения Chef Infra Client, в котором выполняется уведомление. Доступны следующие таймеры:
:beforeУказывает, что действие над уведомленным ресурсом должно выполняться до обработки блока ресурса, в котором находится уведомление.
:delayedПо умолчанию. Указывает, что уведомление должно быть помещено в очередь и выполнено в конце выполнения Chef Infra Client.
-
:immediate,:immediately Указывает, что уведомление должно выполняться немедленно для каждого уведомленного ресурса.
Синтаксис
notifies:notifies :action, 'resource[name]', :timer
raw_dataИспользуется для создания бэга данных из локального файла из
./data_bags/bag_name/file.
raw_json-
Элемент данных бэга в формате JSON. Например:
{ "id": "adam", "real_name": "Adam Brent Jacob" }
retries-
Тип Ruby: Целое число | Значение по умолчанию:
0Количество попыток перехватить исключения и повторить ресурс.
retry_delay-
Тип Ruby: Целое число | Значение по умолчанию:
2Задержка повтора (в секундах).
subscribes-
Тип Ruby: Символ, Chef::Resource\[Строка\]
Ресурс может слушать другой ресурс и выполнять действия, если состояние слушаемого ресурса изменится. Укажите
'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_item/