Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля ini, даже не указывая collections: ключевое слово. Несмотря на это, рекомендуется использовать FQCN для лёгкой ссылки на документацию по модулю и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.

Добавлен в версии 2.4: от ansible.builtin

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

Описание

  • Инвентаризация на основе файла 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-инвентаризации обрабатывает значения переменных последовательно и правильно.

Примеры

# fmt: ini
# Example 1
[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

# Example 2
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

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/ini_inventory.html

Spec-Zone.ru

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