Ресурс chocolatey_package
Эта страница сгенерирована из исходного кода Chef Infra Client. Чтобы предложить изменение, отредактируйте файл chocolatey_package.rb и отправьте запрос на вытягивание в репозиторий Chef Infra Client.
Используйте ресурс 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/