diff --git a/wif2ansible/inventory.py b/wif2ansible/inventory.py index 16bde1c..94fc1c0 100644 --- a/wif2ansible/inventory.py +++ b/wif2ansible/inventory.py @@ -61,8 +61,8 @@ def generate_inventory(servers: Dict[str, Server], flows: List[Flow]) -> Dict[st match_count += 1 # Prepare host entry if new - # We use the IP as the key in inventory 'hosts' - host_key = server.ip_address + # We use the Reference/Hostname as the key in inventory 'hosts' + host_key = server.reference or server.hostname or server.ip_address if host_key not in inventory_hosts: host_vars = server.get_ansible_vars() diff --git a/wif2ansible/models.py b/wif2ansible/models.py index d72853d..ef7ea6a 100644 --- a/wif2ansible/models.py +++ b/wif2ansible/models.py @@ -23,6 +23,9 @@ class Server: # Default ssh is usually fine, but being explicit doesn't hurt pass + if self.ip_address: + vars['ansible_host'] = self.ip_address + return vars @dataclass