О ресурсах
Ресурс — это утверждение политики конфигурации, которое:
- Описывает желаемое состояние элемента конфигурации
- Определяет шаги, необходимые для приведения элемента в желаемое состояние
- Указывает тип ресурса — например,
package,template, илиservice - Перечисляет дополнительные детали (также известные как свойства ресурса), если необходимо
- Группируются в рецепты, которые описывают рабочие конфигурации
Синтаксис ресурсов
Ресурс — это Ruby-блок с четырьмя компонентами: типом, именем, одним (или несколькими) свойствами (с значениями) и одним (или несколькими) действиями. Синтаксис ресурса выглядит следующим образом:
type 'name' do
attribute 'value'
action :type_of_action
end
Каждый ресурс имеет свой собственный набор действий и свойств. Большинство свойств имеют значения по умолчанию. Некоторые свойства доступны для всех ресурсов, например, те, которые используются для отправки уведомлений другим ресурсам и защитных мер, которые помогают обеспечить идемпотентность некоторых ресурсов.
Например, ресурс, используемый для установки пакета tar.gz версии 1.16.1, может выглядеть примерно так:
package 'tar' do
version '1.16.1'
action :install
end
Все действия имеют значение по умолчанию. Указывать необходимо только поведение, отличное от значения по умолчанию, для действий и свойств. Например, значение действия по умолчанию для ресурса package — :install, а имя пакета по умолчанию — name. Поэтому можно написать блок ресурса, который устанавливает последний пакет tar.gz следующим образом:
package 'tar'
а блок ресурса, который устанавливает пакет tar.gz версии 1.6.1 следующим образом:
package 'tar' do
version '1.16.1'
end
В обоих случаях Chef Infra Client будет использовать значение действия по умолчанию (:install) для установки пакета tar.
Дополнительная информация
Для получения дополнительной информации о ресурсах ознакомьтесь с этими руководствами:
| Тема | Описание |
|---|---|
| Общие свойства | Предоставляет подробный список общих свойств, доступных во всех ресурсах. |
| Справочник по ресурсам | Справочное руководство, в котором перечислены как общие, так и индивидуальные параметры, доступные для каждого ресурса, включенного в Chef. |
| Пользовательские ресурсы | Показывает, как создавать собственные ресурсы Chef. |
© 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/resource/