#!/usr/bin/python import sys import json import socket filename = sys.argv[1] try: domain = sys.argv[2] except IndexError: domain = None f=open(filename,'r') s=f.read() d=json.loads(s) f.close() hosts={} for group in d['groups'].keys(): i=0 for h in d['groups'][group]: name = d['hostvars'][h]['ansible_hostname'] name = h if not domain: hosts[h] = [name] else: hosts[h] = ['%s.%s %s'%(name,domain,name)] for h in sorted(hosts.keys()): if d['hostvars'].has_key(h): for addr in d['hostvars'][h]['ansible_all_ipv4_addresses']: if "172.16.200" in addr: string="%s"%addr for name in hosts[h]: string=string+" %s"%(name) print string for h in sorted(hosts.keys()): if d['hostvars'].has_key(h): string="%s"%(d['hostvars'][h]['ansible_default_ipv4']['address']) for name in hosts[h]: string=string+" %s"%(name) print string for h in sorted(hosts.keys()): if d['hostvars'].has_key(h): if d['hostvars'][h].has_key('ansible_tun0'): string="%s"%(d['hostvars'][h]['ansible_tun0']['ipv4']['address']) string=string+" %s-vpn"%h print string