Amazon web services 我可以在community.aws.ec2_vpc_route_表可解析模块中使用group_vars/all.yml吗?

Amazon web services 我可以在community.aws.ec2_vpc_route_表可解析模块中使用group_vars/all.yml吗?,amazon-web-services,ansible,Amazon Web Services,Ansible,例如,我想以下面这个例子为例 # demo_setup.yml - hosts: localhost gather_facts: False tasks: - name: Set up NAT-protected route table community.aws.ec2_vpc_route_table: vpc_id: vpc-1245678 region: us-west-1 tags: Name: Internal

例如,我想以下面这个例子为例

# demo_setup.yml
- hosts: localhost
  gather_facts: False
  tasks:
  - name: Set up NAT-protected route table
    community.aws.ec2_vpc_route_table:
      vpc_id: vpc-1245678
      region: us-west-1
      tags:
        Name: Internal
      subnets:
        - 'SMTP Subnet'
        - 'Database Subnet'
        - 'Bastion Subnet'
      routes:
        - dest: 0.0.0.0/0
          instance_id: "{{ nat.instance_id }}"
然后使用组_vars/all.yml调用我的变量

# group_vars/all.yml
vpc: vpc-1245678
region: us-west-1
igw: igw-036dde5c85EXAMPLE
subnet_list:
  -  name: 'SMTP Subnet'
  -  name: 'Database Subnet'
  -  name: 'Database Subnet' 

我遇到的问题是如何输入我的子网列表并将其放入社区.aws.ec2\u vpc\u route\u表模块。

与其将
子网列表
作为字典列表,不如将其作为字符串列表。这会让你的生活更轻松

subnet_list:
  -  SMTP Subnet
  -  Database Subnet
  -  Database Subnet2 

与其将子网列表作为字典列表,不如将其作为字符串列表。这会让你的生活更轻松

subnet_list:
  -  SMTP Subnet
  -  Database Subnet
  -  Database Subnet2 
=>
子网:“{{subnet_list | map(attribute='name')|list}}”
。熟悉。同时,如果您真的不需要这些元素作为字典,我建议您遵循@jellycsc.=>
子网的答案:{{subnet_list | map(attribute='name')| list}}
。熟悉。同时,如果你真的不需要这些元素成为字典,我建议你按照@jellycsc的答案去做。那就是它加上
“{{subnet\u list}}”
在我的游戏中放错了位置。谢谢@jelly,就是这样,加上
“{{subnet\u list}}”
在我的游戏中放错了位置。谢谢@jellycsc
# demo_setup.yml
- hosts: localhost
  gather_facts: False
  tasks:
  - name: Set up NAT-protected route table
    community.aws.ec2_vpc_route_table:
      vpc_id: "{{ vpc }}"
      region: "{{ region }}"
      tags:
        Name: Internal
      subnets: "{{ subnet_list }}"
      routes:
        - dest: 0.0.0.0/0
          instance_id: "{{ igw }}"