bfg-common 1.5.555 → 1.5.557
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/assets/localization/local_be.json +20 -4
- package/assets/localization/local_en.json +20 -4
- package/assets/localization/local_hy.json +20 -4
- package/assets/localization/local_kk.json +20 -4
- package/assets/localization/local_ru.json +20 -4
- package/assets/localization/local_zh.json +21 -5
- package/components/common/modals/confirmByInput/ConfirmByInput.vue +9 -1
- package/components/common/modals/confirmByInput/ConfirmByInputNew.vue +7 -2
- package/components/common/pages/backups/modals/createBackup/New.vue +8 -2
- package/components/common/pages/backups/modals/restore/Restore.vue +9 -5
- package/components/common/pages/backups/modals/restore/RestoreNew.vue +13 -3
- package/components/common/pages/backups/modals/restore/RestoreOld.vue +6 -18
- package/components/common/vm/actions/add/Add.vue +119 -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/common/customizeHardware/CustomizeHardware.vue +78 -13
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +52 -7
- package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +52 -8
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +96 -62
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +24 -13
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +25 -14
- 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/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 +62 -8
- package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +60 -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 +38 -4
- package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +26 -7
- package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsOld.vue +50 -24
- package/components/common/vm/actions/common/lib/models/interfaces.ts +25 -57
- package/components/common/vm/actions/editSettings/EditSettings.vue +33 -10
- package/components/common/vm/actions/editSettings/EditSettingsOld.vue +30 -2
- package/components/common/vm/actions/editSettings/new/New.vue +30 -2
- package/components/common/vm/actions/lib/models/interfaces.ts +29 -4
- package/components/common/vm/actions/lib/utils.ts +32 -37
- package/package.json +3 -1
- package/store/tasks/mappers/recentTasks.ts +4 -0
- /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"
|
|
@@ -69,13 +72,14 @@
|
|
|
69
72
|
@change-storage="onChangeStorage"
|
|
70
73
|
@change-select-options="onChangeSelectOptions"
|
|
71
74
|
@change-compatibility="onChangeCompatibility"
|
|
75
|
+
@change-boot-order="onChangeBootOrder"
|
|
76
|
+
@change-customize-hardware="onChangeCustomizeHardware"
|
|
72
77
|
@finish="onFinish"
|
|
73
78
|
@hide="onHideModal"
|
|
74
79
|
/>
|
|
75
80
|
<common-vm-actions-add-old
|
|
76
81
|
v-else
|
|
77
|
-
v-model="
|
|
78
|
-
v-model:compute-resource="computeResource"
|
|
82
|
+
v-model:vm-form="vmForm"
|
|
79
83
|
v-model:selected-create-type="selectedCreateType"
|
|
80
84
|
v-model:is-power-on-by-default="isPowerOnByDefault"
|
|
81
85
|
:project="props.project"
|
|
@@ -105,6 +109,10 @@
|
|
|
105
109
|
:guestOsFamilies="guestOsFamilies"
|
|
106
110
|
:guestOsVersions="guestOsVersions"
|
|
107
111
|
:machineTypes="machineTypes"
|
|
112
|
+
:virtual-hardware-hard-disks-local="virtualHardwareHardDisksLocal"
|
|
113
|
+
:virtual-hardware-cd-dvd-drives-local="virtualHardwareCdDvdDrivesLocal"
|
|
114
|
+
:virtual-hardware-networks-local="virtualHardwareNetworksLocal"
|
|
115
|
+
:max-cpus="maxCpus"
|
|
108
116
|
:max-memory="maxMemory"
|
|
109
117
|
:cpu-models="cpuModels"
|
|
110
118
|
:selected-nav-item="selectedNavItem"
|
|
@@ -140,6 +148,8 @@
|
|
|
140
148
|
@change-storage="onChangeStorage"
|
|
141
149
|
@change-select-options="onChangeSelectOptions"
|
|
142
150
|
@change-compatibility="onChangeCompatibility"
|
|
151
|
+
@change-boot-order="onChangeBootOrder"
|
|
152
|
+
@change-customize-hardware="onChangeCustomizeHardware"
|
|
143
153
|
@finish="onFinish"
|
|
144
154
|
@hide="onHideModal"
|
|
145
155
|
/>
|
|
@@ -175,11 +185,19 @@ import type {
|
|
|
175
185
|
import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
|
|
176
186
|
import type {
|
|
177
187
|
UI_I_Capabilities,
|
|
178
|
-
UI_I_CreateVmData,
|
|
179
188
|
UI_I_VmForm,
|
|
180
|
-
|
|
189
|
+
UI_I_VmFormCash,
|
|
181
190
|
} from '~/components/common/vm/actions/common/lib/models/interfaces'
|
|
191
|
+
import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
|
|
192
|
+
import type {
|
|
193
|
+
UI_I_SendDataCpu,
|
|
194
|
+
UI_I_SendDataMemory,
|
|
195
|
+
UI_I_SendDataNewCdDvdDrive,
|
|
196
|
+
UI_I_SendDataNewHardDisk,
|
|
197
|
+
UI_I_SendDataNewNetwork,
|
|
198
|
+
} from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
|
|
182
199
|
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
|
200
|
+
import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
|
|
183
201
|
import type {
|
|
184
202
|
UI_I_MediatedDevice,
|
|
185
203
|
UI_I_PciDevice,
|
|
@@ -195,8 +213,6 @@ import {
|
|
|
195
213
|
} from '~/components/common/vm/actions/add/lib/config/steps'
|
|
196
214
|
import { mapCapabilities } from '~/components/common/vm/actions/common/lib/utils/capabilities'
|
|
197
215
|
|
|
198
|
-
const model = defineModel<UI_I_CreateVmData>({ required: true })
|
|
199
|
-
|
|
200
216
|
const props = withDefaults(
|
|
201
217
|
defineProps<{
|
|
202
218
|
project: UI_T_Project
|
|
@@ -496,7 +512,9 @@ const onCheckName = async (
|
|
|
496
512
|
})
|
|
497
513
|
}
|
|
498
514
|
const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
|
|
499
|
-
|
|
515
|
+
const { computeResource } = vmForm.value
|
|
516
|
+
|
|
517
|
+
if (!computeResource)
|
|
500
518
|
return [
|
|
501
519
|
'none',
|
|
502
520
|
localization.value.vmWizard.noDestinationComputeResourceSelected,
|
|
@@ -507,23 +525,21 @@ const compatibilityText = computed<[UI_T_CompatibilityStatus, string]>(() => {
|
|
|
507
525
|
localization.value.common.compatibilityChecksSucceeded,
|
|
508
526
|
]
|
|
509
527
|
|
|
510
|
-
if (
|
|
511
|
-
!['cluster', 'host', 'resource_pool'].includes(computeResource.value?.type)
|
|
512
|
-
) {
|
|
528
|
+
if (!['cluster', 'host', 'resource_pool'].includes(computeResource?.type)) {
|
|
513
529
|
res = [
|
|
514
530
|
'error',
|
|
515
531
|
localization.value.common.selectValidClusterOrHostDestination,
|
|
516
532
|
]
|
|
517
533
|
}
|
|
518
|
-
if (computeResource
|
|
519
|
-
const hasHost = !!computeResource.
|
|
534
|
+
if (computeResource?.type === 'cluster') {
|
|
535
|
+
const hasHost = !!computeResource.nodes.length
|
|
520
536
|
if (!hasHost) {
|
|
521
537
|
res = ['error', localization.value.common.clusterNotContainAnyHosts]
|
|
522
538
|
}
|
|
523
539
|
}
|
|
524
540
|
|
|
525
|
-
if (computeResource
|
|
526
|
-
if (computeResource.
|
|
541
|
+
if (computeResource?.type === 'host') {
|
|
542
|
+
if (computeResource.state === 'Error') {
|
|
527
543
|
// TODO check Maintenance Mode
|
|
528
544
|
res = [
|
|
529
545
|
'error',
|
|
@@ -540,13 +556,14 @@ const checkComputeResource = (
|
|
|
540
556
|
): UI_I_ValidationReturn => {
|
|
541
557
|
let stepHasError = false
|
|
542
558
|
|
|
559
|
+
const { computeResource } = vmForm.value
|
|
560
|
+
|
|
543
561
|
if (
|
|
544
|
-
!computeResource
|
|
562
|
+
!computeResource ||
|
|
545
563
|
// compatibilityText.value[0] !== 1 ||
|
|
546
|
-
computeResource.
|
|
547
|
-
computeResource.
|
|
548
|
-
(computeResource.
|
|
549
|
-
!computeResource.value.nodes.length)
|
|
564
|
+
computeResource.type === 'datacenter' ||
|
|
565
|
+
computeResource.type === 'folder' ||
|
|
566
|
+
(computeResource.type === 'cluster' && !computeResource.nodes.length)
|
|
550
567
|
) {
|
|
551
568
|
computeResourceAlert.value = [
|
|
552
569
|
localization.value.common.specifyValidClusterOrHostDestination,
|
|
@@ -687,15 +704,22 @@ const checkCustomizeHardwareForTemplate = async (
|
|
|
687
704
|
})
|
|
688
705
|
}
|
|
689
706
|
|
|
690
|
-
const
|
|
707
|
+
const storageIdCash = ref<string | null>(null)
|
|
691
708
|
const vmForm = ref<UI_I_VmForm>({
|
|
709
|
+
name: '',
|
|
710
|
+
compatibility: '',
|
|
711
|
+
guestMachineType: null,
|
|
712
|
+
guestOsFamily: null,
|
|
713
|
+
guestOsVersion: null,
|
|
714
|
+
computeResource: props.computeResource,
|
|
715
|
+
storage: null,
|
|
692
716
|
locationPath: '',
|
|
693
717
|
dataCenter: null,
|
|
694
718
|
})
|
|
695
719
|
|
|
696
720
|
const isLoadingComputeTree = ref<boolean>(false)
|
|
697
|
-
const onChangeName = (
|
|
698
|
-
|
|
721
|
+
const onChangeName = (name: string, node: UI_I_TreeNode | null): void => {
|
|
722
|
+
vmForm.value.name = name // TODO уже нету смысла
|
|
699
723
|
if (isSphere.value) {
|
|
700
724
|
vmForm.value.locationPath = node.id
|
|
701
725
|
vmForm.value.dataCenter = $recursion.findParentByValue(
|
|
@@ -716,7 +740,7 @@ const onChangeName = (_name: string, node: UI_I_TreeNode | null): void => {
|
|
|
716
740
|
// // Для сферы
|
|
717
741
|
const computeResourcePath = ref<string>('')
|
|
718
742
|
watch(
|
|
719
|
-
computeResource,
|
|
743
|
+
() => vmForm.value.computeResource,
|
|
720
744
|
(newValue, oldValue) => {
|
|
721
745
|
if (newValue && newValue.id !== oldValue?.id) {
|
|
722
746
|
onSelectComputeResourceTree(newValue)
|
|
@@ -731,25 +755,56 @@ const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
|
|
|
731
755
|
const onChangeStorage = (storage: UI_I_DatastoreTableItem | null): void => {
|
|
732
756
|
if (!storage) return
|
|
733
757
|
|
|
734
|
-
|
|
735
|
-
|
|
758
|
+
vmForm.value.storage = storage
|
|
759
|
+
storageIdCash.value = storage.id
|
|
736
760
|
}
|
|
737
761
|
const compatibilityInfo = ref<string>('')
|
|
738
762
|
const onChangeCompatibility = (compatibility: UI_I_OptionItem): void => {
|
|
739
|
-
|
|
740
|
-
model.value.compatibility = compatibility.value
|
|
763
|
+
vmForm.value.compatibility = compatibility.value
|
|
741
764
|
|
|
742
765
|
const version = compatibility.value.split('-')[1]
|
|
743
766
|
compatibilityInfo.value = `${localization.value.common.compatibility}: ${compatibility.text} (${localization.value.common.vmVersion} ${version})`
|
|
744
767
|
}
|
|
768
|
+
const customizeHardware = ref<UI_I_SendDataCustomizeHardware | null>(null)
|
|
769
|
+
const onChangeCustomizeHardware = (
|
|
770
|
+
data: UI_I_SendDataCustomizeHardware
|
|
771
|
+
): void => {
|
|
772
|
+
customizeHardware.value = data
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
const virtualHardwareHardDisksLocal = computed<
|
|
776
|
+
UI_I_SendDataNewHardDisk[] | null
|
|
777
|
+
>(() => customizeHardware.value?.virtualHardware?.hardDisks || null)
|
|
778
|
+
const virtualHardwareNetworksLocal = computed<UI_I_SendDataNewNetwork[] | null>(
|
|
779
|
+
() => customizeHardware.value?.virtualHardware?.networks || null
|
|
780
|
+
)
|
|
781
|
+
const virtualHardwareCdDvdDrivesLocal = computed<
|
|
782
|
+
UI_I_SendDataNewCdDvdDrive[] | null
|
|
783
|
+
>(() => customizeHardware.value?.virtualHardware?.cdDvdDrives || null)
|
|
784
|
+
|
|
785
|
+
const virtualHardwareCpu = computed<UI_I_SendDataCpu | null>(
|
|
786
|
+
() => customizeHardware.value?.virtualHardware?.cpu || null
|
|
787
|
+
)
|
|
788
|
+
const virtualHardwareMemory = computed<UI_I_SendDataMemory | null>(
|
|
789
|
+
() => customizeHardware.value?.virtualHardware?.memory || null
|
|
790
|
+
)
|
|
791
|
+
const virtualHardwareHardDisks = ref<UI_I_SendDataNewHardDisk[] | null>(null)
|
|
792
|
+
const virtualHardwareCdDvdDrives = ref<UI_I_SendDataNewCdDvdDrive[] | null>(
|
|
793
|
+
null
|
|
794
|
+
)
|
|
795
|
+
const virtualHardwareNetworks = ref<UI_I_SendDataNewNetwork[] | null>(null)
|
|
796
|
+
const onChangeBootOrder = (data: UI_T_ChangeBootOrder): void => {
|
|
797
|
+
virtualHardwareHardDisks.value = data[0]
|
|
798
|
+
virtualHardwareCdDvdDrives.value = data[1]
|
|
799
|
+
virtualHardwareNetworks.value = data[2]
|
|
800
|
+
}
|
|
745
801
|
|
|
746
802
|
const isPowerOnByDefault = ref<boolean>(true)
|
|
747
803
|
|
|
748
804
|
watch(
|
|
749
805
|
() => props.vmNameInWizard,
|
|
750
806
|
(newValue) => {
|
|
751
|
-
|
|
752
|
-
model.value.name = newValue
|
|
807
|
+
vmForm.value.name = newValue
|
|
753
808
|
}
|
|
754
809
|
)
|
|
755
810
|
|
|
@@ -761,7 +816,13 @@ const validateSendData = async (
|
|
|
761
816
|
isLoading.value = true
|
|
762
817
|
|
|
763
818
|
const data = await props.validateSendDataFunc(
|
|
764
|
-
|
|
819
|
+
vmForm.value,
|
|
820
|
+
virtualHardwareCpu.value,
|
|
821
|
+
virtualHardwareMemory.value,
|
|
822
|
+
customizeHardware.value,
|
|
823
|
+
virtualHardwareNetworks.value,
|
|
824
|
+
virtualHardwareHardDisks.value,
|
|
825
|
+
virtualHardwareCdDvdDrives.value,
|
|
765
826
|
isPowerOnByDefault.value,
|
|
766
827
|
localization.value,
|
|
767
828
|
vmForm.value.locationPath, // для сферы
|
|
@@ -788,7 +849,13 @@ const onFinish = (): void => {
|
|
|
788
849
|
wizard.setLoader(false)
|
|
789
850
|
props
|
|
790
851
|
.finishFunc(
|
|
791
|
-
|
|
852
|
+
vmForm.value,
|
|
853
|
+
virtualHardwareCpu.value,
|
|
854
|
+
virtualHardwareMemory.value,
|
|
855
|
+
customizeHardware.value,
|
|
856
|
+
virtualHardwareNetworks.value,
|
|
857
|
+
virtualHardwareHardDisks.value,
|
|
858
|
+
virtualHardwareCdDvdDrives.value,
|
|
792
859
|
isPowerOnByDefault.value,
|
|
793
860
|
localization.value,
|
|
794
861
|
vmForm.value.locationPath, // для сферы
|
|
@@ -820,7 +887,7 @@ const guestOsVersions = ref<UI_I_ArbitraryObject<UI_I_OptionItem[]>>(
|
|
|
820
887
|
)
|
|
821
888
|
const machineTypes = ref<UI_I_OptionItem[]>(capabilities.value.machineTypes)
|
|
822
889
|
const cpuModels = ref<UI_I_OptionItem[]>(capabilities.value.cpuModels)
|
|
823
|
-
|
|
890
|
+
const maxCpus = ref<number>(capabilities.value.maxCpus)
|
|
824
891
|
const maxMemory = ref<number>(capabilities.value.maxMemory)
|
|
825
892
|
|
|
826
893
|
const selectedTemplate = ref<string>('')
|
|
@@ -855,18 +922,24 @@ watch(
|
|
|
855
922
|
() => props.vmtSettings,
|
|
856
923
|
(newValue) => {
|
|
857
924
|
if (newValue) {
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
925
|
+
vmForm.value.name = newValue.name
|
|
926
|
+
vmForm.value.compatibility =
|
|
927
|
+
newValue.compatibility || vmForm.value.compatibility
|
|
928
|
+
vmForm.value.storage = newValue.storage
|
|
929
|
+
if (customizeHardware.value?.virtualHardware) {
|
|
930
|
+
customizeHardware.value.virtualHardware.cdDvdDrives =
|
|
931
|
+
newValue.cdDvdDrives
|
|
932
|
+
customizeHardware.value.virtualHardware.hardDisks = newValue.hardDisks
|
|
933
|
+
customizeHardware.value.virtualHardware.networks = newValue.networks
|
|
934
|
+
customizeHardware.value.virtualHardware.cpu = newValue.cpu
|
|
935
|
+
customizeHardware.value.virtualHardware.memory = newValue.memory
|
|
936
|
+
customizeHardware.value.virtualHardware.videoCard = newValue.videoCard
|
|
937
|
+
customizeHardware.value.virtualHardware.usbController =
|
|
938
|
+
newValue.usbController
|
|
939
|
+
customizeHardware.value.virtualHardware.pciDevices = newValue.pciDevices
|
|
940
|
+
customizeHardware.value.vmOptions = newValue.options
|
|
941
|
+
}
|
|
942
|
+
maxCpus.value = newValue.cpu.max_vcpus
|
|
870
943
|
cpuModels.value = newValue.cpu.model
|
|
871
944
|
isPowerOnByDefault.value = false
|
|
872
945
|
}
|
|
@@ -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"
|
|
@@ -227,9 +227,9 @@
|
|
|
227
227
|
<template #content>
|
|
228
228
|
<div class="select-block-wrap overflow-auto pb-4">
|
|
229
229
|
<common-vm-actions-common-select-os
|
|
230
|
-
v-model:
|
|
231
|
-
v-model:guest-os-
|
|
232
|
-
v-model:
|
|
230
|
+
v-model:machine-type="vmForm.guestMachineType"
|
|
231
|
+
v-model:guest-os-family="vmForm.guestOsFamily"
|
|
232
|
+
v-model:guest-os-version="vmForm.guestOsVersion"
|
|
233
233
|
:families-options="props.guestOsFamilies"
|
|
234
234
|
:versions-options="props.guestOsVersions"
|
|
235
235
|
:machine-types-options="props.machineTypes"
|
|
@@ -250,11 +250,21 @@
|
|
|
250
250
|
<template #content>
|
|
251
251
|
<div class="select-block-wrap customize-hardware flex flex-col">
|
|
252
252
|
<common-vm-actions-common-customize-hardware
|
|
253
|
-
v-model="model"
|
|
254
253
|
:project="props.project"
|
|
255
254
|
:is-vmt="props.isVmt"
|
|
256
|
-
:
|
|
255
|
+
:vm-name="vmForm.name"
|
|
256
|
+
:guest-machine-type="vmForm.guestMachineType"
|
|
257
|
+
:guest-os-family="vmForm.guestOsFamily"
|
|
258
|
+
:guest-os-version="vmForm.guestOsVersion"
|
|
259
|
+
:storage="vmForm.storage"
|
|
260
|
+
:hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
|
|
261
|
+
:cd-dvd-drives-for-boot-options="
|
|
262
|
+
props.virtualHardwareCdDvdDrivesLocal
|
|
263
|
+
"
|
|
264
|
+
:networks-for-boot-options="props.virtualHardwareNetworksLocal"
|
|
265
|
+
:cd-dvd-drives="props.virtualHardwareCdDvdDrivesLocal"
|
|
257
266
|
:customize-hardware-submit="props.customizeHardwareSubmit"
|
|
267
|
+
:max-cpus="props.maxCpus"
|
|
258
268
|
:max-memory="props.maxMemory"
|
|
259
269
|
:cpu-models="props.cpuModels"
|
|
260
270
|
:selected-nav-item="props.selectedNavItem"
|
|
@@ -268,8 +278,10 @@
|
|
|
268
278
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
269
279
|
:passthrough-devices="props.passthroughDevices"
|
|
270
280
|
:mediated-devices="props.mediatedDevices"
|
|
271
|
-
:compute-resource="computeResource"
|
|
281
|
+
:compute-resource="vmForm.computeResource"
|
|
272
282
|
:compatibility-info="props.compatibilityInfo"
|
|
283
|
+
@change-boot-order="emits('change-boot-order', $event)"
|
|
284
|
+
@send-data="emits('change-customize-hardware', $event)"
|
|
273
285
|
@get-storage="emits('get-storage', $event)"
|
|
274
286
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
275
287
|
@get-active-device-child="
|
|
@@ -301,19 +313,31 @@
|
|
|
301
313
|
class="select-block-wrap overflow-auto h-full flex flex-col pr-8"
|
|
302
314
|
>
|
|
303
315
|
<common-vm-actions-common-customize-hardware
|
|
304
|
-
v-model="model"
|
|
305
316
|
:project="props.project"
|
|
306
317
|
:is-vmt="props.isVmt"
|
|
307
|
-
:
|
|
318
|
+
:vm-name="vmForm.name"
|
|
319
|
+
:guest-machine-type="vmForm.guestMachineType"
|
|
320
|
+
:guest-os-family="vmForm.guestOsFamily"
|
|
321
|
+
:guest-os-version="vmForm.guestOsVersion"
|
|
322
|
+
:storage="vmForm.storage"
|
|
323
|
+
:hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
|
|
324
|
+
:cd-dvd-drives-for-boot-options="
|
|
325
|
+
props.virtualHardwareCdDvdDrivesLocal
|
|
326
|
+
"
|
|
327
|
+
:networks-for-boot-options="props.virtualHardwareNetworksLocal"
|
|
308
328
|
:cd-dvd-drives="props.vmtSettings.cdDvdDrives || []"
|
|
309
329
|
:hard-disks="props.vmtSettings.hardDisks || []"
|
|
310
330
|
:networks="props.vmtSettings.networks || []"
|
|
311
331
|
:customize-hardware-submit="
|
|
312
332
|
props.customizeHardwareForTemplateSubmit
|
|
313
333
|
"
|
|
334
|
+
:max-cpus="props.maxCpus"
|
|
314
335
|
:max-memory="props.maxMemory"
|
|
315
336
|
:cpu-models="props.cpuModels"
|
|
337
|
+
:cpu="props.vmtSettings.cpu"
|
|
338
|
+
:memory="props.vmtSettings.memory"
|
|
316
339
|
:video-card="props.vmtSettings.videoCard"
|
|
340
|
+
:usb-controller="props.vmtSettings.usbController"
|
|
317
341
|
:pci-devices="props.vmtSettings.pciDevices"
|
|
318
342
|
:hard-disks-for-edit="props.vmtSettings.hardDisks || []"
|
|
319
343
|
:options="props.vmtSettings.options"
|
|
@@ -328,9 +352,11 @@
|
|
|
328
352
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
329
353
|
:passthrough-devices="props.passthroughDevices"
|
|
330
354
|
:mediated-devices="props.mediatedDevices"
|
|
331
|
-
:compute-resource="computeResource"
|
|
355
|
+
:compute-resource="vmForm.computeResource"
|
|
332
356
|
:compatibility-info="props.compatibilityInfo"
|
|
333
357
|
is-clone
|
|
358
|
+
@change-boot-order="emits('change-boot-order', $event)"
|
|
359
|
+
@send-data="emits('change-customize-hardware', $event)"
|
|
334
360
|
@get-storage="emits('get-storage', $event)"
|
|
335
361
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
336
362
|
@get-active-device-child="
|
|
@@ -418,11 +444,17 @@ import type {
|
|
|
418
444
|
} from '~/components/common/vm/actions/common/lib/models/types'
|
|
419
445
|
import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
|
|
420
446
|
import type {
|
|
421
|
-
UI_I_CreateVmData,
|
|
422
447
|
// UI_I_Capabilities,
|
|
423
448
|
UI_I_VmForm,
|
|
424
449
|
} from '~/components/common/vm/actions/common/lib/models/interfaces'
|
|
450
|
+
import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
|
|
451
|
+
import type {
|
|
452
|
+
UI_I_SendDataNewCdDvdDrive,
|
|
453
|
+
UI_I_SendDataNewHardDisk,
|
|
454
|
+
UI_I_SendDataNewNetwork,
|
|
455
|
+
} from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
|
|
425
456
|
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
|
457
|
+
import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
|
|
426
458
|
import type {
|
|
427
459
|
UI_I_MediatedDevice,
|
|
428
460
|
UI_I_PciDevice,
|
|
@@ -432,10 +464,7 @@ import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/
|
|
|
432
464
|
import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
|
|
433
465
|
import { dynamicSteps } from '~/components/common/vm/actions/add/lib/config/steps'
|
|
434
466
|
|
|
435
|
-
const
|
|
436
|
-
required: true,
|
|
437
|
-
})
|
|
438
|
-
const computeResource = defineModel<UI_I_TreeNode | null>('computeResource', {
|
|
467
|
+
const vmForm = defineModel<UI_I_VmForm>('vmForm', {
|
|
439
468
|
required: true,
|
|
440
469
|
})
|
|
441
470
|
const selectedCreateType = defineModel<string>('selectedCreateType', {
|
|
@@ -474,6 +503,10 @@ const props = withDefaults(
|
|
|
474
503
|
guestOsFamilies: UI_I_OptionItem[]
|
|
475
504
|
guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
|
|
476
505
|
machineTypes: UI_I_OptionItem[]
|
|
506
|
+
virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
|
|
507
|
+
virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
|
|
508
|
+
virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
|
|
509
|
+
maxCpus: number
|
|
477
510
|
maxMemory: number
|
|
478
511
|
cpuModels: UI_I_OptionItem[]
|
|
479
512
|
selectedNavItem: UI_T_SelectedNavItem
|
|
@@ -526,6 +559,11 @@ const emits = defineEmits<{
|
|
|
526
559
|
(event: 'change-storage', value: UI_I_DatastoreTableItem | null): void
|
|
527
560
|
(event: 'change-select-options', value: string[]): void
|
|
528
561
|
(event: 'change-compatibility', value: UI_I_OptionItem): void
|
|
562
|
+
(event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
|
|
563
|
+
(
|
|
564
|
+
event: 'change-customize-hardware',
|
|
565
|
+
value: UI_I_SendDataCustomizeHardware
|
|
566
|
+
): void
|
|
529
567
|
(event: 'hide'): void
|
|
530
568
|
}>()
|
|
531
569
|
|
|
@@ -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"
|
|
@@ -90,9 +90,9 @@
|
|
|
90
90
|
selectedStep.id === dynamicSteps.selectGuestOSMachineType ||
|
|
91
91
|
selectedStep.id === dynamicSteps.selectGuestOS
|
|
92
92
|
"
|
|
93
|
-
v-model:
|
|
94
|
-
v-model:guest-os-
|
|
95
|
-
v-model:
|
|
93
|
+
v-model:machine-type="vmForm.guestMachineType"
|
|
94
|
+
v-model:guest-os-family="vmForm.guestOsFamily"
|
|
95
|
+
v-model:guest-os-version="vmForm.guestOsVersion"
|
|
96
96
|
:families-options="props.guestOsFamilies"
|
|
97
97
|
:versions-options="props.guestOsVersions"
|
|
98
98
|
:machine-types-options="props.machineTypes"
|
|
@@ -101,11 +101,21 @@
|
|
|
101
101
|
/>
|
|
102
102
|
<common-vm-actions-common-customize-hardware
|
|
103
103
|
v-show="selectedStep.id === dynamicSteps.customizeHardware"
|
|
104
|
-
v-model="model"
|
|
105
104
|
:project="props.project"
|
|
106
105
|
:is-vmt="props.isVmt"
|
|
107
|
-
:
|
|
106
|
+
:vm-name="vmForm.name"
|
|
107
|
+
:guest-machine-type="vmForm.guestMachineType"
|
|
108
|
+
:guest-os-family="vmForm.guestOsFamily"
|
|
109
|
+
:guest-os-version="vmForm.guestOsVersion"
|
|
110
|
+
:storage="vmForm.storage"
|
|
111
|
+
:hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
|
|
112
|
+
:cd-dvd-drives-for-boot-options="
|
|
113
|
+
props.virtualHardwareCdDvdDrivesLocal
|
|
114
|
+
"
|
|
115
|
+
:networks-for-boot-options="props.virtualHardwareNetworksLocal"
|
|
116
|
+
:cd-dvd-drives="props.virtualHardwareCdDvdDrivesLocal"
|
|
108
117
|
:customize-hardware-submit="props.customizeHardwareSubmit"
|
|
118
|
+
:max-cpus="props.maxCpus"
|
|
109
119
|
:max-memory="props.maxMemory"
|
|
110
120
|
:cpu-models="props.cpuModels"
|
|
111
121
|
:selected-nav-item="props.selectedNavItem"
|
|
@@ -119,7 +129,9 @@
|
|
|
119
129
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
120
130
|
:passthrough-devices="props.passthroughDevices"
|
|
121
131
|
:mediated-devices="props.mediatedDevices"
|
|
122
|
-
:compute-resource="computeResource"
|
|
132
|
+
:compute-resource="vmForm.computeResource"
|
|
133
|
+
@change-boot-order="emits('change-boot-order', $event)"
|
|
134
|
+
@send-data="emits('change-customize-hardware', $event)"
|
|
123
135
|
@get-storage="emits('get-storage', $event)"
|
|
124
136
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
125
137
|
@get-active-device-child="emits('get-active-device-child', $event)"
|
|
@@ -131,21 +143,34 @@
|
|
|
131
143
|
<common-vm-actions-common-customize-hardware
|
|
132
144
|
v-if="props.vmtSettings"
|
|
133
145
|
v-show="selectedStep.id === dynamicSteps.customizeHardwareTemplate"
|
|
134
|
-
v-model="model"
|
|
135
146
|
:is-vmt="props.isVmt"
|
|
136
147
|
:project="props.project"
|
|
137
|
-
:
|
|
148
|
+
:vm-name="vmForm.name"
|
|
149
|
+
:guest-machine-type="vmForm.guestMachineType"
|
|
150
|
+
:guest-os-family="vmForm.guestOsFamily"
|
|
151
|
+
:guest-os-version="vmForm.guestOsVersion"
|
|
152
|
+
:storage="vmForm.storage"
|
|
153
|
+
:hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
|
|
154
|
+
:cd-dvd-drives-for-boot-options="
|
|
155
|
+
props.virtualHardwareCdDvdDrivesLocal
|
|
156
|
+
"
|
|
157
|
+
:networks-for-boot-options="props.virtualHardwareNetworksLocal"
|
|
138
158
|
:cd-dvd-drives="props.vmtSettings.cdDvdDrives || []"
|
|
139
159
|
:hard-disks="props.vmtSettings.hardDisks || []"
|
|
140
160
|
:networks="props.vmtSettings.networks || []"
|
|
141
161
|
:customize-hardware-submit="
|
|
142
162
|
props.customizeHardwareForTemplateSubmit
|
|
143
163
|
"
|
|
164
|
+
:max-cpus="props.maxCpus"
|
|
144
165
|
:max-memory="props.maxMemory"
|
|
145
166
|
:cpu-models="props.cpuModels"
|
|
167
|
+
:cpu="props.vmtSettings.cpu"
|
|
168
|
+
:memory="props.vmtSettings.memory"
|
|
146
169
|
:video-card="props.vmtSettings.videoCard"
|
|
170
|
+
:usb-controller="props.vmtSettings.usbController"
|
|
147
171
|
:pci-devices="props.vmtSettings.pciDevices"
|
|
148
172
|
:hard-disks-for-edit="props.vmtSettings.hardDisks || []"
|
|
173
|
+
:options="props.vmtSettings.options"
|
|
149
174
|
:selected-nav-item="props.selectedNavItem"
|
|
150
175
|
:nodes="props.nodes"
|
|
151
176
|
:files="props.files"
|
|
@@ -157,8 +182,10 @@
|
|
|
157
182
|
:vm-cpu-help-text-second="props.vmCpuHelpTextSecond"
|
|
158
183
|
:passthrough-devices="props.passthroughDevices"
|
|
159
184
|
:mediated-devices="props.mediatedDevices"
|
|
160
|
-
:compute-resource="computeResource"
|
|
185
|
+
:compute-resource="vmForm.computeResource"
|
|
161
186
|
is-clone
|
|
187
|
+
@change-boot-order="emits('change-boot-order', $event)"
|
|
188
|
+
@send-data="emits('change-customize-hardware', $event)"
|
|
162
189
|
@get-storage="emits('get-storage', $event)"
|
|
163
190
|
@get-folders-or-files="emits('get-folders-or-files', $event)"
|
|
164
191
|
@get-active-device-child="emits('get-active-device-child', $event)"
|
|
@@ -219,11 +246,17 @@ import type {
|
|
|
219
246
|
} from '~/components/common/vm/actions/common/lib/models/types'
|
|
220
247
|
import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
|
|
221
248
|
import type {
|
|
222
|
-
UI_I_CreateVmData,
|
|
223
249
|
// UI_I_Capabilities,
|
|
224
250
|
UI_I_VmForm,
|
|
225
251
|
} from '~/components/common/vm/actions/common/lib/models/interfaces'
|
|
252
|
+
import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
|
|
253
|
+
import type {
|
|
254
|
+
UI_I_SendDataNewCdDvdDrive,
|
|
255
|
+
UI_I_SendDataNewHardDisk,
|
|
256
|
+
UI_I_SendDataNewNetwork,
|
|
257
|
+
} from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
|
|
226
258
|
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
|
259
|
+
import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
|
|
227
260
|
import type {
|
|
228
261
|
UI_I_MediatedDevice,
|
|
229
262
|
UI_I_PciDevice,
|
|
@@ -233,10 +266,7 @@ import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/
|
|
|
233
266
|
import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
|
|
234
267
|
import { dynamicSteps } from '~/components/common/vm/actions/add/lib/config/steps'
|
|
235
268
|
|
|
236
|
-
const
|
|
237
|
-
required: true,
|
|
238
|
-
})
|
|
239
|
-
const computeResource = defineModel<UI_I_TreeNode | null>('computeResource', {
|
|
269
|
+
const vmForm = defineModel<UI_I_VmForm>('vmForm', {
|
|
240
270
|
required: true,
|
|
241
271
|
})
|
|
242
272
|
const selectedCreateType = defineModel<string>('selectedCreateType', {
|
|
@@ -275,6 +305,10 @@ const props = withDefaults(
|
|
|
275
305
|
guestOsFamilies: UI_I_OptionItem[]
|
|
276
306
|
guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
|
|
277
307
|
machineTypes: UI_I_OptionItem[]
|
|
308
|
+
virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
|
|
309
|
+
virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
|
|
310
|
+
virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
|
|
311
|
+
maxCpus: number
|
|
278
312
|
maxMemory: number
|
|
279
313
|
cpuModels: UI_I_OptionItem[]
|
|
280
314
|
selectedNavItem: UI_T_SelectedNavItem
|
|
@@ -324,6 +358,11 @@ const emits = defineEmits<{
|
|
|
324
358
|
(event: 'change-storage', value: UI_I_DatastoreTableItem | null): void
|
|
325
359
|
(event: 'change-select-options', value: string[]): void
|
|
326
360
|
(event: 'change-compatibility', value: UI_I_OptionItem): void
|
|
361
|
+
(event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
|
|
362
|
+
(
|
|
363
|
+
event: 'change-customize-hardware',
|
|
364
|
+
value: UI_I_SendDataCustomizeHardware
|
|
365
|
+
): void
|
|
327
366
|
(event: 'hide'): void
|
|
328
367
|
}>()
|
|
329
368
|
|