Spec-Zone.ru › Chef 16

Ресурс chef_environment

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

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


Окружение — это способ сопоставить реальный рабочий процесс организации с тем, что можно настроить и управлять с помощью Chef Infra. Это сопоставление достигается путем задания атрибутов и фиксации кулинарных книг на уровне окружения. С помощью окружений вы можете изменять конфигурации кулинарных книг в зависимости от назначения системы. Например, назначив разные окружения этапа тестирования и производства, вы можете определить правильный URL сервера базы данных для каждого окружения. Окружения также позволяют организациям уверенно переносить новые релизы кулинарных книг из окружения этапа тестирования в окружение производства, проходя релизы через тестовые окружения, прежде чем перейти в окружение производства.

Используйте ресурс chef_environment для управления окружениями.

Синтаксис


Синтаксис использования ресурса chef_environment в рецепте следующий:

chef_environment 'name' do
  attribute 'value' # see properties section below
  ...
  action :action # see actions section below
end

где:

  • chef_environment сообщает клиенту Chef Infra использовать поставщика Chef::Provider::ChefEnvironment во время выполнения клиента Chef Infra
  • name — имя блока ресурса; когда свойство name не указано в рецепте, name также является именем окружения
  • attribute — ноль или более доступных свойств для данного ресурса
  • action определяет действия клиента Chef Infra Client для перевода узла в нужное состояние

Действия


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

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

Свойства


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

chef_server

URL сервера Chef Infra.

complete

Используется для указания, определяет ли данный ресурс окружение полностью. Когда true, любое свойство, не указанное этим ресурсом, будет сброшено до значений по умолчанию.

cookbook_versions

Версии кулинарных книг, используемые в окружении. Значение по умолчанию: {}.

default_attributes

Атрибут default автоматически сбрасывается в начале каждого выполнения клиента Chef Infra и имеет наименьший приоритет атрибутов. Используйте атрибуты default в кулинарных книгах как можно чаще.

Значение по умолчанию: {}.

description

Описание окружения. Это значение заполняет поле описания для окружения на сервере Chef Infra.

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

Продолжить выполнение рецепта, если ресурс завершится ошибкой по любой причине.

name

Имя окружения.

notifies
Тип в Ruby: Символ, Chef::Resource\[Строка\]

Ресурс может уведомлять другой ресурс о выполнении действия при изменении его состояния. Укажите 'resource[name]', :action действие, которое должен выполнить ресурс, и затем :timer для этого действия. Ресурс может уведомлять более одного ресурса; используйте инструкцию notifies для каждого уведомляемого ресурса.

Если указанный ресурс не существует, возникает ошибка. В отличие от этого, subscribes не завершится ошибкой, если исходный ресурс не найден.

Таймер указывает момент во время выполнения клиента Chef Infra, в который выполняется уведомление. Доступны следующие таймеры:

:before

Указывает, что действие с уведомленным ресурсом должно выполняться до обработки блока ресурса, в котором расположено уведомление.

:delayed

По умолчанию. Указывает, что уведомление должно помещаться в очередь и выполняться в конце выполнения клиента Chef Infra.

:immediate, :immediately

Указывает, что уведомление должно выполняться немедленно для каждого уведомленного ресурса.

Синтаксис notifies:

notifies :action, 'resource[name]', :timer
override_attributes

Атрибут override автоматически сбрасывается в начале каждого выполнения клиента Chef Infra и имеет более высокий приоритет атрибутов, чем атрибуты default, force_default, и normal. Атрибут override чаще всего указывается в рецепте, но может быть указан в файле атрибутов, для роли и/или для окружения. Кулинарную книгу следует разрабатывать таким образом, чтобы она использовала атрибуты override только по необходимости.

Значение по умолчанию: {}.

raw_json

Окружение в формате JSON. Например:

{
  "name":"backend",
  "description":"",
  "cookbook_versions":{},
  "json_class":"Chef::Environment",
  "chef_type":"environment",
  "default_attributes":{},
  "override_attributes":{}
}
retries
Тип в Ruby: Целое число | Значение по умолчанию: 0

Количество попыток перехватить исключения и повторить ресурс.

retry_delay
Тип в Ruby: Целое число | Значение по умолчанию: 2

Задержка повтора (в секундах).

subscribes
Тип в Ruby: Символ, Chef::Resource\[Строка\]

Ресурс может следить за другим ресурсом и выполнять действие, если состояние отслеживаемого ресурса изменится. Укажите '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, в который выполняется уведомление. Доступны следующие таймеры:

:before

Указывает, что действие с уведомленным ресурсом должно выполняться до обработки блока ресурса, в котором расположено уведомление.

:delayed

По умолчанию. Указывает, что уведомление должно помещаться в очередь и выполняться в конце выполнения клиента Chef Infra.

:immediate, :immediately

Указывает, что уведомление должно выполняться немедленно для каждого уведомленного ресурса.

Синтаксис subscribes:

subscribes :action, 'resource[name]', :timer

Примеры


У этого ресурса нет примеров.

Ресурс chef_environment
  • Синтаксис
  • Действия
  • Свойства
  • Примеры

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

Spec-Zone.ru

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