Ansible 变量和文本替换

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 }}"

答案1

摘录自文档关于变量:

变量名应该是字母、数字和下划线。变量应该始终以字母开头。

因此你应该重构为:

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

代码如下:

line: "{{ server1.a1 }}"

相关内容