Spec-Zone.ru › Chef 16

Ресурс chef_client

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

Страница справки по ресурсам


Используйте ресурс 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 Client использовать поставщик Chef::Provider::ChefClient во время выполнения клиента Chef Infra Client
  • name — имя блока ресурса; когда свойство name не указано в рамках рецепта, name также является именем клиента Chef Infra Client
  • attribute — ноль (или более) доступных свойств для данного ресурса
  • action определяет действия, которые клиент Chef Infra Client выполнит, чтобы привести узел в желаемое состояние

Действия


Ресурс chef_client имеет следующие действия:

:create
По умолчанию. Используется для создания chef-клиента.
:delete
Используется для удаления chef-клиента.
:nothing
Этот блок ресурса не действует, пока другой ресурс не уведомит его о действии. После уведомления этот блок ресурса либо выполняется немедленно, либо помещается в очередь для выполнения в конце выполнения клиента Chef Infra Client.
:regenerate_keys
Используется для перегенерации открытого ключа RSA для chef-клиента.

Свойства


Ресурс chef_client имеет следующие свойства:

admin

Используйте для указания, является ли клиент Chef Infra Client API-клиентом.

chef_server

URL сервера Chef Infra.

complete

Используйте для указания, определяет ли этот ресурс chef-клиент полностью. Когда true, любое свойство, не указанное этим ресурсом, будет сброшено до значений свойств по умолчанию.

ignore_failure
Тип Ruby: true, false | Значение по умолчанию: false

Продолжать выполнение рецепта, если ресурс завершится неудачей по любой причине.

name

Имя клиента Chef Infra Client.

notifies
Тип Ruby: Symbol, 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
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"
}
retries
Тип Ruby: Integer | Значение по умолчанию: 0

Количество попыток перехвата исключений и повторной попытки ресурса.

retry_delay
Тип Ruby: Integer | Значение по умолчанию: 2

Задержка повтора (в секундах).

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: Symbol, 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
validator

Используйте для указания, является ли клиент Chef Infra Client chef-валидатором.

Примеры


У данного ресурса нет примеров.

Ресурс chef_client
  • Синтаксис
  • Действия
  • Свойства
  • Примеры

© 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