#!/usr/bin/python
"""
Help on using the Invirt remctl functions.
"""
import sys
from invirt.config import structs as config

help = [
    ('list',      'show your VM\'s state (with xm list)'),
    ('list-host',  'show on what host, if any, your VM is running'),
    ('list-long', 'show your VM\'s state as an sexp (with xm list --long)'),
    ('vcpu-list', 'show your VM\'s state (with xm vcpu-list)'),
    ('uptime',    'show your VM\'s state (with xm uptime)'),
    ('destroy',   'shut down your VM, hard (with xm destroy)'),
    ('shutdown',  'shut down your VM, softly if paravm (with xm shutdown)'),
    ('create',    'start up your VM (with xm create)'),
    ('reboot',    'reboot your VM (with xm destroy and xm create)'),
    ('install',   'autoinstall your VM (takes a series of key=value pairs; \n\t\tvalid arguments include mirror, dist, arch, imagesize,\n\t\tand noinstall)'),
    #also CD images on create/reboot
]
helpdict = dict(help)


def print_help(name, text):
    print '  %-9s : %s' % (name, text)

def main(args):
    args = [n for n in args if n in helpdict]
    print 'remctl %s control <machine> <command>' % config.remote.hostname
    if args:
        for name in args:
            print_help(name, helpdict[name])
    else:
        for name, text in help:
            print_help(name, text)
        
    return 0

if __name__ == '__main__':
    sys.exit(main(sys.argv[1:]))

# vim:et:sw=4:ts=4
