Ресурс chef_client
Эта страница сгенерирована из исходного кода клиента Chef Infra. Чтобы предложить изменение, отредактируйте файл chef_client.rb и отправьте запрос на вытягивание в репозиторий Chef Infra Client.
Используйте ресурс chef_client для создания клиентов на вашем сервере Chef Infra из кода кулинарной книги Chef Infra.
Синтаксис
Синтаксис использования ресурса chef_client в рецепте следующий:
chef_client 'name' do
attribute 'value' # see properties section below
...
action :action # see actions section below
end
где:
-
chef_clientсообщает клиенту Chef Infra использовать поставщикChef::Provider::ChefClientво время выполнения клиента Chef Infra -
name— имя блока ресурса; когда свойствоnameне указано в составе рецепта,nameтакже является именем клиента Chef Infra -
attribute— ноль (или более) свойств, доступных для этого ресурса -
actionопределяет действия, которые выполнит клиент Chef Infra, чтобы привести узел в нужное состояние
Действия
Ресурс chef_client имеет следующие действия:
:create- По умолчанию. Используется для создания клиента chef-client.
:delete- Используется для удаления клиента chef-client.
:nothing- Этот блок ресурса не действует, пока не получит уведомление от другого ресурса о действии. После уведомления этот блок ресурса либо выполняется немедленно, либо добавляется в очередь для выполнения в конце выполнения клиента Chef Infra.
:regenerate_keys- Используется для перегенерации открытого ключа RSA для клиента chef-client.
Свойства
Ресурс chef_client имеет следующие свойства:
-
admin -
Указывает, является ли клиент Chef Infra клиентом API.
-
chef_server -
URL сервера Chef Infra.
-
complete -
Указывает, определяет ли этот ресурс полностью клиента chef-client. Если
true, любое свойство, не указанное в этом ресурсе, будет сброшено до значений по умолчанию.
-
ignore_failure - Тип Ruby: true, false | Значение по умолчанию:
falseПродолжать выполнение рецепта, если ресурс завершился неудачно по любой причине.
-
name -
Имя клиента Chef Infra.
-
notifies - Тип Ruby: Символ, Chef::Resource\[String\]
Ресурс может уведомить другой ресурс о выполнении действия при изменении его состояния. Укажите
'resource[name]',:actionдействия этого ресурса, а затем:timerэтого действия. Ресурс может уведомлять несколько ресурсов; для каждого уведомляемого ресурса используйте операторnotifies.Если указанный ресурс не существует, возникает ошибка. В отличие от этого,
subscribesне завершится ошибкой, если исходный ресурс не найден.Таймер указывает момент во время выполнения клиента Chef Infra, когда выполняется уведомление. Доступны следующие таймеры:
:before-
Указывает, что действие с уведомленным ресурсом должно быть выполнено до обработки блока ресурса, в котором находится уведомление.
:delayed-
По умолчанию. Указывает, что уведомление должно быть помещено в очередь и затем выполнено в конце выполнения клиента Chef Infra.
-
:immediate,:immediately -
Указывает, что уведомление должно быть выполнено немедленно, для каждого уведомленного ресурса.
Синтаксис для
notifies:notifies :action, 'resource[name]', :timer
-
output_key_format -
Указывает формат открытого ключа. Возможные значения:
pem,der, илиopenssh. Значение по умолчанию:openssh.
-
output_key_path -
Указывает путь к расположению, в котором будет записан открытый ключ.
-
raw_json -
Данные клиента Chef Infra в формате JSON. Например:
{ "clientname": "client_name", "orgname": "org_name", "validator": false, "certificate": "-----BEGIN CERTIFICATE-----\n ... 1234567890abcdefghijklmnopq\n ... -----END CERTIFICATE-----\n", "name": "node_name" }
-
source_key -
Используется для копирования открытого или закрытого ключа, но применение другого
formatиpassword. Используется в сочетании сsource_key_pass_phraseиsource_key_path.
-
source_key_pass_phrase -
Фраза доступа для открытого ключа. Используется в сочетании с
source_keyиsource_key_path.
-
source_key_path -
Путь к открытому ключу. Используется в сочетании с
source_keyиsource_key_pass_phrase.
-
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, когда выполняется уведомление. Доступны следующие таймеры:
:before-
Указывает, что действие с уведомленным ресурсом должно быть выполнено до обработки блока ресурса, в котором находится уведомление.
:delayed-
По умолчанию. Указывает, что уведомление должно быть помещено в очередь и затем выполнено в конце выполнения клиента Chef Infra.
-
:immediate,:immediately -
Указывает, что уведомление должно быть выполнено немедленно, для каждого уведомленного ресурса.
Синтаксис для
subscribes:subscribes :action, 'resource[name]', :timer
-
validator -
Указывает, является ли клиент Chef Infra инструментом chef-validator.
Примеры
Этот ресурс не содержит примеров.
© 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_client/