Spec-Zone.ru › Chef 18

Ресурс chef_client

Эта страница сгенерирована из исходного кода клиента Chef Infra. Чтобы предложить изменение, отредактируйте файл chef_client.rb и отправьте запрос на вытягивание в репозиторий Chef Infra Client.

Страница всех ресурсов Infra


Используйте ресурс 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/

Spec-Zone.ru

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