我有以下结论:
webpaket:
"001":
projekt: "Test"
domain: "testdomain.de"
subdomain: "test"
fqdn: "test.testdomain.de"
serveradmin: "webmaster@testdomain.de"
ip: "*"
ssl: "true"
password: "somepass"
vhost: ""
symfony: "true"
localdb: "true"
clusterdb: "false"
localdb_pgsql: "false"这是实战手册:
---
# file: webpaket-remove.yml
- hosts: all
vars:
removeweb: "{{ webpaket[webid] }}"
roles:
- { role: webpaket-remove, stage: 'dev' }这是我们的任务:
---
- name: Delete Web-Directory for {{ webid }}
file: path=/test/{{ item.value }} state=absent
with_dict: "{{removeweb}}"我想通过向ansible playbook提供一个参数来访问其中的一个变量,如下所示:
ansible-playbook -l testserver.de --check --diff webpaket-remove.yml --extra-vars "webid=001"当我运行它时,我得到这样的输出:
ok: [testserver.de] => (item={'key': 'projekt', 'value': 'Test'})
ok: [testserver.de] => (item={'key': 'domain', 'value': 'testdomain.de'})如何访问键值?
如果我使用item.value.projekt,我会得到:"The task includes an option with an undefined variable. The error was: 'projekt' is undefined
itemprojekt也不起作用,我在这里没有想法了:/
发布于 2019-02-01 00:32:48
removeweb不是一个目录。项目应直接解决
- file:
path: "/test/{{ removeweb['projekt'] }}"
state: absenthttps://stackoverflow.com/questions/54461062
复制相似问题