2016-11-23 3 views
-1

Я пытаюсь использовать внешний словарь с каким-то «преобразованным» переменными:внешний ДИКТ в анзибле

one_changes: 
    key1: value1 
    key2: value2 
    key3: value3 

В моей PlayBook я использую vars_files, которая признана. Теперь, как мне сделать что-то вроде этого:

name: variables_one 
    replace: 
    dest=/one/file.php 
    regexp="{{ one_changes.key }}" 
    replace="{{ one_changes.value }}" 
    with_items: 
    - one_changes 

Я не могу ради бога понять это с нескольких часов. Для многих файлов существует множество переменных, поэтому я хотел бы, чтобы они отображались отдельно.

ответ

0

Об этом в документации есть chapter.

Во-первых, против отступы в файле YAML:

one_changes: 
    key1: value1 
    key2: value2 
    key3: value3 

Во-вторых, использовать with_dict:

- name: variables_one 
    replace: 
    dest: /one/file.php 
    regexp: "{{ item.key }}" 
    replace: "{{ item.value }}" 
    with_dict: "{{ one_changes }}" 
+0

Он по-прежнему дает мне «ошибка: 'объект ДИКТ' не имеет ключа нет атрибута» «». Отступы в порядке, я просто скопировал это неправильно. – Saus

+0

Nevermind, он работает. Это item.key и item.value вместо имени dict. Спасибо. – Saus

+0

Что делать, если я хочу пропустить несколько подпапок сейчас? Вместо /one/file.php я хотел бы выполнить цикл через one1 и one2 еще, с тем же файлом. – Saus

Смежные вопросы