Spec-Zone.ru › Chef 16

Ресурс powershell_package_source

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

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


Используйте ресурс powershell_package_source для регистрации репозитория пакетов PowerShell.

Новинка в Chef Infra Client 14.3.

Синтаксис


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

powershell_package_source 'name' do
  provider_name                String # default value: "NuGet"
  publish_location             String
  script_publish_location      String
  script_source_location       String
  source_name                  String # default value: 'name' unless specified
  trusted                      true, false # default value: false
  url                          String
  action                       Symbol # defaults to :register if not specified
end

где:

  • powershell_package_source — это ресурс.
  • name — имя блока ресурса.
  • action определяет действия, которые Chef Infra Client предпримет для приведения узла в нужное состояние.
  • provider_name, publish_location, script_publish_location, script_source_location, source_name, trusted, и url — это доступные свойства данного ресурса.

Действия


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

:nothing
Этот блок ресурса не выполняет действий, пока не получит уведомление от другого ресурса. После получения уведомления, этот блок ресурса либо выполняется немедленно, либо помещается в очередь для выполнения в конце работы Chef Infra Client.
:register
По умолчанию. Регистрирует и обновляет источник пакетов PowerShell.
:unregister
Удаляет источник пакетов PowerShell.

Свойства


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

provider_name
Тип Ruby: String | Значение по умолчанию: NuGetДопустимые значения: "NuGet", "PowerShellGet", "Programs", "chocolatey", "msi", "msu", "psl"

Провайдер управления пакетами для источника.

publish_location
Тип Ruby: String

URL, куда будут публиковаться модули для данного источника. Действителен только если провайдер — PowerShellGet.

script_publish_location
Тип Ruby: String

Расположение, куда будут публиковаться скрипты для этого источника. Действителен только если провайдер — PowerShellGet.

script_source_location
Тип Ruby: String

URL, где расположены скрипты для данного источника. Действителен только если провайдер — PowerShellGet.

source_name
Тип Ruby: String | Значение по умолчанию: The resource block's name

Имя источника пакетов.

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

Доверять ли пакетам из этого источника.

url
Тип Ruby: String | REQUIRED

URL источника пакетов.


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


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

Примеры


Данный ресурс не имеет примеров.

Ресурс powershell_package_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/powershell_package_source/

Spec-Zone.ru

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