我在ansible中有一个键值字典。 我想使用我从用户那里得到的参数(打开或关闭),并希望在字典中写下他的值。
我如何运行它:
ansible-playbook -i $INVENTORY -s --extra-vars "switch='on' PLAYBOOKS/add_or_rm.yml
代码:
- hosts: docker-first-manager
vars:
operationMap:
on: add
off: rm
tasks:
- name: open_kibana_debug_port
shell:
docker service update --publish-{{operationMap[switch]}} 5603:5603 my_service
答案 0 :(得分:1)
我的第一直觉是在条件改为时使用。这似乎更容易维持下去:
- name: Publish kibana debug port
shell: docker service update --publish-add 5603:5603 my_service
when: switch is defined and switch == "on"
- name: Un-publish kibana debug port
shell: docker service update --publish-rm 5603:5603 my_service
when: switch is not defined or switch != "on"