Spec-Zone.ru › Chef 16

Ресурс openssl_rsa_public_key

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

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


Используйте ресурс openssl_rsa_public_key для создания файлов общедоступных ключей RSA для данного закрытого ключа RSA.

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

Синтаксис


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

openssl_rsa_public_key 'name' do
  group                    String, Integer
  mode                     Integer, String # default value: "0640"
  owner                    String, Integer
  path                     String # default value: 'name' unless specified
  private_key_content      String
  private_key_pass         String
  private_key_path         String
  action                   Symbol # defaults to :create if not specified
end

где:

  • openssl_rsa_public_key — это ресурс.
  • name — имя блока ресурса.
  • action определяет действия, которые Chef Infra Client предпримет для приведения узла в желаемое состояние.
  • group, mode, owner, path, private_key_content, private_key_pass, и private_key_path — доступные свойства этого ресурса.

Действия


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

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

Свойства


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

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

Владение группой, применённое ко всем файлам, созданным ресурсом.

mode
Тип в Ruby: Целое число, Строка | Значение по умолчанию: 0640

Режим разрешений, применённый ко всем файлам, созданным ресурсом.

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

Владелец, применённый ко всем файлам, созданным ресурсом.

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

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

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

Содержание закрытого ключа, включая новые строки. Это свойство используется вместо private_key_path в случаях, когда вы хотите избежать предварительного записи закрытого ключа на диск.

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

Пароль предоставленного закрытого ключа.

private_key_path
Тип в 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 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

Защитные свойства

Свойство guard может использоваться для оценки состояния узла во время фазы выполнения Chef Infra Client. Основываясь на результатах этой оценки, свойство guard используется для указания Chef Infra Client, следует ли ему продолжать выполнение ресурса. Свойство guard принимает либо строковое значение, либо значение Ruby-блока:

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

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

Свойства

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

not_if

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

only_if

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

Примеры


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

Генерация нового общедоступного ключа из закрытого ключа на диске

openssl_rsa_public_key '/etc/ssl_files/rsakey_des3.pub' do
  private_key_path '/etc/ssl_files/rsakey_des3.pem'
  private_key_pass 'something'
  action :create
end

Генерация нового общедоступного ключа путём передачи закрытого ключа

openssl_rsa_public_key '/etc/ssl_files/rsakey_2.pub' do
  private_key_pass 'something'
  private_key_content "-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,5EE0AE9A5FE3342E
yb930kj5/4/nd738dPx6XdbDrMCvqkldaz0rHNw8xsWvwARrl/QSPwROG3WY7ROl
EUttVlLaeVaqRPfQbmTUfzGI8kTMmDWKjw52gJUx2YJTYRgMHAB0dzYIRjeZAaeS
ypXnEfouVav+jKTmmehr1WuVKbzRhQDBSalzeUwsPi2+fb3Bfuo1dRW6xt8yFuc4
Akv1hCglymPzPHE2L0nSGjcgA2DZu+/S8/wZ4E63442NHPzO4VlLvpNvJrYpEWq9
B5mJzcdXPeOTjqd13olNTlOZMaKxu9QShu50GreCTVsl8VRkK8NtwbWuPGBZlIFa
jzlS/RaLuzNzfajaKMkcIYco9t7gN2DwnsACHKqEYT8248Ii3NQ+9/M5YcmpywQj
WGr0UFCSAdCky1lRjwT+zGQKohr+dVR1GaLem+rSZH94df4YBxDYw4rjsKoEhvXB
v2Vlx+G7Vl2NFiZzxUKh3MvQLr/NDElpG1pYWDiE0DIG13UqEG++cS870mcEyfFh
SF2SXYHLWyAhDK0viRDChJyFMduC4E7a2P9DJhL3ZvM0KZ1SLMwROc1XuZ704GwO
YUqtCX5OOIsTti1Z74jQm9uWFikhgWByhVtu6sYL1YTqtiPJDMFhA560zp/k/qLO
FKiM4eUWV8AI8AVwT6A4o45N2Ru8S48NQyvh/ADFNrgJbVSeDoYE23+DYKpzbaW9
00BD/EmUQqaQMc670vmI+CIdcdE7L1zqD6MZN7wtPaRIjx4FJBGsFoeDShr+LoTD
rwbadwrbc2Rf4DWlvFwLJ4pvNvdtY3wtBu79UCOol0+t8DVVSPVASsh+tp8XncDE
KRljj88WwBjX7/YlRWvQpe5y2UrsHI0pNy8TA1Xkf6GPr6aS2TvQD5gOrAVReSse
/kktCzZQotjmY1odvo90Zi6A9NCzkI4ZLgAuhiKDPhxZg61IeLppnfFw0v3H4331
V9SMYgr1Ftov0++x7q9hFPIHwZp6NHHOhdHNI80XkHqtY/hEvsh7MhFMYCgSY1pa
K/gMcZ/5Wdg9LwOK6nYRmtPtg6fuqj+jB3Rue5/p9dt4kfom4etCSeJPdvP1Mx2I
eNmyQ/7JN9N87FsfZsIj5OK9OB0fPdj0N0m1mlHM/mFt5UM5x39u13QkCt7skEF+
yOptXcL629/xwm8eg4EXnKFk330WcYSw+sYmAQ9ZTsBxpCMkz0K4PBTPWWXx63XS
c4J0r88kbCkMCNv41of8ceeGzFrC74dG7i3IUqZzMzRP8cFeps8auhweUHD2hULs
XwwtII0YQ6/Fw4hgGQ5//0ASdvAicvH0l1jOQScHzXC2QWNg3GttueB/kmhMeGGm
sHOJ1rXQ4oEckFvBHOvzjP3kuRHSWFYDx35RjWLAwLCG9odQUApHjLBgFNg9yOR0
jW9a2SGxRvBAfdjTa9ZBBrbjlaF57hq7mXws90P88RpAL+xxCAZUElqeW2Rb2rQ6
Cbz4/AtPekV1CYVodGkPutOsew2zjNqlNH+M8XzfonA60UAH20TEqAgLKwgfgr+a
c+rXp1AupBxat4EHYJiwXBB9XcVwyp5Z+/dXsYmLXzoMOnp8OFyQ9H8R7y9Y0PEu
-----END RSA PRIVATE KEY-----
"
  action :create
end
Ресурс openssl_rsa_public_key
  • Синтаксис
  • Действия
  • Свойства
  • Общие функциональные возможности ресурсов
    • Общие свойства
    • Уведомления
    • Защитные свойства
  • Примеры

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

Spec-Zone.ru

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