示例#1
0
        private void RunAttachStorage(
            string vmName,
            CreateVmSettings.VboxStorageControllerSetting controllerSetting,
            CreateVmSettings.VboxDiskSetting diskSetting,
            Action <IProcess> callback = null)
        {
            if (string.IsNullOrWhiteSpace(vmName) ||
                controllerSetting == null ||
                diskSetting == null)
            {
                return;
            }

            var args = new ProcessArgumentBuilder();

            args.Append("storageattach");
            args.Append(vmName);
            args.Append("--storagectl");
            args.Append(controllerSetting.Name);
            args.Append("--port");
            args.Append(diskSetting.Port.ToString());
            args.Append("--device");
            args.Append(diskSetting.Device.ToString());
            args.Append("--type");
            args.Append("hdd");
            args.Append("--medium");
            args.Append(diskSetting.FileName);

            this.Log.Information("storageattach name: {0} to controller: {1}", diskSetting.FileName, controllerSetting.Name);

            this.Run(this.Settings, args, this.GetProcessSettings(callback != null), callback);
        }
示例#2
0
        private void RunCreateHd(CreateVmSettings.VboxDiskSetting diskSetting, Action <IProcess> callback = null)
        {
            if (diskSetting == null)
            {
                return;
            }

            var args = new ProcessArgumentBuilder();

            args.Append("createhd");
            args.Append("--filename");
            args.Append(diskSetting.FileName);
            args.Append("--size");
            args.Append(diskSetting.Size.ToString());

            this.Log.Information("createhd name: {0}", diskSetting.FileName);

            this.Run(this.Settings, args, this.GetProcessSettings(callback != null), callback);
        }