Spec-Zone.ru › Ansible 2.10

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

Примечание

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

Добавлено в версии 2.6: из ansible.builtin

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

Описание

  • Использует файл конфигурации 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
# remember to enable this inventory plugin in the ansible.cfg before using
# View the output using `ansible-inventory -i inventory.config --list`
plugin: generator
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

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

Spec-Zone.ru

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