Spec-Zone.ru › Chef 16

Ресурс 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_server

URL сервера 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_data_bag_item
  • Синтаксис
  • Действия
  • Свойства
  • Примеры

© 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API