Spec-Zone.ru › Chef 17

Ресурс chocolatey_package

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

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


Используйте ресурс chocolatey_package для управления пакетами с помощью менеджера пакетов Chocolatey на платформе Microsoft Windows.

Примечание

Менеджер пакетов Chocolatey не установлен по умолчанию в Windows. Вам необходимо установить его, добавив кулинарную книгу chocolatey в список запуска вашего узла.

Предупреждение

Ресурс chocolatey_package должен быть указан как chocolatey_package и не может быть сокращен до package в рецепте.

Новое в Chef Infra Client 12.7.

Синтаксис


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

chocolatey_package 'name' do
  list_options      String
  options           String, Array
  package_name      String, Array
  password          String
  returns           Integer, Array # default value: [0, 2]
  source            String
  timeout           String, Integer
  user              String
  version           String, Array
  action            Symbol # defaults to :install if not specified
end

где:

  • chocolatey_package - это ресурс.
  • name - это имя, заданное для блока ресурса.
  • action определяет, какие шаги Chef Infra Client предпримет, чтобы привести узел в желаемое состояние.
  • list_options, options, package_name, password, returns, source, timeout, user, и version - это свойства, доступные для данного ресурса.

Действия


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

:install
Установить пакет. Если указана версия, установить указанную версию пакета. (по умолчанию)
:nothing
Этот блок ресурса не действует, пока не получит уведомление от другого ресурса о выполнении действия. После получения уведомления этот блок ресурса либо выполняется немедленно, либо добавляется в очередь для выполнения в конце выполнения Chef Infra Client.
:purge
Очистить пакет. Это действие обычно удаляет конфигурационные файлы, а также сам пакет.
:remove
Удалить пакет.
:upgrade
Установить пакет и/или убедиться, что пакет является последней версией.

Свойства


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

list_options
Тип Ruby: Строка

Один (или более) дополнительных элементов списка, которые передаются команде.

Новое в Chef Infra Client 15.3

options
Тип Ruby: Строка, Массив

Один (или более) дополнительных параметров, которые передаются команде.

package_name
Тип Ruby: Строка, Массив

Имя пакета. Значение по умолчанию: имя блока ресурса.

password
Тип Ruby: Строка

Пароль для аутентификации на источнике.

Новое в Chef Infra Client 15.3

returns
Тип Ruby: Целое число, Массив | Значение по умолчанию: [0, 2]

Код(ы) возврата команды choco, указывающие на успешное выполнение действия. См. Коды возврата Chocolatey для получения полного списка кодов возврата, используемых Chocolatey.

Новое в Chef Client 12.18

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

Необязательный путь к пакету в локальной файловой системе или доступном пути UNC. Убедитесь, что указанный путь указывает на папку, содержащую пакет(ы) Chocolatey, а не на сам пакет.

timeout
Тип Ruby: Строка, Целое число

Время ожидания (в секундах) перед истечением времени.

user
Тип Ruby: Строка

Имя пользователя для аутентификации каналов.

Новое в Chef Infra Client 15.3

version
Тип Ruby: Строка, Массив

Версия пакета, подлежащая установке или обновлению.


Общие функции ресурсов


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

Примеры


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

Установить пакет Chocolatey:

chocolatey_package 'name of package' do
  action :install
end

Установить пакет с опциями с помощью опции --checksum Chocolatey:

chocolatey_package 'name of package' do
  options '--checksum 1234567890'
  action :install
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/chocolatey_package/

Spec-Zone.ru

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