首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何根据我的剧本中定义的var访问特定的NIC地址?

如何根据我的剧本中定义的var访问特定的NIC地址?
EN

Stack Overflow用户
提问于 2019-01-24 19:25:56
回答 1查看 91关注 0票数 0

我有不同的剧本定义,使用相同的角色。在其中一个角色模板中,我必须编写特定NIC卡的IP地址,因为它取决于主机,因此它在我的剧本中定义。

因此,在我的剧本中,我定义了这个var:

代码语言:javascript
运行
复制
vars:
      # NIC I want to use
      - nic_card: ens192

在我的角色main.yml文件中,我尝试这样做:

代码语言:javascript
运行
复制
host_specific_address: "{{ ansible_facts['ansible_{{ nic_card }}']['ipv4']['address'] }}"

如您所见,我尝试使用、ansible_facts、nic_card var来定义该ansible_facts。

不幸的是,这并没有像预期的那样奏效。我试过其他组合,但我想我走错路了。

如何根据我的剧本中定义的var访问特定的NIC地址?

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-24 21:46:55

代码语言:javascript
运行
复制
specific_address: "{{ ansible_facts[nic_card]['ipv4']['address'] }}"
  • 当您通过ansible_facts字典访问事实时,它们不以“ansible_”为前缀。
  • 当您使用变量的内容指定字典的键时,您不使用引号或{{}}来指定文字字符串= some_dict['key_name'],而不是根据存储在变量= some_dict[var_containing_key_string]中的字符串来指定键。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54353978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档