bfg-common 1.5.581 → 1.5.583

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