首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个字典/列表上执行可能的循环

在多个字典/列表上执行可能的循环
EN

Stack Overflow用户
提问于 2016-04-08 21:21:10
回答 1查看 2K关注 0票数 1

在我的攻略中,我想遍历两个字典(或者一个字典和一个列表)。一个是域的列表(或字典),另一个是字典,其中包括aws区域和相应的服务器is,用于基于延迟的路由的DNS条目。我想为每个域为每个aws区域设置一个DNS记录。

代码语言:javascript
复制
- name: set DNS records for Domains
  route53:
    zone: "{{ item[0].key }}"
    record: "{{ item[0].key }}"
    value: "{{ item[1].value.server_ip }}"
    region: "{{ item[1].key }}"
    identifier: "{{ item[1].key }}"
  with_nested:
  - "{{ domain_dict }}"
  - "{{ aws_dict }}"

有了两个列表,示例就可以正常工作了。如何在至少使用一个字典的情况下使其工作?

domain_dict:(也可以是一个列表)

代码语言:javascript
复制
domain_dict:
  mytest1.example:
  mytest2.example:
  mytest3.example:

aws_dict:

代码语言:javascript
复制
aws_dict:
  us-east-1:
   # some other region-related stuff like ami-id,...
    server_ip: 1.2.3.4
  us-west-1:
   # some other region-related stuff
    server_ip: 1.2.3.5    
  us-west-2:
   # some other region-related stuff
    server_ip: 1.2.3.6
  #all other aws-regions
EN

回答 1

Stack Overflow用户

发布于 2016-04-09 06:11:43

定制的lookup_plugin是您最好的选择。否则这将是一个丑陋的set_fact序列。

PS:虽然你通常不应该这样做,但如果你想编写自己的方法来循环遍历任意数据结构,你可以阅读Developing Plugins来获得一些入门信息。上面的每一个特性在ansible中都是作为插件实现的,所以有很多实现可以参考

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36500699

复制
相关文章

相似问题

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