Spec-Zone.ru › Ansible 2.8

generator – Использование Jinja2 для построения хостов и групп из шаблонов

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

  • Обзор
  • Параметры
  • Примеры
  • Статус

Обзор

  • Использует YAML-конфигурационный файл с допустимым расширением YAML или .config для определения выражений var и условных выражений группы
  • Создает шаблон, описывающий каждый хост, а затем использует независимые слои конфигурации
  • Каждый элемент каждого слоя объединяется для создания хоста для каждой комбинации слоев
  • Родительские группы могут быть определены со ссылкой на хосты и другие группы, используя те же переменные шаблона

Параметры

Параметр Варианты/Значения по умолчанию Конфигурация Комментарии
hosts
-
Ключ name представляет собой шаблон, используемый для генерации имен хостов на основе опции layers. Каждая переменная в имени расширяется, чтобы создать декартово произведение всех возможных комбинаций слоев.
Ключ parents представляет собой список родительских групп, к которым принадлежит хост. Каждый элемент parent содержит ключ name, снова расширенный из шаблона, и необязательный ключ parents, который перечисляет его родителей.
Родители также могут содержать vars, что является словарем переменных, который всегда устанавливается для данной переменной. Это может предоставить легкий доступ к имени группы. Например, задать переменную application, которая устанавливается в значение имени слоя application.
layers
-
Словарь слоев, где ключ — это имя слоя, используемое как имя переменной в ключах host name и parents. Каждое значение слоя представляет собой список возможных значений для этого слоя.
plugin
- / обязательно
    Варианты:
  • generator
Токен, который гарантирует, что это исходный файл для плагина «generator».

Примеры

# inventory.config file in YAML format
plugin: generator
strict: False
hosts:
    name: "{{ operation }}-{{ application }}-{{ environment }}-runner"
    parents:
      - name: "{{ operation }}-{{ application }}-{{ environment }}"
        parents:
          - name: "{{ operation }}-{{ application }}"
            parents:
              - name: "{{ operation }}"
              - name: "{{ application }}"
          - name: "{{ application }}-{{ environment }}"
            parents:
              - name: "{{ application }}"
                vars:
                  application: "{{ application }}"
              - name: "{{ environment }}"
                vars:
                  environment: "{{ environment }}"
      - name: runner
layers:
    operation:
        - build
        - launch
    environment:
        - dev
        - test
        - prod
    application:
        - web
        - api

Статус

  • Данный инвентарь не гарантирует обратной совместимости. [превью]
  • Этот инвентарь поддерживается сообществом 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/generator.html

Spec-Zone.ru

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