Ansible - ec2_eni重用ENI

时间:2016-11-16 19:41:00

标签: amazon-web-services ansible ansible-playbook

我有一个非常基本的ansible剧本,可以创建一个ENI:

---
- name: create ENIs
  hosts: localhost
  tasks:
     - name: create eni 1
       ec2_eni:
         subnet_id: subnet-xxxxxxx
         region: us-east-1
         description: my-eni
         state: present

我想要做的是当我重新运行这个剧本时,它不会创建新的ENI,而是验证创建并存在的ENI。

我无法传递Private IP地址,因为我希望在我们拥有的多个帐户中重复使用该地址。

是否可以这样做?

这是我正在使用的ENI模块:

http://docs.ansible.com/ansible/ec2_eni_module.html

1 个答案:

答案 0 :(得分:1)

假设ENI描述是唯一的(非常重要的假设):

  tasks:
  - ec2_eni_facts:
      region: us-east-1
      filters:
        description: my-eni
    register: eni_facts

  - name: create eni 1 if not presemt
    ec2_eni:
      subnet_id: subnet-xxxxxxx
      region: us-east-1
      description: my-eni
      state: present
    when: not eni_facts.interfaces