我有一种情况,我可以编写一个三任务角色来查找、排序和提取一组值,例如:
- name: Lookup available AMI instances
amazon.aws.ec2_ami_info:
filters: ...
register: _ami_info
- name: Sort by creation date to get latest
ansible.builtin.set_fact:
_amis: '{{ _ami_info.images | sort(attribute="creation_date", reverse=True) }}'
- name: Set my facts for the latest AMI
latest_ami_id: '{{ _amis[0].image_id }}
...
我需要在几个不同的剧本中做这种事情,所以我想要代码重用。实现一个 Lookup 插件似乎更酷、更类似于 Anible 的是,但那是更多的 Python 行,调用 Boto3 来有效地做同样的事情(除了将细节作为 dict 返回)。
似乎在涵盖此内容的角色的最佳实践中找不到任何东西,或者我很可能遗漏了一些东西。