Spec-Zone.ru › Ansible 2.8

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

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

Описание

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

Параметры

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

псевдонимы: attr
backup
логический тип
    Варианты:
  • нет ←
  • да
Создать резервный файл, включая информацию о времени, чтобы получить исходный файл, если вы каким-то образом неправильно его перезаписали.
create
логический тип
добавлен в 2.2
    Варианты:
  • нет
  • да ←
Если установлено значение no, модуль завершится неудачей, если файл еще не существует.
По умолчанию файл будет создан, если он отсутствует.
group
строка
Имя группы, которая должна владеть файлом/каталогом, как и в команде chown.
mode
строка
Разрешения, которые должен иметь результирующий файл или директория.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую цифру 0, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и мог самостоятельно преобразовать ее в число.
Если Ansible получит число без одного из этих правил, это будет десятичное число, что приведет к непредвиденным результатам.
Начиная с Ansible 1.8, режим может быть указан в символическом виде (например, u+rwx или u=rw,g=r,o=r).
no_extra_spaces
логический тип
добавлен в 2.1
    Варианты:
  • нет ←
  • да
Не вставлять пробелы перед и после символа '='.
option
строка
Если установлено (необходимо для изменения значения), это имя опции.
Можно опустить, если добавляется/удаляется вся секция.
others
строка
Все аргументы, принимаемые модулем file, также работают здесь.
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
логический тип
добавлен в 2.2
    Варианты:
  • нет ←
  • да
Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются смонтированные файлы 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. [сообщество]

Авторы

  • Ян-Пьет Менс (@jpmens)
  • Алеш Носек (@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.8/modules/ini_file_module.html

Spec-Zone.ru

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