Рейтинг:1

Доступ к значению dict в переменной из того же элемента списка в Ansible

флаг tr

Я использую Ansible для развертывания некоторых виртуальных машин, и у меня есть переменная списка, определяющая виртуальные машины. Мне интересно, могу ли я использовать один из элементов dict в качестве переменной в одном и том же элементе списка. Например, скажем, у меня определена следующая переменная:

узлы:
  - имя: вм1
    псевдонимы:
      - вм1
      - vm1.локальный
  - имя: вм2
    псевдонимы:
      - вм2
      - vm2.локальный

Могу ли я вместо этого сделать что-то подобное?

узлы:
  - имя: вм1
    псевдонимы:
      - "{{ имя }}"
      - "{{имя}}.local"
  - имя: вм2
    псевдонимы:
      - "{{ имя }}"
      - "{{имя}}.local"

Я пробовал это, и я пытался использовать "{{узлы.0.имя}}".

Рейтинг:0
флаг br

Нет. Вы не можете. Вам придется объединить строки во время выполнения. Например

  - отладка:
      msg: "vm: {{ item.0 }} псевдоним: {{ item.0 }}{{ item.1 }}"
    with_subelements:
      - "{{ узлы }}"
      - псевдонимы
    вары:
      узлы:
        - имя: вм1
          псевдонимы:
            - ""
            - ".местный"
        - имя: вм2
          псевдонимы:
            - ""
            - ".местный"

(не испытано)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.