如何使用Ansible定义的列表变量?

时间:2018-01-15 12:41:23

标签: ansible ansible-2.x

我已将默认值中的变量定义为列表:

aws-sec-group-name:
    - "es-external"
    - "elasticsearch-production"

我正在尝试在我的任务手册中使用上述变量,如下所示:

---
  - name: Create EC2 instances
    ec2:
      keyname: "{{ aws-key-name }}"
      #group: "{{ aws-sec-group-name }}"
      instance_type: "{{ aws-instance-type }}"
      image: "{{ aws-ami }}"
      wait: yes
      wait_timeout: 500
      count: 2
      instance_tags:
        Name: "{{ aws-tag-name }}"
      vpc_subnet_id: "{{ subnet-id }}"
      group: ["{{ aws-sec-group-name.[0] }}","{{ aws-sec-group-name.[1] }}"].

这不是正确的方法。

有人可以告诉我如何使用列表变量吗?

此外,由于计数为2,我也有兴趣知道我是否可以在名称标签中添加-1-和-2-?

1 个答案:

答案 0 :(得分:2)

  

有人可以告诉我如何使用列表变量吗?

你在这里:

  1. 修复变量的名称,因为它们不能包含破折号:

    aws_sec_group_name:
      - "es-external"
      - "elasticsearch-production"
    
  2. 使用变量:

    group: "{{ aws_sec_group_name }}"