如何将变量传递给 ansible blockinfile 模块?

问题描述 投票:0回答:0

将变量传递给

blockinfile
ansible 模块后出现错误。我想将输出结果写入文本文件。在实施变量选项之前,它确实可以正常工作。如果我在剧本中定义和调用它们有什么问题吗?

---
- name : write file
  blockinfile:
    path: /tmp/testfile
    marker: "#######################"
    insertafter: "##############Linux Banner##########"
    vars:
      username: cms
    block: |
     Envirenment Name - Server1
     Type cloud
     "{{ username }}"
     "{{ hostvars['appservers'] }}" 

我的库存档案:

[appservers]
app-server1
app-server2
app-server2


[webservers]
web-server1
web-server2
web-server3

剧本:

---
- hosts: appservers
  roles:
     - /write_file

我在

testfile

的预期产出
#######################
Envirenment Name - Server1
Type cloud
#######################
cms
app-server1
app-server2
app-server2

但是,我收到以下错误:

致命:[app-server1]:失败! => {“msg”:“任务包含一个带有未定义变量的选项。错误是:‘用户名’是

ansible yaml ansible-inventory
© www.soinside.com 2019 - 2024. All rights reserved.