从ansible vars文件中的vars创建多个目录

从ansible vars文件中的vars创建多个目录,ansible,yaml,jinja2,Ansible,Yaml,Jinja2,我希望通过从ansible.yml vars文件传入vars,在给定的服务器上创建大量目录。我目前正在尝试使用Jinja模板传递目录名。 vars文件如下所示 BTG-VELOCITY: type: PBSTP accept: 1010 GFAM: type: PBSTP connect: 1010 ONEZERO2: type: TRADESTREAM GUANFABANK: type: FXSIM MAINBANK: type: FXS

我希望通过从ansible.yml vars文件传入vars,在给定的服务器上创建大量目录。我目前正在尝试使用Jinja模板传递目录名。 vars文件如下所示

BTG-VELOCITY:
    type: PBSTP
    accept: 1010
GFAM:
    type: PBSTP
    connect: 1010
ONEZERO2:
    type: TRADESTREAM
GUANFABANK:
    type: FXSIM
MAINBANK:
    type: FXSIM
TYPOBANK:
    type: TRADESTREAM
TEST-BANK:
    type: PBSTP
    connect: 32620
    accept: 33620
我希望为列出的每个客户名称创建一个目录。因此,理想情况下,我会在给定文件夹中为每个“TYPOBANK”、“MAINBANK”等创建一个目录。 目前我试图做到这一点的方式如下所示:

- include_vars:
    file: /home/vagrant/stunnelSimAnsPractice/roles/ns16/vars/customers.yml
    name: customers
- file:
    path: /home/vagrant/stunnelSimAnsPractice/roles/ns16/sessions/{%for cust, config in customers.items() %}{{cust}}{% endfor %}
    state: directory
但这将输出一个目录,其中包含合并的所有客户名称,如下所示。对于如何为每个客户创建单独的目录,有什么建议吗?多谢各位

├── sessions
│   └── GFAMTEST-BANKBTG-VELOCITYTYPOBANKMAINBANKGUANFABANKONEZERO2

不能在Ansible中的单个参数内循环

Ansible的用途旨在:

- file:
    path: /home/vagrant/stunnelSimAnsPractice/roles/ns16/sessions/{{ item }}
    state: directory
  with_items:     ### and here you need to put the list containing the directory names
不幸的是,您没有提供变量的完整定义,因此需要定制代码以满足您的需要