我试图根据变量中的数字创建一些AWS弹性IP - 到目前为止它都很好。但我需要检查这个EIP是否已存在于我从文件加载的一组变量中。如果EIP存在,我想跳过它的创建, 例如:
- set_fact: "number_of_ips=3
- name: load the local config file
include_vars: profiles/{{ ec2_tag_environment }}/file_with_variables
- name: allocate a new elastic IP for server {{ item }} if not exists already
ec2_eip:
profile: "{{ boto_profile }}"
region: "{{ ec2_region }}"
state: present
register: reg_eip_server_{{ item }}
when: server_eip_{{ item }} is not defined
with_sequence: start=1 end={{ number_of_ips}}
(请不要介意缩进 - 它有效,但可能是复制/粘贴问题)
在"当"我收到警告,当然如果我尝试使用reg_eip_server_1.public_ip
它会失败,因为它不存在
以下是问题:
答案 0 :(得分:0)
我设法搞清楚了。 使用项目本身,警告只是一个警告,但它实际上是有效的,所以如果文件中的变量确实存在,它将忽略循环的实例并继续。 所以:1。是的,可能。 2.从结果项中获取公共IP(使用结果项编号作为索引)。 3.警告本身仍然有效。