In one of my Ansible playbooks I needed to only execute a couple of tasks if they were running on an EC2 instance.
The way I solved this was by checking the
fact. For example:
- debug: msg: "This is an EC2 instance" when: "'amazon' in ansible_bios_version"
This is probably not perfect, but at least it worked for me at the moment.
Note that the day after I needed this, Jeff Geerling posted an alternative way to check if you are in AWS.