Spec-Zone.ru › Chef 16

Ресурс chocolatey_source

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

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


Используйте ресурс chocolatey_source для добавления, удаления, включения или отключения источников Chocolatey.

Новое в Chef Infra Client 14.3.

Синтаксис


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

chocolatey_source 'name' do
  admin_only              true, false # default value: false
  allow_self_service      true, false # default value: false
  bypass_proxy            true, false # default value: false
  priority                Integer # default value: 0
  source                  String
  source_name             String # default value: 'name' unless specified
  action                  Symbol # defaults to :add if not specified
end

где:

  • chocolatey_source — это ресурс.
  • name — имя блока ресурса.
  • action определяет действия, которые Chef Infra Client предпримет для приведения узла в желаемое состояние.
  • admin_only, allow_self_service, bypass_proxy, priority, source, и source_name — доступные свойства этого ресурса.

Действия


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

:add
По умолчанию. Добавляет источник Chocolatey.
:disable
Отключает источник Chocolatey. Новое в Chef Infra Client 15.1.
:enable
Включает источник Chocolatey. Новое в Chef Infra Client 15.1.
:nothing
Этот блок ресурса не действует, пока не получит уведомление от другого ресурса о действии. После получения уведомления этот блок ресурса выполняется немедленно или помещается в очередь для выполнения в конце работы Chef Infra Client.
:remove
Удаляет источник Chocolatey.

Свойства


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

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

Определяет, доступен ли источник только администраторам.

Новое в Chef Infra Client 15.1

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

Определяет, используется ли источник для самообслуживания.

Новое в Chef Infra Client 15.1

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

Определяет, следует ли игнорировать системные настройки прокси для доступа к источнику.

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

Уровень приоритета источника.

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

URL источника.

source_name
Тип в Ruby: Строка | Значение по умолчанию: The resource block's name

Необязательное свойство для установки имени источника, если оно отличается от имени блока ресурса.


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


Ресурсы 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 InfraClient.

Уведомления

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.

Примеры


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

Добавление источника Chocolatey

chocolatey_source 'MySource' do
  source 'http://example.com/something'
  action :add
end

Удаление источника Chocolatey

chocolatey_source 'MySource' do
  action :remove
end
Ресурс chocolatey_source
  • Синтаксис
  • Действия
  • Свойства
  • Общие функциональные возможности ресурсов
    • Общие свойства
    • Уведомления
    • Ограничения
  • Примеры

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

Spec-Zone.ru

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