Spec-Zone.ru › Chef 18

Ресурс windows_share

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

Все страницы ресурсов Infra


Используйте ресурс windows_share для создания, изменения и удаления общих папок Windows.

Новое в Chef Infra Client 14.7.

Синтаксис


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

windows_share 'name' do
  ca_timeout                  Integer # default value: 0
  change_users                Array # default value: []
  concurrent_user_limit       Integer # default value: 0
  continuously_available      true, false # default value: false
  description                 String
  encrypt_data                true, false # default value: false
  full_users                  Array # default value: []
  path                        String
  read_users                  Array # default value: []
  scope_name                  String # default value: "*"
  share_name                  String # default value: 'name' unless specified
  temporary                   true, false # default value: false
  action                      Symbol # defaults to :create if not specified
end

где:

  • windows_share — это ресурс.
  • name — имя блока ресурса.
  • action определяет действия, которые клиент Chef Infra предпримет для приведения узла в желаемое состояние.
  • ca_timeout, change_users, concurrent_user_limit, continuously_available, description, encrypt_data, full_users, path, read_users, scope_name, share_name, и temporary — доступные свойства для этого ресурса.

Действия


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

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

Свойства


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

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

Время ожидания непрерывной доступности для общего доступа.

change_users
Тип Ruby: Массив | Значение по умолчанию: []

Пользователи, которые должны иметь разрешение «изменение» для общего доступа в формате домен\имя_пользователя.

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

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

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

Указывает, что общий доступ постоянно доступен.

description
Тип Ruby: Строка

Описание, применяемое к общему доступу.

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

Указывает, что общий доступ зашифрован.

full_users
Тип Ruby: Массив | Значение по умолчанию: []

Пользователи, которые должны иметь разрешение «Полный контроль» для общего доступа в формате домен\имя_пользователя.

path
Тип Ruby: Строка

Путь к папке для общего доступа. Требуется при создании. Если общий доступ уже существует по другому пути, он удаляется и создается заново.

read_users
Тип Ruby: Массив | Значение по умолчанию: []

Пользователи, которые должны иметь разрешение «чтение» для общего доступа в формате домен\имя_пользователя.

scope_name
Тип Ruby: Строка | Значение по умолчанию: *

Имя области общих ресурсов.

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

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

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

Срок действия нового общего доступа SMB. Временный общий доступ не сохраняется после следующей перезагрузки компьютера.


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


Ресурсы Chef включают общие свойства, уведомления и средства защиты ресурсов.

Общие свойства

Следующие свойства являются общими для всех ресурсов:

compile_time

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

Управляет фазой, в которой ресурс выполняется на узле. Установите в значение true, чтобы запустить ресурс во время построения коллекции ресурсов (фаза compile phase). Установите в значение false, чтобы запустить ресурс во время настройки узла клиентом Chef Infra (фаза converge phase).

ignore_failure

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

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

retries

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

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

retry_delay

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

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

sensitive

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

Обеспечьте, чтобы конфиденциальные данные ресурсов не регистрировались клиентом Chef Infra.

Уведомления

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.

Примеры


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

Создать общую папку:

windows_share 'foo' do
  action :create
  path 'C:\foo'
  full_users ['DOMAIN_A\some_user', 'DOMAIN_B\some_other_user']
  read_users ['DOMAIN_C\Domain users']
end

Удалить общую папку:

windows_share 'foo' do
  action :delete
end

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

Spec-Zone.ru

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