public void Dispose()
        {
            if (_dependenciesPowerDriver != null)
            {
                _dependenciesPowerDriver.Dispose();
                _dependenciesPowerDriver = null;
            }

            if (_vm != null)
            {
                _vm.Dispose();
                _vm = null;
            }
        }
        public void PowerOffDependencies()
        {
            if (_dependenciesPowerDriver == null)
            {
                return;
            }

            ConsoleOutput.WriteLine("Powering off {0} dependenc{1}",
                                    _snapshotConfig.VirtualMachines.Count,
                                    _snapshotConfig.VirtualMachines.Count == 1 ? "y" : "ies");

            _dependenciesPowerDriver.PowerOff();
            _dependenciesPowerDriver.Dispose();
            _dependenciesPowerDriver = null;
        }
        public void PowerOnDependencies()
        {
            if (_snapshotConfig.VirtualMachines.Count == 0)
            {
                _dependenciesPowerDriver = null;
                return;
            }

            ConsoleOutput.WriteLine("Powering on {0} dependenc{1}",
                                    _snapshotConfig.VirtualMachines.Count,
                                    _snapshotConfig.VirtualMachines.Count == 1 ? "y" : "ies");

            _dependenciesPowerDriver = new VirtualMachinesPowerDriver(
                _snapshotConfig.VirtualMachines,
                _simulationOnly);

            _dependenciesPowerDriver.PowerOn();
        }
        public void PowerOnDependencies()
        {
            if (_snapshotConfig.VirtualMachines.Count == 0)
            {
                _dependenciesPowerDriver = null;
                return;
            }

            ConsoleOutput.WriteLine("Powering on {0} dependenc{1}",
                _snapshotConfig.VirtualMachines.Count,
                _snapshotConfig.VirtualMachines.Count == 1 ? "y" : "ies");

            _dependenciesPowerDriver = new VirtualMachinesPowerDriver(
                _snapshotConfig.VirtualMachines,
                _simulationOnly);

            _dependenciesPowerDriver.PowerOn();
        }
        public void PowerOffDependencies()
        {
            if (_dependenciesPowerDriver == null)
                return;

            ConsoleOutput.WriteLine("Powering off {0} dependenc{1}",
                _snapshotConfig.VirtualMachines.Count,
                _snapshotConfig.VirtualMachines.Count == 1 ? "y" : "ies");

            _dependenciesPowerDriver.PowerOff();
            _dependenciesPowerDriver.Dispose();
            _dependenciesPowerDriver = null;
        }
        public void Dispose()
        {
            if (_dependenciesPowerDriver != null)
            {
                _dependenciesPowerDriver.Dispose();
                _dependenciesPowerDriver = null;
            }

            if (_vm != null)
            {
                _vm.Dispose();
                _vm = null;
            }
        }