Ansible 是否存在与查找等效但在目标主机而不是本地主机中执行的方法?
在Ansible中,当我需要从Java属性文件(Ansible 是否存在与查找等效但在目标主机而不是本地主机中执行的方法?,ansible,ansible-playbook,properties-file,Ansible,Ansible Playbook,Properties File,在Ansible中,当我需要从Java属性文件(.properties)中读取属性时,我会执行以下操作: - name: Read properties set_fact: myProp1: {{ lookup('ini', 'myProp1 type=properties file=/path/to/file.properties }} myProp2: {{ lookup('ini', 'myProp2 type=properties file=/path/to/fil
.properties
)中读取属性时,我会执行以下操作:
- name: Read properties
set_fact:
myProp1: {{ lookup('ini', 'myProp1 type=properties file=/path/to/file.properties }}
myProp2: {{ lookup('ini', 'myProp2 type=properties file=/path/to/file.properties }}
但是,正如所说:
查找发生在本地计算机上,而不是远程计算机上
如果属性文件位于远程目标主机中,如何执行此操作我不能使用include\u vars,因为我的属性文件具有Java属性文件格式。正如您所观察到的,
查找是本地的。我使用的一种可能的解决方案可能不适用于所有情况,即在本地获取它,然后调用查找。在尝试此操作之前,请确保阅读以下内容:
- fetch:
src: /path/to/file.properties
dest: /tmp/file.properties
flat: yes
- name: Read properties
set_fact:
myProp1: {{ lookup('ini', 'myProp1 type=properties file=/tmp/file.properties }}
myProp2: {{ lookup('ini', 'myProp2 type=properties file=/tmp/file.properties }}
注意事项:这只是一种解决方法,而不是解决方案。如果属性对ansible任务至关重要,它们不应该在您的控制主机上,并推送到目标/远程,而不是相反的方向吗?