【发布时间】:2015-09-08 05:07:21
【问题描述】:
我正在编写一个使用我指定的名称创建网络的剧本。稍后在剧本中,我需要访问此网络任务分配的 IP,因此我从 hostvars 获取它。因此,例如,如果我将网络称为“my_website”,那么我在 hostvars 中的目标值将是
server: "{{hostvars.localhost.rax_nfs.results[0].success[0].rax_addresses.my_website[0].addr}}"
这很好,但我想根据 var 文件传入的变量的内容来命名网络,以使其可在多个设置中重用,然后仍然能够取回该 IP,所以
network_label: "{{ my_website }}"
server: "{{hostvars.localhost.rax_nfs.results[0].success[0].rax_addresses.network_label[0].addr}}"
显然这不起作用,因为它只是分配一个字符串。如何使用 network_label 作为另一个变量中的键?就像在php中一样
$array[$variable] 或 $object->$variable
这可能吗?
【问题讨论】:
标签: arrays variables yaml ansible