Newer
Older
'''
CloudControl VM related commands
'''
from cccli.exception import *
from sjrpc.core.exceptions import *
from cccli.printer import Printer, color
class Command_start(TqlCommand):
'''Start a stopped vm'''
self.tql_filter += "&r=vm&status=stopped"
def __call__(self, argv):
# arg parse
if len(self.args) != 1:
# rpc call
self.rpccall("start", self.args[0])
class Command_stop(TqlCommand):
def __init__(self, cli, argv0):
TqlCommand.__init__(self, cli, argv0)
self.tql_filter += "&r=vm&status=running"
# arg parse
self.parse_args(argv)
if len(self.args) != 1:
raise cmdBadArgument()
# rpc call
self.rpccall("stop", self.args[0])
class Command_destroy(TqlCommand):
def __init__(self, cli, argv0):
TqlCommand.__init__(self, cli, argv0)
self.tql_filter += "&r=vm&status!=stopped"
# arg parse
self.parse_args(argv)
if len(self.args) != 1:
raise cmdBadArgument()
# rpc call
self.rpccall("destroy", self.args[0])
class Command_pause(TqlCommand):
def __init__(self, cli, argv0):
TqlCommand.__init__(self, cli, argv0)
self.tql_filter += "&r=vm&status=stopped"
# arg parse
self.parse_args(argv)
if len(self.args) != 1:
raise cmdBadArgument()
# rpc call
self.rpccall("pause", self.args[0])
class Command_resume(TqlCommand):
def __init__(self, cli, argv0):
TqlCommand.__init__(self, cli, argv0)
self.tql_filter += "&r=vm&status=paused"
# arg parse
self.parse_args(argv)
if len(self.args) != 1:
raise cmdBadArgument()
# rpc call
self.rpccall("resume", self.args[0])
class Command_undefine(TqlCommand):
'''Undefine a stopped vm'''
def __init__(self, cli, argv0):
TqlCommand.__init__(self, cli, argv0)
self.tql_filter += "&r=vm&status=stopped"
self.add_option("-c", "--clean", action="store_true", dest="clean", default=False,