Ansible 是否存在与查找等效但在目标主机而不是本地主机中执行的方法?

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

在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/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任务至关重要,它们不应该在您的控制主机上,并推送到目标/远程,而不是相反的方向吗?