Spec-Zone.ru › Chef 16

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

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

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

Spec-Zone.ru

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