如果不是调用进程的子进程,我将如何开始新进程.
例:
主程序(Caller.exe)
process.start("file.exe")
Run Code Online (Sandbox Code Playgroud)
图片:
我正在尝试找到一种使用 Ansible 调试模块创建以下结果的方法。
期望的结果
{
"myserver01": {
"host_var_one": "foo",
"host_var_two": "bar"
},
"myserver02": {
"host_var_one": "biz",
"host_var_two": "baz"
},
"myserver03": {
"host_var_one": "fizz",
"host_var_two": "buzz"
}
}
Run Code Online (Sandbox Code Playgroud)
库存示例
[my_servers]
myserver01 host_var_one=foo host_var_two=bar
myserver02 host_var_one=biz host_var_two=baz
myserver03 host_var_one=fizz host_var_two=buzz
Run Code Online (Sandbox Code Playgroud)
我希望能够提供主机变量列表,并将它们显示在清单中每个主机下的字典中,其中键是主机变量名称,值是主机变量值。理想情况下,在结果中包含另一个主机变量应该只需要向列表中添加另一个变量名称。
例如,在任务中,我会列出我想要的["host_var_one", "host_var_two"]清单中的每个主机,并获得上述所需的结果。
我有以下任务,有点接近我想要的。我只是想不出一种方法以上述格式列出每个主机所需的所有变量。以下仅适用于一个变量,并且不会列出变量名称及其值。
myplaybook.yml
---
- name: Test
hosts: all
gather_facts: yes
user: ansible
become: yes
tasks:
- name: Debug
debug:
msg: "{{ dict(query('inventory_hostnames', 'all') | zip(query('inventory_hostnames', 'all') | map('extract', hostvars, 'host_var_one'))) }}"
run_once: yes
Run Code Online (Sandbox Code Playgroud)
myplaybook.yml 的结果 …