bfg-common 1.5.580 → 1.5.581
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/common/vm/actions/add/Add.vue +120 -46
- package/components/common/vm/actions/add/New.vue +54 -16
- package/components/common/vm/actions/add/Old.vue +55 -16
- package/components/common/vm/actions/clone/Clone.vue +116 -44
- package/components/common/vm/actions/clone/new/New.vue +50 -14
- package/components/common/vm/actions/clone/old/Old.vue +52 -16
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +81 -14
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +56 -7
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +56 -8
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +206 -211
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +120 -225
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +118 -220
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +53 -66
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +159 -139
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +15 -8
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +13 -8
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +75 -62
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +149 -241
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +4 -3
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +3 -2
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +100 -62
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +17 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +3 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +3 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +39 -17
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +5 -6
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
- package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +93 -6
- package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +60 -8
- package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +58 -8
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +69 -5
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +32 -12
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +33 -12
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +132 -114
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +6 -41
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +6 -44
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +23 -8
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +31 -21
- package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +34 -26
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +34 -28
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +30 -24
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +112 -8
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{New.vue → KeymapNew.vue} +6 -6
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{Old.vue → KeymapOld.vue} +5 -5
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +7 -6
- package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +27 -9
- package/components/common/vm/actions/common/lib/models/interfaces.ts +25 -58
- package/components/common/vm/actions/editSettings/EditSettings.vue +90 -32
- package/components/common/vm/actions/editSettings/EditSettingsOld.vue +41 -14
- package/components/common/vm/actions/editSettings/new/New.vue +41 -14
- package/components/common/vm/actions/lib/models/interfaces.ts +29 -4
- package/components/common/vm/actions/lib/utils.ts +36 -64
- package/package.json +1 -1
- /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{New.vue → PasswordNew.vue} +0 -0
- /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{Old.vue → PasswordOld.vue} +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<common-vm-actions-add-new
|
|
3
3
|
v-if="isNewView"
|
|
4
|
-
v-model="
|
|
5
|
-
v-model:computed-resource="computeResource"
|
|
4
|
+
v-model:vm-form="vmForm"
|
|
6
5
|
v-model:selected-create-type="selectedCreateType"
|
|
7
6
|
v-model:is-power-on-by-default="isPowerOnByDefault"
|
|
8
7
|
:project="props.project"
|
|
@@ -32,6 +31,10 @@
|
|
|
32
31
|
:guestOsFamilies="guestOsFamilies"
|
|
33
32
|
:guestOsVersions="guestOsVersions"
|
|
34
33
|
:machineTypes="machineTypes"
|
|
34
|
+
:virtual-hardware-hard-disks-local="virtualHardwareHardDisksLocal"
|
|
35
|
+
:virtual-hardware-cd-dvd-drives-local="virtualHardwareCdDvdDrivesLocal"
|
|
36
|
+
:virtual-hardware-networks-local="virtualHardwareNetworksLocal"
|
|
37
|
+
:max-cpus="maxCpus"
|
|
35
38
|
:max-memory="maxMemory"
|
|
36
39
|
:cpu-models="cpuModels"
|
|
37
40
|
:selected-nav-item="selectedNavItem"
|
|
@@ -70,13 +73,14 @@
|
|
|
70
73
|
@change-select-options="onChangeSelectOptions"
|
|
71
74
|
@change-clone-count="cloneCount = $event"
|
|
72
75
|
@change-compatibility="onChangeCompatibility"
|
|
76
|
+
@change-boot-order="onChangeBootOrder"
|
|
77
|
+
@change-customize-hardware="onChangeCustomizeHardware"
|
|
73
78
|
@finish="onFinish"
|
|
74
79
|
@hide="onHideModal"
|
|
75
80
|
/>
|
|
76
81
|
<common-vm-actions-add-old
|
|
77
82
|
v-else
|
|
78
|
-
v-model="
|
|
79
|
-
v-model:compute-resource="computeResource"
|
|
83
|
+
v-model:vm-form="vmForm"
|
|
80
84
|
v-model:selected-create-type="selectedCreateType"
|
|
81
85
|
v-model:is-power-on-by-default="isPowerOnByDefault"
|
|
82
86
|
:project="props.project"
|
|
@@ -106,6 +110,10 @@
|
|
|
106
110
|
:guestOsFamilies="guestOsFamilies"
|
|
107
111
|
:guestOsVersions="guestOsVersions"
|
|
108
112
|
:machineTypes="machineTypes"
|
|
113
|
+
:virtual-hardware-hard-disks-local="virtualHardwareHardDisksLocal"
|
|
114
|
+
:virtual-hardware-cd-dvd-drives-local="virtualHardwareCdDvdDrivesLocal"
|
|
115
|
+
:virtual-hardware-networks-local="virtualHardwareNetworksLocal"
|
|
116
|
+
:max-cpus="maxCpus"
|
|
109
117
|
:max-memory="maxMemory"
|
|
110
118
|
:cpu-models="cpuModels"
|
|
111
119
|
:selected-nav-item="selectedNavItem"
|
|
@@ -142,6 +150,8 @@
|
|
|
142
150
|
@change-select-options="onChangeSelectOptions"
|
|
143
151
|
@change-clone-count="cloneCount = $event"
|
|
144
152
|
@change-compatibility="onChangeCompatibility"
|
|
153
|
+
@change-boot-order="onChangeBootOrder"
|
|
154
|
+
@change-customize-hardware="onChangeCustomizeHardware"
|
|
145
155
|
@finish="onFinish"
|
|
146
156
|
@hide="onHideModal"
|
|
147
157
|
/>
|
|
@@ -177,11 +187,19 @@ import type {
|
|
|
177
187
|
import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
|
|
178
188
|
import type {
|
|
179
189
|
UI_I_Capabilities,
|
|
180
|
-
UI_I_CreateVmData,
|
|
181
190
|
UI_I_VmForm,
|
|
182
|
-
|
|
191
|
+
UI_I_VmFormCash,
|
|
183
192
|
} from '~/components/common/vm/actions/common/lib/models/interfaces'
|
|
193
|
+
import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
|
|
194
|
+
import type {
|
|
195
|
+
UI_I_SendDataCpu,
|
|
196
|
+
UI_I_SendDataMemory,
|
|
197
|
+
UI_I_SendDataNewCdDvdDrive,
|
|
198
|
+
UI_I_SendDataNewHardDisk,
|
|
199
|
+
UI_I_SendDataNewNetwork,
|
|
200
|
+
} from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
|
|
184
201
|
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
|
202
|
+
import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
|
|
185
203
|
import type {
|
|
186
204
|
UI_I_MediatedDevice,
|
|
187
205
|
UI_I_PciDevice,
|
|
@@ -197,8 +215,6 @@ import {
|
|
|
197
215
|
} from '~/components/common/vm/actions/add/lib/config/steps'
|
|
198
216
|
import { mapCapabilities } from '~/components/common/vm/actions/common/lib/utils/capabilities'
|
|
199
217
|
|
|
200
|
-
const model = defineModel<UI_I_CreateVmData>({ required: true })
|
|
201
|
-
|
|
202
218
|
const props = withDefaults(
|
|
203
219
|
defineProps<{
|
|
204
220
|
project: UI_T_Project
|
|
@@ -253,6 +269,7 @@ const emits = defineEmits<{
|
|
|
253
269
|
(event: 'remove-error-by-title', value: string): void
|
|
254
270
|
(event: 'get-networks-table', value: UI_I_TablePayload): void
|
|
255
271
|
(event: 'get-pci-devices'): void
|
|
272
|
+
(event: 'get-pci-devices'): void
|
|
256
273
|
(event: 'hide'): void
|
|
257
274
|
(event: 'select-template', value: string): void
|
|
258
275
|
(
|
|
@@ -497,7 +514,9 @@ const onCheckName = async (
|
|
|
497
514
|
})
|
|
498
515
|
}
|
|
499
516
|
const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
|
|
500
|
-
|
|
517
|
+
const { computeResource } = vmForm.value
|
|
518
|
+
|
|
519
|
+
if (!computeResource)
|
|
501
520
|
return [
|
|
502
521
|
'none',
|
|
503
522
|
localization.value.vmWizard.noDestinationComputeResourceSelected,
|
|
@@ -508,23 +527,21 @@ const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
|
|
|
508
527
|
localization.value.common.compatibilityChecksSucceeded,
|
|
509
528
|
]
|
|
510
529
|
|
|
511
|
-
if (
|
|
512
|
-
!['cluster', 'host', 'resource_pool'].includes(computeResource.value?.type)
|
|
513
|
-
) {
|
|
530
|
+
if (!['cluster', 'host', 'resource_pool'].includes(computeResource?.type)) {
|
|
514
531
|
res = [
|
|
515
532
|
'error',
|
|
516
533
|
localization.value.common.selectValidClusterOrHostDestination,
|
|
517
534
|
]
|
|
518
535
|
}
|
|
519
|
-
if (computeResource
|
|
520
|
-
const hasHost = !!computeResource.
|
|
536
|
+
if (computeResource?.type === 'cluster') {
|
|
537
|
+
const hasHost = !!computeResource.nodes.length
|
|
521
538
|
if (!hasHost) {
|
|
522
539
|
res = ['error', localization.value.common.clusterNotContainAnyHosts]
|
|
523
540
|
}
|
|
524
541
|
}
|
|
525
542
|
|
|
526
|
-
if (computeResource
|
|
527
|
-
if (computeResource.
|
|
543
|
+
if (computeResource?.type === 'host') {
|
|
544
|
+
if (computeResource.state === 'Error') {
|
|
528
545
|
// TODO check Maintenance Mode
|
|
529
546
|
res = [
|
|
530
547
|
'error',
|
|
@@ -541,13 +558,14 @@ const checkComputeResource = (
|
|
|
541
558
|
): UI_I_ValidationReturn => {
|
|
542
559
|
let stepHasError = false
|
|
543
560
|
|
|
561
|
+
const { computeResource } = vmForm.value
|
|
562
|
+
|
|
544
563
|
if (
|
|
545
|
-
!computeResource
|
|
564
|
+
!computeResource ||
|
|
546
565
|
// compatibilityText.value[0] !== 1 ||
|
|
547
|
-
computeResource.
|
|
548
|
-
computeResource.
|
|
549
|
-
(computeResource.
|
|
550
|
-
!computeResource.value.nodes.length)
|
|
566
|
+
computeResource.type === 'datacenter' ||
|
|
567
|
+
computeResource.type === 'folder' ||
|
|
568
|
+
(computeResource.type === 'cluster' && !computeResource.nodes.length)
|
|
551
569
|
) {
|
|
552
570
|
computeResourceAlert.value = [
|
|
553
571
|
localization.value.common.specifyValidClusterOrHostDestination,
|
|
@@ -688,15 +706,22 @@ const checkCustomizeHardwareForTemplate = async (
|
|
|
688
706
|
})
|
|
689
707
|
}
|
|
690
708
|
|
|
691
|
-
const
|
|
709
|
+
const storageIdCash = ref<string | null>(null)
|
|
692
710
|
const vmForm = ref<UI_I_VmForm>({
|
|
711
|
+
name: '',
|
|
712
|
+
compatibility: '',
|
|
713
|
+
guestMachineType: null,
|
|
714
|
+
guestOsFamily: null,
|
|
715
|
+
guestOsVersion: null,
|
|
716
|
+
computeResource: props.computeResource,
|
|
717
|
+
storage: null,
|
|
693
718
|
locationPath: '',
|
|
694
719
|
dataCenter: null,
|
|
695
720
|
})
|
|
696
721
|
|
|
697
722
|
const isLoadingComputeTree = ref<boolean>(false)
|
|
698
|
-
const onChangeName = (
|
|
699
|
-
|
|
723
|
+
const onChangeName = (name: string, node: UI_I_TreeNode | null): void => {
|
|
724
|
+
vmForm.value.name = name // TODO уже нету смысла
|
|
700
725
|
if (isSphere.value) {
|
|
701
726
|
vmForm.value.locationPath = node.id
|
|
702
727
|
vmForm.value.dataCenter = $recursion.findParentByValue(
|
|
@@ -721,7 +746,7 @@ const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
|
|
|
721
746
|
computeResourcePath.value = node.id
|
|
722
747
|
}
|
|
723
748
|
watch(
|
|
724
|
-
computeResource,
|
|
749
|
+
() => vmForm.value.computeResource,
|
|
725
750
|
(newValue, oldValue) => {
|
|
726
751
|
if (newValue && newValue.id !== oldValue?.id) {
|
|
727
752
|
onSelectComputeResourceTree(newValue)
|
|
@@ -733,17 +758,49 @@ watch(
|
|
|
733
758
|
const onChangeStorage = (storage: UI_I_DatastoreTableItem | null): void => {
|
|
734
759
|
if (!storage) return
|
|
735
760
|
|
|
736
|
-
|
|
737
|
-
|
|
761
|
+
vmForm.value.storage = storage
|
|
762
|
+
storageIdCash.value = storage.id
|
|
738
763
|
}
|
|
739
764
|
const compatibilityInfo = ref<string>('')
|
|
740
765
|
const onChangeCompatibility = (compatibility: UI_I_OptionItem): void => {
|
|
741
|
-
|
|
742
|
-
model.value.compatibility = compatibility.value
|
|
766
|
+
vmForm.value.compatibility = compatibility.value
|
|
743
767
|
|
|
744
768
|
const version = compatibility.value.split('-')[1]
|
|
745
769
|
compatibilityInfo.value = `${localization.value.common.compatibility}: ${compatibility.text} (${localization.value.common.vmVersion} ${version})`
|
|
746
770
|
}
|
|
771
|
+
const customizeHardware = ref<UI_I_SendDataCustomizeHardware | null>(null)
|
|
772
|
+
const onChangeCustomizeHardware = (
|
|
773
|
+
data: UI_I_SendDataCustomizeHardware
|
|
774
|
+
): void => {
|
|
775
|
+
customizeHardware.value = data
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
const virtualHardwareHardDisksLocal = computed<
|
|
779
|
+
UI_I_SendDataNewHardDisk[] | null
|
|
780
|
+
>(() => customizeHardware.value?.virtualHardware?.hardDisks || null)
|
|
781
|
+
const virtualHardwareNetworksLocal = computed<UI_I_SendDataNewNetwork[] | null>(
|
|
782
|
+
() => customizeHardware.value?.virtualHardware?.networks || null
|
|
783
|
+
)
|
|
784
|
+
const virtualHardwareCdDvdDrivesLocal = computed<
|
|
785
|
+
UI_I_SendDataNewCdDvdDrive[] | null
|
|
786
|
+
>(() => customizeHardware.value?.virtualHardware?.cdDvdDrives || null)
|
|
787
|
+
|
|
788
|
+
const virtualHardwareCpu = computed<UI_I_SendDataCpu | null>(
|
|
789
|
+
() => customizeHardware.value?.virtualHardware?.cpu || null
|
|
790
|
+
)
|
|
791
|
+
const virtualHardwareMemory = computed<UI_I_SendDataMemory | null>(
|
|
792
|
+
() => customizeHardware.value?.virtualHardware?.memory || null
|
|
793
|
+
)
|
|
794
|
+
const virtualHardwareHardDisks = ref<UI_I_SendDataNewHardDisk[] | null>(null)
|
|
795
|
+
const virtualHardwareCdDvdDrives = ref<UI_I_SendDataNewCdDvdDrive[] | null>(
|
|
796
|
+
null
|
|
797
|
+
)
|
|
798
|
+
const virtualHardwareNetworks = ref<UI_I_SendDataNewNetwork[] | null>(null)
|
|
799
|
+
const onChangeBootOrder = (data: UI_T_ChangeBootOrder): void => {
|
|
800
|
+
virtualHardwareHardDisks.value = data[0]
|
|
801
|
+
virtualHardwareCdDvdDrives.value = data[1]
|
|
802
|
+
virtualHardwareNetworks.value = data[2]
|
|
803
|
+
}
|
|
747
804
|
|
|
748
805
|
const isPowerOnByDefault = ref<boolean>(true)
|
|
749
806
|
const isCreateLinkedClone = ref<boolean>(false)
|
|
@@ -751,8 +808,7 @@ const isCreateLinkedClone = ref<boolean>(false)
|
|
|
751
808
|
watch(
|
|
752
809
|
() => props.vmNameInWizard,
|
|
753
810
|
(newValue) => {
|
|
754
|
-
|
|
755
|
-
model.value.name = newValue
|
|
811
|
+
vmForm.value.name = newValue
|
|
756
812
|
}
|
|
757
813
|
)
|
|
758
814
|
|
|
@@ -764,7 +820,13 @@ const validateSendData = async (
|
|
|
764
820
|
isLoading.value = true
|
|
765
821
|
|
|
766
822
|
const data = await props.validateSendDataFunc(
|
|
767
|
-
|
|
823
|
+
vmForm.value,
|
|
824
|
+
virtualHardwareCpu.value,
|
|
825
|
+
virtualHardwareMemory.value,
|
|
826
|
+
customizeHardware.value,
|
|
827
|
+
virtualHardwareNetworks.value,
|
|
828
|
+
virtualHardwareHardDisks.value,
|
|
829
|
+
virtualHardwareCdDvdDrives.value,
|
|
768
830
|
isPowerOnByDefault.value,
|
|
769
831
|
localization.value,
|
|
770
832
|
vmForm.value.locationPath, // для сферы
|
|
@@ -792,7 +854,13 @@ const onFinish = (): void => {
|
|
|
792
854
|
wizard.setLoader(false)
|
|
793
855
|
props
|
|
794
856
|
.finishFunc(
|
|
795
|
-
|
|
857
|
+
vmForm.value,
|
|
858
|
+
virtualHardwareCpu.value,
|
|
859
|
+
virtualHardwareMemory.value,
|
|
860
|
+
customizeHardware.value,
|
|
861
|
+
virtualHardwareNetworks.value,
|
|
862
|
+
virtualHardwareHardDisks.value,
|
|
863
|
+
virtualHardwareCdDvdDrives.value,
|
|
796
864
|
isPowerOnByDefault.value,
|
|
797
865
|
localization.value,
|
|
798
866
|
vmForm.value.locationPath, // для сферы
|
|
@@ -826,7 +894,7 @@ const guestOsVersions = ref<UI_I_ArbitraryObject<UI_I_OptionItem[]>>(
|
|
|
826
894
|
)
|
|
827
895
|
const machineTypes = ref<UI_I_OptionItem[]>(capabilities.value.machineTypes)
|
|
828
896
|
const cpuModels = ref<UI_I_OptionItem[]>(capabilities.value.cpuModels)
|
|
829
|
-
|
|
897
|
+
const maxCpus = ref<number>(capabilities.value.maxCpus)
|
|
830
898
|
const maxMemory = ref<number>(capabilities.value.maxMemory)
|
|
831
899
|
|
|
832
900
|
const selectedTemplate = ref<string>('')
|
|
@@ -863,18 +931,24 @@ watch(
|
|
|
863
931
|
() => props.vmtSettings,
|
|
864
932
|
(newValue) => {
|
|
865
933
|
if (newValue) {
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
934
|
+
vmForm.value.name = newValue.name
|
|
935
|
+
vmForm.value.compatibility =
|
|
936
|
+
newValue.compatibility || vmForm.value.compatibility
|
|
937
|
+
vmForm.value.storage = newValue.storage
|
|
938
|
+
if (customizeHardware.value?.virtualHardware) {
|
|
939
|
+
customizeHardware.value.virtualHardware.cdDvdDrives =
|
|
940
|
+
newValue.cdDvdDrives
|
|
941
|
+
customizeHardware.value.virtualHardware.hardDisks = newValue.hardDisks
|
|
942
|
+
customizeHardware.value.virtualHardware.networks = newValue.networks
|
|
943
|
+
customizeHardware.value.virtualHardware.cpu = newValue.cpu
|
|
944
|
+
customizeHardware.value.virtualHardware.memory = newValue.memory
|
|
945
|
+
customizeHardware.value.virtualHardware.videoCard = newValue.videoCard
|
|
946
|
+
customizeHardware.value.virtualHardware.usbController =
|
|
947
|
+
newValue.usbController
|
|
948
|
+
customizeHardware.value.virtualHardware.pciDevices = newValue.pciDevices
|
|
949
|
+
customizeHardware.value.vmOptions = newValue.options
|
|
950
|
+
}
|
|
951
|
+
maxCpus.value = newValue.cpu.max_vcpus
|
|
878
952
|
// cpuModels.value = newValue.cpu.model
|
|
879
953
|
isPowerOnByDefault.value = false
|
|
880
954
|
isCreateLinkedClone.value = false
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
</template>
|
|
67
67
|
<template #content>
|
|
68
68
|
<common-wizards-common-steps-name
|
|
69
|
-
v-model:name="
|
|
69
|
+
v-model:name="vmForm.name"
|
|
70
70
|
v-model:location="location"
|
|
71
71
|
:show="
|
|
72
72
|
selectedStep.id === dynamicSteps.selectName ||
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
<common-wizards-common-steps-compute-resource
|
|
119
119
|
v-if="props.isSphere"
|
|
120
120
|
v-show="selectedStep.id === dynamicSteps.selectComputeResource"
|
|
121
|
-
v-model="computeResource"
|
|
121
|
+
v-model="vmForm.computeResource"
|
|
122
122
|
:node="computeResourceTreeLocal"
|
|
123
123
|
:alert-messages="props.computeResourceAlert"
|
|
124
124
|
:is-loading="props.isLoadingComputeTree"
|
|
@@ -228,9 +228,9 @@
|
|
|
228
228
|
<template #content>
|
|
229
229
|
<div class="select-block-wrap overflow-auto pb-4">
|
|
230
230
|
<common-vm-actions-common-select-os
|
|
231
|
-
v-model:
|
|
232
|
-
v-model:guest-os-
|
|
233
|
-
v-model:
|
|
231
|
+
v-model:machine-type="vmForm.guestMachineType"
|
|
232
|
+
v-model:guest-os-family="vmForm.guestOsFamily"
|
|
233
|
+
v-model:guest-os-version="vmForm.guestOsVersion"
|
|
234
234
|
:families-options="props.guestOsFamilies"
|
|
235
235
|
:versions-options="props.guestOsVersions"
|
|
236
236
|
:machine-types-options="props.machineTypes"
|
|
@@ -251,11 +251,21 @@
|
|
|
251
251
|
<template #content>
|
|
252
252
|
<div class="select-block-wrap customize-hardware flex flex-col">
|
|
253
253
|
<common-vm-actions-common-customize-hardware
|
|
254
|
-
v-model="model"
|
|
255
254
|
:project="props.project"
|
|
256
255
|
:is-vmt="props.isVmt"
|
|
257
|
-
:
|
|
256
|
+
:vm-name="vmForm.name"
|
|
257
|
+
:guest-machine-type="vmForm.guestMachineType"
|
|
258
|
+
:guest-os-family="vmForm.guestOsFamily"
|
|
259
|
+
:guest-os-version="vmForm.guestOsVersion"
|
|
260
|
+
:storage="vmForm.storage"
|
|
261
|
+
:hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
|
|
262
|
+
:cd-dvd-drives-for-boot-options="
|
|
263
|
+
props.virtualHardwareCdDvdDrivesLocal
|
|
264
|
+
"
|
|
265
|
+
:networks-for-boot-options="props.virtualHardwareNetworksLocal"
|
|
266
|
+
:cd-dvd-drives="props.virtualHardwareCdDvdDrivesLocal"
|
|
258
267
|
:customize-hardware-submit="props.customizeHardwareSubmit"
|
|
268
|
+
:max-cpus="props.maxCpus"
|
|
259
269
|
:max-memory="props.maxMemory"
|
|
260
270
|
:cpu-models="props.cpuModels"
|
|
261
271
|
:selected-nav-item="props.selectedNavItem"
|
|
@@ -269,8 +279,10 @@
|
|
|
269
279
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
270
280
|
:passthrough-devices="props.passthroughDevices"
|
|
271
281
|
:mediated-devices="props.mediatedDevices"
|
|
272
|
-
:compute-resource="computeResource"
|
|
282
|
+
:compute-resource="vmForm.computeResource"
|
|
273
283
|
:compatibility-info="props.compatibilityInfo"
|
|
284
|
+
@change-boot-order="emits('change-boot-order', $event)"
|
|
285
|
+
@send-data="emits('change-customize-hardware', $event)"
|
|
274
286
|
@get-storage="emits('get-storage', $event)"
|
|
275
287
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
276
288
|
@get-active-device-child="
|
|
@@ -302,19 +314,31 @@
|
|
|
302
314
|
class="select-block-wrap overflow-auto h-full flex flex-col pr-8"
|
|
303
315
|
>
|
|
304
316
|
<common-vm-actions-common-customize-hardware
|
|
305
|
-
v-model="model"
|
|
306
317
|
:project="props.project"
|
|
307
318
|
:is-vmt="props.isVmt"
|
|
308
|
-
:
|
|
319
|
+
:vm-name="vmForm.name"
|
|
320
|
+
:guest-machine-type="vmForm.guestMachineType"
|
|
321
|
+
:guest-os-family="vmForm.guestOsFamily"
|
|
322
|
+
:guest-os-version="vmForm.guestOsVersion"
|
|
323
|
+
:storage="vmForm.storage"
|
|
324
|
+
:hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
|
|
325
|
+
:cd-dvd-drives-for-boot-options="
|
|
326
|
+
props.virtualHardwareCdDvdDrivesLocal
|
|
327
|
+
"
|
|
328
|
+
:networks-for-boot-options="props.virtualHardwareNetworksLocal"
|
|
309
329
|
:cd-dvd-drives="props.vmtSettings.cdDvdDrives || []"
|
|
310
330
|
:hard-disks="props.vmtSettings.hardDisks || []"
|
|
311
331
|
:networks="props.vmtSettings.networks || []"
|
|
312
332
|
:customize-hardware-submit="
|
|
313
333
|
props.customizeHardwareForTemplateSubmit
|
|
314
334
|
"
|
|
335
|
+
:max-cpus="props.maxCpus"
|
|
315
336
|
:max-memory="props.maxMemory"
|
|
316
337
|
:cpu-models="props.cpuModels"
|
|
338
|
+
:cpu="props.vmtSettings.cpu"
|
|
339
|
+
:memory="props.vmtSettings.memory"
|
|
317
340
|
:video-card="props.vmtSettings.videoCard"
|
|
341
|
+
:usb-controller="props.vmtSettings.usbController"
|
|
318
342
|
:pci-devices="props.vmtSettings.pciDevices"
|
|
319
343
|
:hard-disks-for-edit="props.vmtSettings.hardDisks || []"
|
|
320
344
|
:options="props.vmtSettings.options"
|
|
@@ -329,9 +353,11 @@
|
|
|
329
353
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
330
354
|
:passthrough-devices="props.passthroughDevices"
|
|
331
355
|
:mediated-devices="props.mediatedDevices"
|
|
332
|
-
:compute-resource="computeResource"
|
|
356
|
+
:compute-resource="vmForm.computeResource"
|
|
333
357
|
:compatibility-info="props.compatibilityInfo"
|
|
334
358
|
is-clone
|
|
359
|
+
@change-boot-order="emits('change-boot-order', $event)"
|
|
360
|
+
@send-data="emits('change-customize-hardware', $event)"
|
|
335
361
|
@get-storage="emits('get-storage', $event)"
|
|
336
362
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
337
363
|
@get-active-device-child="
|
|
@@ -419,11 +445,17 @@ import type {
|
|
|
419
445
|
} from '~/components/common/vm/actions/common/lib/models/types'
|
|
420
446
|
import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
|
|
421
447
|
import type {
|
|
422
|
-
UI_I_CreateVmData,
|
|
423
448
|
// UI_I_Capabilities,
|
|
424
449
|
UI_I_VmForm,
|
|
425
450
|
} from '~/components/common/vm/actions/common/lib/models/interfaces'
|
|
451
|
+
import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
|
|
452
|
+
import type {
|
|
453
|
+
UI_I_SendDataNewCdDvdDrive,
|
|
454
|
+
UI_I_SendDataNewHardDisk,
|
|
455
|
+
UI_I_SendDataNewNetwork,
|
|
456
|
+
} from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
|
|
426
457
|
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
|
458
|
+
import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
|
|
427
459
|
import type {
|
|
428
460
|
UI_I_MediatedDevice,
|
|
429
461
|
UI_I_PciDevice,
|
|
@@ -433,10 +465,7 @@ import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/
|
|
|
433
465
|
import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
|
|
434
466
|
import { dynamicSteps } from '~/components/common/vm/actions/add/lib/config/steps'
|
|
435
467
|
|
|
436
|
-
const
|
|
437
|
-
required: true,
|
|
438
|
-
})
|
|
439
|
-
const computeResource = defineModel<UI_I_TreeNode | null>('computeResource', {
|
|
468
|
+
const vmForm = defineModel<UI_I_VmForm>('vmForm', {
|
|
440
469
|
required: true,
|
|
441
470
|
})
|
|
442
471
|
const selectedCreateType = defineModel<string>('selectedCreateType', {
|
|
@@ -475,6 +504,10 @@ const props = withDefaults(
|
|
|
475
504
|
guestOsFamilies: UI_I_OptionItem[]
|
|
476
505
|
guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
|
|
477
506
|
machineTypes: UI_I_OptionItem[]
|
|
507
|
+
virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
|
|
508
|
+
virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
|
|
509
|
+
virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
|
|
510
|
+
maxCpus: number
|
|
478
511
|
maxMemory: number
|
|
479
512
|
cpuModels: UI_I_OptionItem[]
|
|
480
513
|
selectedNavItem: UI_T_SelectedNavItem
|
|
@@ -528,6 +561,11 @@ const emits = defineEmits<{
|
|
|
528
561
|
(event: 'change-select-options', value: string[]): void
|
|
529
562
|
(event: 'change-clone-count', value: number): void
|
|
530
563
|
(event: 'change-compatibility', value: UI_I_OptionItem): void
|
|
564
|
+
(event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
|
|
565
|
+
(
|
|
566
|
+
event: 'change-customize-hardware',
|
|
567
|
+
value: UI_I_SendDataCustomizeHardware
|
|
568
|
+
): void
|
|
531
569
|
(event: 'hide'): void
|
|
532
570
|
}>()
|
|
533
571
|
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
selectedStep.id === dynamicSteps.selectName ||
|
|
35
35
|
selectedStep.id === dynamicSteps.selectNameFolder
|
|
36
36
|
"
|
|
37
|
-
v-model:name="
|
|
37
|
+
v-model:name="vmForm.name"
|
|
38
38
|
v-model:location="location"
|
|
39
39
|
:show="
|
|
40
40
|
selectedStep.id === dynamicSteps.selectName ||
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
<common-wizards-common-steps-compute-resource
|
|
56
56
|
v-if="props.isSphere"
|
|
57
57
|
v-show="selectedStep.id === dynamicSteps.selectComputeResource"
|
|
58
|
-
v-model="computeResource"
|
|
58
|
+
v-model="vmForm.computeResource"
|
|
59
59
|
:node="computeResourceTreeLocal"
|
|
60
60
|
:alert-messages="props.computeResourceAlert"
|
|
61
61
|
:is-loading="props.isLoadingComputeTree"
|
|
@@ -91,9 +91,9 @@
|
|
|
91
91
|
selectedStep.id === dynamicSteps.selectGuestOSMachineType ||
|
|
92
92
|
selectedStep.id === dynamicSteps.selectGuestOS
|
|
93
93
|
"
|
|
94
|
-
v-model:
|
|
95
|
-
v-model:guest-os-
|
|
96
|
-
v-model:
|
|
94
|
+
v-model:machine-type="vmForm.guestMachineType"
|
|
95
|
+
v-model:guest-os-family="vmForm.guestOsFamily"
|
|
96
|
+
v-model:guest-os-version="vmForm.guestOsVersion"
|
|
97
97
|
:families-options="props.guestOsFamilies"
|
|
98
98
|
:versions-options="props.guestOsVersions"
|
|
99
99
|
:machine-types-options="props.machineTypes"
|
|
@@ -102,11 +102,21 @@
|
|
|
102
102
|
/>
|
|
103
103
|
<common-vm-actions-common-customize-hardware
|
|
104
104
|
v-show="selectedStep.id === dynamicSteps.customizeHardware"
|
|
105
|
-
v-model="model"
|
|
106
105
|
:project="props.project"
|
|
107
106
|
:is-vmt="props.isVmt"
|
|
108
|
-
:
|
|
107
|
+
:vm-name="vmForm.name"
|
|
108
|
+
:guest-machine-type="vmForm.guestMachineType"
|
|
109
|
+
:guest-os-family="vmForm.guestOsFamily"
|
|
110
|
+
:guest-os-version="vmForm.guestOsVersion"
|
|
111
|
+
:storage="vmForm.storage"
|
|
112
|
+
:hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
|
|
113
|
+
:cd-dvd-drives-for-boot-options="
|
|
114
|
+
props.virtualHardwareCdDvdDrivesLocal
|
|
115
|
+
"
|
|
116
|
+
:networks-for-boot-options="props.virtualHardwareNetworksLocal"
|
|
117
|
+
:cd-dvd-drives="props.virtualHardwareCdDvdDrivesLocal"
|
|
109
118
|
:customize-hardware-submit="props.customizeHardwareSubmit"
|
|
119
|
+
:max-cpus="props.maxCpus"
|
|
110
120
|
:max-memory="props.maxMemory"
|
|
111
121
|
:cpu-models="props.cpuModels"
|
|
112
122
|
:selected-nav-item="props.selectedNavItem"
|
|
@@ -120,7 +130,9 @@
|
|
|
120
130
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
121
131
|
:passthrough-devices="props.passthroughDevices"
|
|
122
132
|
:mediated-devices="props.mediatedDevices"
|
|
123
|
-
:compute-resource="computeResource"
|
|
133
|
+
:compute-resource="vmForm.computeResource"
|
|
134
|
+
@change-boot-order="emits('change-boot-order', $event)"
|
|
135
|
+
@send-data="emits('change-customize-hardware', $event)"
|
|
124
136
|
@get-storage="emits('get-storage', $event)"
|
|
125
137
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
126
138
|
@get-active-device-child="emits('get-active-device-child', $event)"
|
|
@@ -132,21 +144,34 @@
|
|
|
132
144
|
<common-vm-actions-common-customize-hardware
|
|
133
145
|
v-if="props.vmtSettings"
|
|
134
146
|
v-show="selectedStep.id === dynamicSteps.customizeHardwareTemplate"
|
|
135
|
-
v-model="model"
|
|
136
147
|
:is-vmt="props.isVmt"
|
|
137
148
|
:project="props.project"
|
|
138
|
-
:
|
|
149
|
+
:vm-name="vmForm.name"
|
|
150
|
+
:guest-machine-type="vmForm.guestMachineType"
|
|
151
|
+
:guest-os-family="vmForm.guestOsFamily"
|
|
152
|
+
:guest-os-version="vmForm.guestOsVersion"
|
|
153
|
+
:storage="vmForm.storage"
|
|
154
|
+
:hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
|
|
155
|
+
:cd-dvd-drives-for-boot-options="
|
|
156
|
+
props.virtualHardwareCdDvdDrivesLocal
|
|
157
|
+
"
|
|
158
|
+
:networks-for-boot-options="props.virtualHardwareNetworksLocal"
|
|
139
159
|
:cd-dvd-drives="props.vmtSettings.cdDvdDrives || []"
|
|
140
160
|
:hard-disks="props.vmtSettings.hardDisks || []"
|
|
141
161
|
:networks="props.vmtSettings.networks || []"
|
|
142
162
|
:customize-hardware-submit="
|
|
143
163
|
props.customizeHardwareForTemplateSubmit
|
|
144
164
|
"
|
|
165
|
+
:max-cpus="props.maxCpus"
|
|
145
166
|
:max-memory="props.maxMemory"
|
|
146
167
|
:cpu-models="props.cpuModels"
|
|
168
|
+
:cpu="props.vmtSettings.cpu"
|
|
169
|
+
:memory="props.vmtSettings.memory"
|
|
147
170
|
:video-card="props.vmtSettings.videoCard"
|
|
171
|
+
:usb-controller="props.vmtSettings.usbController"
|
|
148
172
|
:pci-devices="props.vmtSettings.pciDevices"
|
|
149
173
|
:hard-disks-for-edit="props.vmtSettings.hardDisks || []"
|
|
174
|
+
:options="props.vmtSettings.options"
|
|
150
175
|
:selected-nav-item="props.selectedNavItem"
|
|
151
176
|
:nodes="props.nodes"
|
|
152
177
|
:files="props.files"
|
|
@@ -158,8 +183,10 @@
|
|
|
158
183
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
159
184
|
:passthrough-devices="props.passthroughDevices"
|
|
160
185
|
:mediated-devices="props.mediatedDevices"
|
|
161
|
-
:compute-resource="computeResource"
|
|
186
|
+
:compute-resource="vmForm.computeResource"
|
|
162
187
|
is-clone
|
|
188
|
+
@change-boot-order="emits('change-boot-order', $event)"
|
|
189
|
+
@send-data="emits('change-customize-hardware', $event)"
|
|
163
190
|
@get-storage="emits('get-storage', $event)"
|
|
164
191
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
165
192
|
@get-active-device-child="emits('get-active-device-child', $event)"
|
|
@@ -220,11 +247,17 @@ import type {
|
|
|
220
247
|
} from '~/components/common/vm/actions/common/lib/models/types'
|
|
221
248
|
import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
|
|
222
249
|
import type {
|
|
223
|
-
UI_I_CreateVmData,
|
|
224
250
|
// UI_I_Capabilities,
|
|
225
251
|
UI_I_VmForm,
|
|
226
252
|
} from '~/components/common/vm/actions/common/lib/models/interfaces'
|
|
253
|
+
import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
|
|
254
|
+
import type {
|
|
255
|
+
UI_I_SendDataNewCdDvdDrive,
|
|
256
|
+
UI_I_SendDataNewHardDisk,
|
|
257
|
+
UI_I_SendDataNewNetwork,
|
|
258
|
+
} from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
|
|
227
259
|
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
|
260
|
+
import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
|
|
228
261
|
import type {
|
|
229
262
|
UI_I_MediatedDevice,
|
|
230
263
|
UI_I_PciDevice,
|
|
@@ -234,10 +267,7 @@ import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/
|
|
|
234
267
|
import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
|
|
235
268
|
import { dynamicSteps } from '~/components/common/vm/actions/add/lib/config/steps'
|
|
236
269
|
|
|
237
|
-
const
|
|
238
|
-
required: true,
|
|
239
|
-
})
|
|
240
|
-
const computeResource = defineModel<UI_I_TreeNode | null>('computeResource', {
|
|
270
|
+
const vmForm = defineModel<UI_I_VmForm>('vmForm', {
|
|
241
271
|
required: true,
|
|
242
272
|
})
|
|
243
273
|
const selectedCreateType = defineModel<string>('selectedCreateType', {
|
|
@@ -276,6 +306,10 @@ const props = withDefaults(
|
|
|
276
306
|
guestOsFamilies: UI_I_OptionItem[]
|
|
277
307
|
guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
|
|
278
308
|
machineTypes: UI_I_OptionItem[]
|
|
309
|
+
virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
|
|
310
|
+
virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
|
|
311
|
+
virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
|
|
312
|
+
maxCpus: number
|
|
279
313
|
maxMemory: number
|
|
280
314
|
cpuModels: UI_I_OptionItem[]
|
|
281
315
|
selectedNavItem: UI_T_SelectedNavItem
|
|
@@ -326,6 +360,11 @@ const emits = defineEmits<{
|
|
|
326
360
|
(event: 'change-select-options', value: string[]): void
|
|
327
361
|
(event: 'change-clone-count', value: number): void
|
|
328
362
|
(event: 'change-compatibility', value: UI_I_OptionItem): void
|
|
363
|
+
(event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
|
|
364
|
+
(
|
|
365
|
+
event: 'change-customize-hardware',
|
|
366
|
+
value: UI_I_SendDataCustomizeHardware
|
|
367
|
+
): void
|
|
329
368
|
(event: 'hide'): void
|
|
330
369
|
}>()
|
|
331
370
|
|