Spec-Zone.ru › Ansible 2.7

subelements – обход вложенных ключей из списка словарей

Новая версия 1.4.

  • Обзор
  • Параметры
  • Примеры
  • Значения возврата
  • Статус

Обзор

  • Subelements обходит список хешей (также словарей) и затем обходит список с заданным (вложенным под-)ключом внутри этих записей.

Параметры

Параметр Варианты/Значения по умолчанию Конфигурация Комментарии
_terms
- / обязательный
кортеж из списка словарей и ключа словаря для извлечения
skip_missing
-
Значение по умолчанию:
"нет"
Если установлено в True, плагин поиска пропустит элементы списков, не содержащие заданный подключа. Если False, плагин выдаст ошибку и пожалуется на отсутствующий подключа.

Примеры

- name: show var structure as it is needed for example to make sense
  hosts: all
  vars:
    users:
      - name: alice
        authorized:
          - /tmp/alice/onekey.pub
          - /tmp/alice/twokey.pub
        mysql:
            password: mysql-password
            hosts:
              - "%"
              - "127.0.0.1"
              - "::1"
              - "localhost"
            privs:
              - "*.*:SELECT"
              - "DB1.*:ALL"
        groups:
          - wheel
      - name: bob
        authorized:
          - /tmp/bob/id_rsa.pub
        mysql:
            password: other-mysql-password
            hosts:
              - "db1"
            privs:
              - "*.*:SELECT"
              - "DB2.*:ALL"
  tasks:
    - name: Set authorized ssh key, extracting just that data from 'users'
      authorized_key:
        user: "{{ item.0.name }}"
        key: "{{ lookup('file', item.1) }}"
      with_subelements:
         - "{{ users }}"
         - authorized

    - name: Setup MySQL users, given the mysql hosts and privs subkey lists
      mysql_user:
        name: "{{ item.0.name }}"
        password: "{{ item.0.mysql.password }}"
        host: "{{ item.1 }}"
        priv: "{{ item.0.mysql.privs | join('/') }}"
      with_subelements:
        - "{{ users }}"
        - mysql.hosts

    - name: list groups for users that have them, don't error if groups key is missing
      debug: var=item
      loop: "{{lookup('subelements', users, 'groups', {'skip_missing': True})}}"

Значения возврата

Общие значения возврата описаны здесь, следующие поля уникальны для этого поиска:

Ключ Возвращаемое значение Описание
_list
-
список извлеченных subelements



Статус

Авторы

  • Serge van Ginderachter <serge@vanginderachter.be>

Подсказка

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/plugins/lookup/subelements.html

Spec-Zone.ru

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