Create Ansible inventory of only newly-created VM's

I’ll start off by saying I’m really pretty new to Terraform. I’m hoping someone can help me understand the workflow of provisioning new VM’s on vsphere with Terraform and then using Ansible to perform some initial configuration on the new machines. Here is where I am:

I can provision new VM’s using the vsphere provider and feeding it a listing of all the VM’s and their details that I want it to manage using the for_each meta argument in the resource block. The outcome of this is a simple, domain-joined Windows VM that can be connected to via Ansible using a local_exec provisioner.
The issue I’m having now is how do I get a list names of the VM’s that the latest terraform apply has created and and a list it has destroyed? I want to run an ansible configuration playbook on the new machines, as well as another ansible cleanup playbook for systems it has destroyed (removing DNS entries, registrations etc)?

I was really hoping to get that there was a good way to determine what machines have been newly created and machines that have been destroyed, but I can’t find anything along those lines in documentation (I figure it would be a terraform output of some type). Automating server provisioning is all well and good, but without a way to output a list of brand new machines and destroyed machines it makes registering/cleaning up after those machines a very manual process.

For example, when a new server (or servers) is built I’d like Ansible to connect to it for configuration, as well as have Ansible register that server with our monitoring system etc. Likewise, when a server is destroyed by terraform I’d like Ansible to connect to our DNS server and remove any a-records and reverse-pointer records for that host etc… I don’t want Ansible to try to connect to every known server in the infrastructure for configuration since that would be a huge waste of time.

I have had some success with this by registering outputs for new hosts. Prior to running terraform apply I run terraform output to get a list of hosts that we’ve already built. After running terraform apply I run terraform output again; by comparing the before/after results of terraform output I can determine which servers have been newly built and which servers have been newly destroyed.