2016-11-16 26 views
1

我有一個創建一個ENI一個非常基本的ansible劇本:Ansible - ec2_eni重用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

+0

你想創建一個新的ENI每次運行這個? – helloV

+0

不,那是它現在正在做什麼,我想避免這種情況。 – Asdfg

+0

那麼ansible如何知道是否創建一個ENI?除非你傳遞私人IP,否則無法知道是創建還是跳過。 – helloV

回答

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