Spec-Zone.ru › Ansible 2.9

ini_file – Настройка параметров в файлах INI

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Статус

Описание

  • Управление (добавление, удаление, изменение) отдельных настроек в файле в стиле INI без необходимости управления файлом целиком, например, с помощью модуля template или assemble.
  • Добавляет отсутствующие разделы, если они не существуют.
  • До Ansible 2.0 комментарии игнорируются при чтении исходного файла и, следовательно, не отображаются в целевом файле.
  • Начиная с Ansible 2.3, этот модуль добавляет отсутствующие завершающие символы новой строки в файлы для соблюдения стандарта POSIX, даже если другие изменения применять не требуется.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
allow_no_value
логический
добавлено в 2.6
    Варианты:
  • нет ←
  • да
Разрешить параметр без значения и без символа '='.
attributes
строка
Атрибуты, которые должен иметь результирующий файл или директория.
Для получения поддерживаемых флагов обратитесь к странице руководства для chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr.
Оператор = используется по умолчанию, в противном случае необходимо включить операторы + или -.

псевдонимы: attr
backup
логический
    Варианты:
  • нет ←
  • да
Создать резервную копию файла, включая информацию о времени создания, чтобы вы могли восстановить исходный файл, если его неправильно перезаписали.
create
логический
    Варианты:
  • нет
  • да ←
Если установлено значение no, модуль завершится ошибкой, если файла еще не существует.
По умолчанию файл будет создан, если его нет.
group
строка
Имя группы, которая должна владеть файлом/директорией, как это подается в chown.
mode
строка
Права доступа, которые должен иметь результирующий файл или директория.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы парсер YAML Ansible понял, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и мог выполнить свое преобразование из строки в число.
Если вы передадите Ansible число без соблюдения одного из этих правил, Ansible получит десятичное число, что приведет к непредсказуемым результатам.
Начиная с Ansible 1.8, режим может быть указан как символический (например, u+rwx или u=rw,g=r,o=r).
no_extra_spaces
логический
    Варианты:
  • нет ←
  • да
Не вставлять пробелы перед и после символа '='.
option
строка
Если установлено (необходимо для изменения value), это имя параметра.
Можно опустить, если добавляется/удаляется весь раздел.
owner
строка
Имя пользователя, который должен владеть файлом/директорией, как это передается в chown.
path
путь / обязательно
Путь к файлу в стиле INI; этот файл создается при необходимости.
До Ansible 2.3 этот параметр был доступен только как dest.

псевдонимы: dest
section
строка / обязательно
Имя раздела в файле INI. Это добавляется автоматически, когда устанавливается единственное значение.
Если оставлен пустым или установлен на null, option будет помещен перед первым разделом.
Использование null также требуется, если формат конфигурации не поддерживает разделы.
selevel
строка
По умолчанию:
"s0"
Часть уровня SELinux контекста файла.
Это атрибут MLS/MCS, иногда известный как range.
Если установлено _default, используется часть политики level, если она доступна.
serole
строка
Часть роли контекста файла SELinux.
Если установлено _default, используется часть политики role, если она доступна.
setype
строка
Часть типа контекста файла SELinux.
Если установлено _default, используется часть политики type, если она доступна.
seuser
строка
Часть пользователя контекста файла SELinux.
По умолчанию используется политика system, где это применимо.
Если установлено _default, используется часть политики user, если она доступна.
state
строка
    Варианты:
  • отсутствует
  • есть ←
Если установлено значение absent, параметр или раздел будут удалены, если они присутствуют, вместо создания.
unsafe_writes
логический
    Варианты:
  • нет ←
  • да
Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованных чтений из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто работают таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные через docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только неатомарным образом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции терпят неудачу (хотя он не принуждает Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
value
строка
Строковое значение, которое должно быть связано с параметром.
Можно опустить при удалении параметра.

Примечания

Примечание

  • Хотя можно добавить параметр без указания значения, это не имеет смысла.
  • Начиная с Ansible 2.3, параметр dest изменен на path по умолчанию, но dest по-прежнему работает.

Примеры

# Before Ansible 2.3, option 'dest' was used instead of 'path'
- name: Ensure "fav=lemonade is in section "[drinks]" in specified file
  ini_file:
    path: /etc/conf
    section: drinks
    option: fav
    value: lemonade
    mode: '0600'
    backup: yes

- name: Ensure "temperature=cold is in section "[drinks]" in specified file
  ini_file:
    path: /etc/anotherconf
    section: drinks
    option: temperature
    value: cold
    backup: yes

Статус

  • Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Jan-Piet Mens (@jpmens)
  • Ales Nosek (@noseka1)

Подсказка

Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/ini_file_module.html

Spec-Zone.ru

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