amazon-web-services - Ansible 与 AWS 内部函数 Fn::Cidr 有什么类比吗?

标签 amazon-web-services ansible aws-cloudformation subnet vpc

我可以使用 Ansible playbook 获取 VPC 子网列表:

  tasks:
    - name: Gathering VPC info ...
      amazon.aws.ec2_vpc_subnet_info:
        region: "eu-east-1"
        filters:
          vpc-id: vpc-433434432aad778ad
      register: output
  
    - name: Register new var
      ansible.builtin.set_fact:
        cidr_list: "{{ cidr_list|default([]) + [item.cidr_block] }}"
      loop: "{{ output.subnets }}"
      
    - name: Debugger...
      ansible.builtin.debug:
        msg: "{{ cidr_list }}"

我现在想要的是通过给出每个子网的大小和初始 VPC CIDR 来计算所有 IPv4 地址(这实际上可以使用 AWS Fn::Cidr 成功完成):

"Fn::Cidr" : ["10.0.0.0/16", 15, 29 ]

这将创建一个包含 15 个子网的列表,其中每个子网的掩码均为/29。然后我的目标是比较两个列表,如果未使用从 Fn::Cidr 列表中找到的 IPv4,则使用该列表。

但是我想知道是否有这样的 Ansible 模块可以完成与 Fn::Cidr 相同的任务?

最佳答案

| ipsubnet filter会做你想做的事,但它可能需要一些 {% for %} 循环,因为我不认为它被设计 (ootb) 一次执行 15 个子网

关于amazon-web-services - Ansible 与 AWS 内部函数 Fn::Cidr 有什么类比吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74867253/

相关文章:

c# - 使用 VS2017 中的 AWS Serverless Application 读取 appsettings.json 文件

amazon-web-services - neo4j产生 "No authorization header supplied"错误

xpath - 运行 Ansible 任务会引发共享连接关闭错误

Ansible 通知 : sudo sysctl -p --system

scripting - 在ansible中展平和过滤复杂的结构 - 字典列表的字典

aws-cloudformation - 如何根据AWS Cloud-formation中的资源名称获取堆栈详细信息

amazon-web-services - 资源属性 cloudformation 无效

amazon-web-services - 弹性负载均衡器监听器不适用于一个端口

php - 带有 PHP SDK 的 AWS EC2 - 等到实例具有公共(public) DNS 名称

amazon-web-services - AWS Cloudformation 角色无权对角色执行 AssumeRole