Spec-Zone.ru › Ansible 2.9

ini – Использует файл Ansible INI в качестве источника инвентаризации

Новое в версии 2.4.

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

Описание

  • Инвентаризация на основе файла INI, разделы являются группами или группами, связанными со специальным :modifiers.
  • Элементы в разделах [group_1] представляют собой хосты, являющиеся членами группы.
  • Хосты могут иметь переменные, определённые встроены в виде пар ключ/значение, разделённых =.
  • Модификатор children указывает, что раздел содержит группы.
  • Модификатор vars указывает, что раздел содержит переменные, присвоенные членам группы.
  • Всё, что находится вне раздела, считается хостом без группы.
  • Значения, переданные в формате INI с использованием синтаксиса key=value интерпретируются по-разному в зависимости от того, где они объявлены в инвентаризации.
  • При объявлении в строке хоста значения INI обрабатываются функцией Python ast.literal_eval (https://docs.python.org/2/library/ast.html#ast.literal_eval) и интерпретируются как структуры Python (строки, числа, кортежи, списки, словари, булевы значения, None). Строки хостов принимают несколько параметров key=value в строке. Следовательно, им нужен способ указать, что пробел является частью значения, а не разделителем.
  • При объявлении в разделе :vars значения INI интерпретируются как строки. Например, var=FALSE создаст строку, равную FALSE. В отличие от строк хостов, разделы :vars принимают только по одному элементу на строку, поэтому всё после = должно быть значением для элемента.
  • Не полагайтесь на типы, установленные во время определения, всегда убедитесь, что вы указали тип с фильтром при необходимости при использовании переменной.
  • См. Примеры для правильной цитирования, чтобы предотвратить изменения типа переменной.

Примечания

Примечание

  • Включён в список разрешённых конфигураций по умолчанию.
  • Рекомендуется переключиться на формат YAML для источников инвентаризации, чтобы избежать путаницы с фактическим типом переменной. Плагин инвентаризации YAML обрабатывает значения переменных последовательно и правильно.

Примеры

example1: |
    # example cfg file
    [web]
    host1
    host2 ansible_port=222 # defined inline, interpreted as an integer

    [web:vars]
    http_port=8080 # all members of 'web' will inherit these
    myvar=23 # defined in a :vars section, interpreted as a string

    [web:children] # child groups will automatically add their hosts to parent group
    apache
    nginx

    [apache]
    tomcat1
    tomcat2 myvar=34 # host specific vars override group vars
    tomcat3 mysecret="'03#pa33w0rd'" # proper quoting to prevent value changes

    [nginx]
    jenkins1

    [nginx:vars]
    has_java = True # vars in child groups override same in parent

    [all:vars]
    has_java = False # 'all' is 'top' parent

example2: |
    # other example config
    host1 # this is 'ungrouped'

    # both hosts have same IP but diff ports, also 'ungrouped'
    host2 ansible_host=127.0.0.1 ansible_port=44
    host3 ansible_host=127.0.0.1 ansible_port=45

    [g1]
    host4

    [g2]
    host4 # same host as above, but member of 2 groups, will inherit vars from both
          # inventory hostnames are unique

Статус

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

Авторы

  • НЕИЗВЕСТНО

Подсказка

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

Подсказка

Элементы конфигурации для каждого типа элемента имеют порядок приоритета от низкого к высокому. Например, переменная, которая находится ниже в списке, переопределит переменную, которая находится выше.

© 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/plugins/inventory/ini.html

Spec-Zone.ru

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