Spec-Zone.ru › Chef 18

Ресурс locale

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

Все страницы ресурсов Infra


Используйте ресурс locale для установки системного языка на системах Debian и Windows. Поддержка Windows была добавлена в Chef Infra Client 16.0

Новое в Chef Infra Client 14.5.

Синтаксис


Полный синтаксис всех доступных свойств ресурса locale:

locale 'name' do
  lang        String
  lc_env      Hash # default value: {}
  action      Symbol # defaults to :update if not specified
end

где:

  • locale — ресурс.
  • name — имя блока ресурса.
  • action — определяет действия Chef Infra Client для приведения узла к нужному состоянию.
  • lang и lc_env — доступные свойства этого ресурса.

Действия


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

:nothing
Этот блок ресурса не выполняет действий, если не уведомлен другим ресурсом. После уведомления, этот блок ресурса либо выполняется немедленно, либо помещается в очередь для выполнения в конце работы Chef Infra Client.
:update
Обновление системного языка. (по умолчанию)

Свойства


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

lang
Тип в Ruby: Строка

Устанавливает язык по умолчанию.

lc_env
Тип в Ruby: Хэш | Значение по умолчанию: {}

Хэш переменных среды LC_*, в формате ({ 'LC_ENV_VARIABLE' => 'VALUE' }).


Общие функциональные возможности ресурсов


Ресурсы Chef включают общие свойства, уведомления и защитные механизмы.

Общие свойства

Следующие свойства общие для всех ресурсов:

compile_time

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

Управление фазой выполнения ресурса на узле. Установите в значение true, чтобы выполнить ресурс при построении коллекции ресурсов (compile phase). Установите в значение false, чтобы выполнить ресурс при конфигурировании узла Chef Infra Client (converge phase).

ignore_failure

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

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

retries

Тип в Ruby: Целое число | Значение по умолчанию: 0

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

retry_delay

Тип в Ruby: Целое число | Значение по умолчанию: 2

Задержка в секундах между попытками повтора.

sensitive

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

Обеспечить, чтобы конфиденциальные данные ресурсов не регистрировались Chef Infra Client.

Уведомления

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
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 Infra Client. На основе результатов этой оценки защитное свойство сообщает Chef Infra Client, следует ли продолжить выполнение ресурса. Свойство защитного механизма принимает либо строковое значение, либо значение блока Ruby:

  • Строка выполняется как команда оболочки. Если команда возвращает 0, защитный механизм применяется. Если команда возвращает любое другое значение, то защитное свойство не применяется. Строковые защитные механизмы в powershell_script выполняют команды Windows PowerShell и могут возвращать true помимо 0.
  • Блок выполняется как код Ruby, который должен вернуть либо true, либо false. Если блок возвращает true, защитное свойство применяется. Если блок возвращает false, защитное свойство не применяется.

Свойство защитного механизма полезно для обеспечения идемпотентности ресурса, позволяя этому ресурсу проверять желаемое состояние по мере его выполнения, и, если желаемое состояние присутствует, не выполнять никаких действий Chef Infra Client.

Свойства

Следующие свойства могут использоваться для определения защитного механизма, оцениваемого во время фазы выполнения работы Chef Infra Client:

not_if

Предотвращение выполнения ресурса, когда условие возвращает true.

only_if

Разрешение выполнения ресурса только в том случае, если условие возвращает true.

Примеры


Следующие примеры демонстрируют различные подходы к использованию ресурса locale в рецептах:

Установите lang в ‘en_US.UTF-8’

  locale 'set system locale' do
    lang 'en_US.UTF-8'
  end

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

Spec-Zone.ru

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