You need to have one file per host or a VM in the host_vars containing all the information for provisioning. This information is here to allow ansible to configure the host or VM. Inventory is easy and only groups. All you need to do is use ansible and ansible_facts to collect information and keep it in a database or file.