Назад | Перейти на главную страницу

Ansible переменные и замена текста

Я пытаюсь использовать Ansible для замены образца текста переменной. Я пробовал использовать кавычки, "" и '', но, похоже, ничего не работает. Я также пробовал использовать модуль replace и модуль lineinfile.

Пожалуйста, дайте мне знать, что я делаю не так.

- hosts: 10.1.1.10
  become: yes

  vars:
    server1:
      1a: "ED:5A:13:AA:34:20"
      2a: "ED:5A:13:AA:34:21"

  tasks:
  - name: Replace mac address in file  
    lineinfile:
      path: /tmp/file.json.j2
      regexp: 'FILL_THIS_IN'
      line: "{{ server1.1a }}"

Отрывок из документация о переменных:

Имена переменных должны состоять из букв, цифр и знаков подчеркивания. Переменные всегда должны начинаться с буквы.

Итак, вам следует провести рефакторинг, чтобы:

server1:
  a1: "ED:5A:13:AA:34:20"
  a2: "ED:5A:13:AA:34:21"

и в коде:

line: "{{ server1.a1 }}"