这可能吗?我有一本类似的剧本:
vars: BDNAME:“”
- name: Add a tenant using a JSON string
aci_bd:
tenant: "common"
bd: "{{ BDNAME }}"
vrf: "PIGGE"
hostname: '1.1.1.1'
username: "x"
password: "x"
use_ssl: yes
validate_certs: false
如果我在命令行中提供了额外的变量,它将起作用:
ansible-playbook apic.yml -i server.yml --extra-vars BDNAME ='pooh'
然后BDNAME得到值pooh。 但是有什么方法可以将小熊维尼定义为变量。因此,如果我像以前那样运行剧本,BDNAME将获得该变量的值。
类似 vars: BDNAME:“” POOH:尼瑟斯
然后BDNAME应该是nisse。
答案 0 :(得分:1)
直接从额外的变量POOH中定义剧本中的BDNAME。那应该做你想要的。但是使用POOH代替BDNAME会更容易。
以下是示例剧本:
---
- hosts: localhost
vars:
BDNAME: "{{ POOH }}"
tasks:
- name: print BDNAME
debug:
msg: "{{ BDNAME }}"
如果您通过以下方式调用它:
ansible-playbook playbook.yml -e '{"POOH": "Oliver"}'
您将看到:
TASK [print BDNAME] **********************************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
"changed": false,
"msg": "Oliver"
}