blob: 403de808b720be7badaadea3a3d8072d246494b1 [file] [log] [blame]
# Copyright 2023 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""VM management commands."""
import logging
from chromite.cli import command
from chromite.lib import vm
@command.command_decorator("vm")
class VmCommand(command.CliCommand):
"""cros vm command implementation."""
EPILOG = """VM management commands."""
use_dryrun_options = True
@classmethod
def AddParser(cls, parser) -> None:
"""Add parser arguments."""
super().AddParser(parser)
vm.VM.GetParser(parser)
def Run(self):
"""Run the cros vm command."""
try:
vm.VM(self.options).Run()
return 0
except vm.VMError as e:
logging.error("%s", e)
if self.options.debug:
raise
logging.error("(Re-run with --debug for more details.)")
return 1