我可以在任务中将库存转储到远程机器吗?

Can I dump the inventory to a remote machine in a task?

我有一个 Ansible 角色,我需要在远程机器上创建一个清单文件。我想使用当前的清单文件,但删除了一个组。

例如,如果我有以下库存:

[operator]
host1.example.com

[control]
host2.example.com
host3.example.com

[compute]
host4.example.com some_var=value
host5.example.com

# some comment
[foo:children]
control
compute

[bar:vars]
var1=value
#var2=value

然后我需要复制这个的东西:

- hosts: operator
  tasks:
    - name: Create inventory
      ...

host1.example.com 的结果如下:

[control]
host2.example.com
host3.example.com

[compute]
host4.example.com some_var=value
host5.example.com

# some comment
[foo:children]
control
compute

[bar:vars]
var1=value
#var2=value
  1. 将当前库存文件一分为二:

    • 仅包含 operator 组,
    • 一个包含其余部分。
  2. 只复制后者到目标系统。


你知道你可以point to a directory containing multiple files作为你的库存,对吧?