add host variables (proxmox_vmid, proxmox_uptime, proxmox_maxmem, ...)

pull/4420/head
Mathieu GAUTHIER-LAFAYE 2014-10-07 13:10:10 +02:00
parent 76f473cd5d
commit 3d62e55abe
1 changed files with 23 additions and 3 deletions

View File

@ -33,6 +33,10 @@ class ProxmoxQemuList(list):
def get_names(self): def get_names(self):
return [qemu['name'] for qemu in self if qemu['template'] != 1] return [qemu['name'] for qemu in self if qemu['template'] != 1]
def get_by_name(self, name):
results = [qemu for qemu in self if qemu['name'] == name]
return results[0] if len(results) > 0 else None
class ProxmoxPoolList(list): class ProxmoxPoolList(list):
def get_names(self): def get_names(self):
return [pool['poolid'] for pool in self] return [pool['poolid'] for pool in self]
@ -107,8 +111,24 @@ def main_list(options):
print json.dumps(result) print json.dumps(result)
def main_host(): def main_host(options):
print json.dumps({}) results = {}
proxmox_api = ProxmoxAPI(options)
proxmox_api.auth()
host = None
for node in proxmox_api.nodes().get_names():
qemu_list = proxmox_api.node_qemu(node)
qemu = qemu_list.get_by_name(options.host)
if qemu:
break
if qemu:
for key, value in qemu.iteritems():
results['proxmox_' + key] = value
print json.dumps(results)
def main(): def main():
parser = OptionParser(usage='%prog [options] --list | --host HOSTNAME') parser = OptionParser(usage='%prog [options] --list | --host HOSTNAME')
@ -122,7 +142,7 @@ def main():
if options.list: if options.list:
main_list(options) main_list(options)
elif options.host: elif options.host:
main_host() main_host(options)
else: else:
parser.print_help() parser.print_help()
sys.exit(1) sys.exit(1)