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 }}"