Ansible:循环使用多个{{items}}

时间:2017-10-18 10:57:18

标签: ansible

我有一个包含以下变量的清单文件:

vpc_public_net1=["10.30.0.0/24","AZ=a"]
vpc_public_net2=["10.30.1.0/24","AZ=b"]

我可以使用"{{ item[1].split('=')[1] }}"

提取AZ值

我在使用相同的子网和AZ提取子网时遇到了困难 安全任务

我的Ansible代码:

- name: Create Public Subnets
  ec2_vpc_subnet: state="present"
                  vpc_id="{{ vpc_id }}"
                  cidr="{{ item.subnet }}"
                  az="{{ item.az }}"
                  region="{{ aws_region }}"
                  aws_access_key="{{ aws_access_key }}"
                  aws_secret_key="{{ aws_secret_key }}

1 个答案:

答案 0 :(得分:0)

重新定义为字典:

vpc_public_net1='{"subnet": "10.30.0.0/24", "az": "a"}'
vpc_public_net2='{"subnet": "10.30.1.0/24", "az": "b"}'

- name: Create Public Subnets
  ec2_vpc_subnet:
    state: present
    vpc_id: "{{ vpc_id }}"
    cidr: "{{ item.subnet }}"
    az: "{{ item.az }}"
    region: "{{ aws_region }}"
    aws_access_key: "{{ aws_access_key }}"
    aws_secret_key: "{{ aws_secret_key }}"
  with_items:
    - "{{ vpc_public_net1 }}"
    - "{{ vpc_public_net2 }}"