通过“ tag:Name”过滤的ansible ec2_instance_facts不按实例名称过滤

时间:2018-10-18 21:21:31

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

我想运行ec2_instance_facts以按名称查找实例。但是,我一定做错了,因为我无法使过滤器真正起作用。以下内容返回我设置的AWS_REGION中的所有内容:

- ec2_instance_facts:
  filters:
    "tag:Name": "{{myname}}"
  register: ec2_metadata

- debug: msg="{{ ec2_metadata.instances }}"

2 个答案:

答案 0 :(得分:1)

答案是使用ec2_remote_facts模块,而不是ec2_instance_facts模块。

- ec2_remote_facts:
    filters:
      "tag:Name": "{{myname}}"
  register: ec2_metadata

- debug: msg="{{ ec2_metadata.instances }}"

答案 1 :(得分:0)

根据文档ec2_remote_facts从ansible版本2.8标记为已弃用,以便使用ec2_instance_facts

这对我有好处:

- name: Get instances list
  ec2_instance_facts:
    region: "{{ region }}"
    filters:
      "tag:Name": "{{ myname }}"
  register: ec2_list

- debug: msg="{{ ec2_metadata.instances }}"

也许未应用filte吗?您可以浏览对象中的结果吗?