Earlier quoted context omitted.
My advice would be to avoid Ansible for that sort of thing like the plague. All the nice things like idempotency and having the same script for setting things up and tearing them down no longer function when using those modules. Essentially you need to 1. do the checks to ensure your playbook won't just create a new set of VMs every time it's run if they already exist 2. maintain a teardown playbook alongside your se…
I think you're exagerating. I use Ansible to provision dev environments on each PR, it works fine, every time a deployment occurs Ansible will deploy if required, otherwise proceeded with the deployment. Destroying the environment is done separate, triggered by a webhook once the PR is closed.
What I'm talking about is using the cloud modules to spin up servers, and god help you, entire VPC set ups.