def __init__(self, interface=None): if isinstance(interface, Interface): import virtualbox manager = virtualbox.Manager() self._i = manager.cast_object(interface, self.__class__)._i else: self._i = interface
def __init__(self, interface=None, manager=None): if interface is not None: super(ISession, self).__init__(interface) elif manager is not None: self._i = manager.get_session()._i else: manager = virtualbox.Manager() self._i = manager.get_session()._i
def __init__(self, image, name, arch, release): self.image = image self.name = name self.arch = arch self.release = release self.vbox = virtualbox.VirtualBox() manager = virtualbox.Manager() self.session = manager.get_session()
def update_guest_additions(self, source=None, arguments=None, flags=None): if arguments is None: arguments = [] if flags is None: flags = [library.AdditionsUpdateFlag.none] if source is None: manager = virtualbox.Manager() source = os.path.join(manager.bin_path, "VBoxGuestAdditions.iso") if not os.path.exists(source): raise IOError("ISO path '%s' not found" % source) return super(IGuest, self).update_guest_additions(source, arguments, flags)
def update_guest_additions(self, source=None, arguments=[], flags=[library.AdditionsUpdateFlag.none]): if source is None: manager = virtualbox.Manager() source = os.path.join(manager.bin_path, "VBoxGuestAdditions.iso") if not os.path.exists(source): raise IOError("ISO path '%s' not found" % source) #BUG:doesn't take "arguments" as specified in xidl #super(IGuest, self).update_guest_additions(source, arguments, flags) p = self._call('updateGuestAdditions', in_p=[source, flags]) p = library.IProgress(p) return p
def __init__(self): # vboxapi.VirtualBoxManager self.manager = virtualbox.Manager().manager #IVrtualBox self.vbox = self.manager.vbox # IHost self.host = self.manager.vbox.host self.ctx = { 'manager': self.manager, 'vbox': self.manager.vbox, 'host': self.manager.vbox.host, }
def __init__(self, interface=None, manager=None): if interface is not None: super(IVirtualBox, self).__init__(interface) elif manager is not None: self._i = manager.get_virtualbox()._i else: manager = virtualbox.Manager() self._i = manager.get_virtualbox()._i this_version = ".".join(self.version.split('.')[0:2]) build_version = ".".join(self.version.split(library.vbox_version)[0:2]) if IVirtualBox.assert_version and this_version == build_version: msg = ("pyvbox built against version %s != " "installed VirtualBox version %s.\n" "Set vbox.VirtualBox.assert_version = False to " "disable the version check assertion") % (this_version, build_version) raise EnvironmentError(msg)
import subprocess as subprocess import virtualbox import shlex import os vbox = virtualbox.VirtualBox() vmanager = virtualbox.Manager() vm = [m.name for m in vbox.machines] states = [m.state for m in vbox.machines] ################# list of VMs print(vm) ################# States: 5=FirstOnline , 1=PoweredOff print(states) ################# run machine machine = vbox.machines[0] session = vmanager.get_session() progress = machine.launch_vm_process(session, "gui", []) progress.wait_for_completion() ################# shutdown machine session.console.power_down() ################# delete machine machine = vbox.machines[2] machine.remove("delete=true") ################# clone machine machine.clone(snapshot_name_or_id=None, mode=virtualbox.library.CloneMode.machine_state, options=[], name="VM2", uuid=None, groups=[], basefolder='D:/Cloud/123',