我使用的是 ansible 2.10.7
我需要将 vars 中的变量名设置为我从外部 var 获得的名称:
---
- name: Playbook to demonstrate cv_container module.
hosts: cvp_servers
connection: local
gather_facts: no
collections:
- arista.avd
- arista.cvp
vars:
tag: "{{tag_name}}"
configlet_list:
{{some_var_name}}: "{{lookup('file', 'configlets/' + tag )}}"
它不允许我这样做,
我的剧本取决于 var 名称,因此我必须使其具体化,但也希望选择以不同的名称运行它,var {{some_var_name}}
必须是我运行剧本的网络设备名称。
我试过 "{{some_var_name}}"
, '{{some_var_name}}'
就是不行,
有可能吗?
谢谢。
答案 0 :(得分:0)
您可以使用组合过滤器:
vars:
configlet_list: "{{ {} | combine({ some_var_name: lookup('file', 'configlets/' + tag) }) }}"