Spec-Zone.ru › Chef 16

Ресурс chef_organization

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

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


Используйте ресурс chef_organization для взаимодействия с объектами организаций, которые существуют на сервере Chef Infra.

Синтаксис


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

chef_organization 'name' do
  attribute 'value' # see attributes section below
  ...
  action :action # see actions section below
end

где:

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

Действия


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

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

Свойства


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

chef_server

URL сервера Chef Infra.

complete

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

full_name

Полное имя должно начинаться с символа, отличного от пробела, и иметь длину от 1 до 1023 символов. Например: Chef Software, Inc..

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

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

invites

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

members

Используется для указания списка пользователей, которые ДОЛЖНЫ быть членами организации. Эти пользователи будут добавлены в организацию напрямую. Пользователь, который инициирует эту операцию, ДОЛЖЕН также иметь разрешение на добавление пользователей в указанную организацию.

members_specified

Используется для определения, является ли пользователь членом организации. Вернет true, если пользователь является членом.

name

Имя должно начинаться с строчной буквы или цифры, может содержать только строчные буквы, цифры, дефисы и символы подчеркивания и должно иметь длину от 1 до 255 символов. Например: chef.

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
raw_json

Организация в формате JSON. Например:

{
  "name": "chef",
  "full_name": "Chef Software, Inc",
  "guid": "f980d1asdfda0331235s00ff36862
  ...
}
remove_members

Используется для удаления указанных пользователей из организации. Приглашения, которые не были приняты, будут отменены.

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

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

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

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

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_organization
  • Синтаксис
  • Действия
  • Свойства
  • Примеры

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

Spec-Zone.ru

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