我想运行ec2_instance_facts以按名称查找实例。但是,我一定做错了,因为我无法使过滤器真正起作用。以下内容返回我设置的AWS_REGION中的所有内容:
- ec2_instance_facts:
filters:
"tag:Name": "{{myname}}"
register: ec2_metadata
- debug: msg="{{ ec2_metadata.instances }}"
答案 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吗?您可以浏览对象中的结果吗?