Ресурс chef_group
Эта страница сгенерирована из исходного кода клиента Chef Infra. Чтобы предложить изменение, отредактируйте файл chef_group.rb и отправьте запрос на вытягивание в репозиторий Chef Infra Client.
Используйте ресурс chef_group для взаимодействия с объектами групп, существующими на сервере Chef.
Синтаксис
Синтаксис использования ресурса chef_group в рецепте:
chef_group 'name' do
attribute 'value' # see properties section below
...
action :action # see actions section below
end
где:
-
chef_groupсообщает клиенту Chef Infra использовать поставщикChef::Provider::ChefGroupво время выполнения Chef Infra Client -
name— имя блока ресурса -
attribute— ноль или более свойств, доступных для этого ресурса -
actionопределяет шаги, которые Chef Infra Client предпримет для приведения узла в желаемое состояние
Действия
Ресурс chef_group имеет следующие действия:
:create- По умолчанию.
:delete:nothing- Этот блок ресурса не выполняет действия, пока другой ресурс не уведомит его об этом. После получения уведомления этот блок ресурса либо выполняется немедленно, либо помещается в очередь для выполнения в конце выполнения Chef Infra Client.
Свойства
Ресурс chef_group имеет следующие свойства:
-
chef_server -
URL сервера Chef.
-
clients -
…
-
complete -
Используется для указания, определяет ли этот ресурс полностью chef-клиент. Когда
true, все свойства, не указанные этим ресурсом, будут сброшены до значений по умолчанию.
-
groups -
…
-
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_json -
Группа в формате JSON. Например:
{ :groupname => "chef" }
-
remove_clients -
…
-
remove_groups -
…
-
remove_users -
…
-
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
-
users -
…
Примеры
Этот ресурс не имеет примеров.
© 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_group/