bfg-common 1.5.572 → 1.5.573

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 (81) hide show
  1. package/assets/localization/local_be.json +6 -29
  2. package/assets/localization/local_en.json +6 -29
  3. package/assets/localization/local_hy.json +6 -29
  4. package/assets/localization/local_kk.json +6 -29
  5. package/assets/localization/local_ru.json +6 -29
  6. package/assets/localization/local_zh.json +7 -30
  7. package/components/common/diagramMain/DiagramMain.vue +1 -1
  8. package/components/common/modals/confirmByInput/ConfirmByInput.vue +1 -9
  9. package/components/common/modals/confirmByInput/ConfirmByInputNew.vue +2 -7
  10. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +0 -1
  11. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +1 -1
  12. package/components/common/pages/backups/modals/createBackup/New.vue +2 -8
  13. package/components/common/pages/backups/modals/createBackup/lib/config/steps.ts +1 -2
  14. package/components/common/pages/backups/modals/restore/Restore.vue +5 -9
  15. package/components/common/pages/backups/modals/restore/RestoreNew.vue +3 -13
  16. package/components/common/pages/backups/modals/restore/RestoreOld.vue +18 -6
  17. package/components/common/pages/scheduledTasks/table/Table.vue +1 -1
  18. package/components/common/vm/actions/add/Add.vue +52 -127
  19. package/components/common/vm/actions/add/New.vue +16 -54
  20. package/components/common/vm/actions/add/Old.vue +16 -55
  21. package/components/common/vm/actions/clone/Clone.vue +48 -121
  22. package/components/common/vm/actions/clone/new/New.vue +14 -50
  23. package/components/common/vm/actions/clone/old/Old.vue +16 -52
  24. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +14 -81
  25. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +7 -56
  26. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +8 -56
  27. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +208 -206
  28. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +223 -120
  29. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +218 -118
  30. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +66 -53
  31. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options.ts +1 -1
  32. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +139 -159
  33. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +8 -15
  34. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuOld.vue +8 -13
  35. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +62 -75
  36. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +241 -149
  37. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +3 -4
  38. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +2 -3
  39. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +58 -96
  40. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +6 -17
  41. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +6 -3
  42. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerOld.vue +6 -3
  43. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +17 -39
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +6 -5
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +6 -5
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +4 -4
  47. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +6 -93
  48. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +8 -62
  49. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsOld.vue +8 -60
  50. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +5 -69
  51. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +12 -32
  52. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsOld.vue +12 -33
  53. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +114 -132
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +41 -6
  55. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderOld.vue +44 -6
  56. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +8 -23
  57. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +21 -31
  58. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsOld.vue +26 -34
  59. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +28 -34
  60. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/Old.vue +24 -30
  61. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +8 -112
  62. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +3 -3
  63. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapNew.vue → New.vue} +6 -6
  64. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/{KeymapOld.vue → Old.vue} +5 -5
  65. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +6 -7
  66. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +4 -38
  67. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +7 -26
  68. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsOld.vue +24 -50
  69. package/components/common/vm/actions/common/lib/models/interfaces.ts +57 -25
  70. package/components/common/vm/actions/common/select/os/New.vue +0 -19
  71. package/components/common/vm/actions/common/select/os/Old.vue +0 -34
  72. package/components/common/vm/actions/common/select/os/Os.vue +0 -25
  73. package/components/common/vm/actions/editSettings/EditSettings.vue +32 -90
  74. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +14 -41
  75. package/components/common/vm/actions/editSettings/new/New.vue +14 -41
  76. package/components/common/vm/actions/lib/models/interfaces.ts +4 -29
  77. package/components/common/vm/actions/lib/utils.ts +64 -36
  78. package/package.json +1 -3
  79. package/store/tasks/mappers/recentTasks.ts +0 -4
  80. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordNew.vue → New.vue} +0 -0
  81. /package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/{PasswordOld.vue → Old.vue} +0 -0
@@ -1,13 +1,11 @@
1
1
  <template>
2
2
  <common-vm-actions-clone-new
3
3
  v-if="isNewView"
4
- v-model:vm-form="vmForm"
4
+ v-model="model"
5
5
  v-model:scheduler-task-form="schedulerTaskForm"
6
- v-model:vm-name="vmName"
7
6
  v-model:compute-resource="vmForm.computeResource"
8
7
  v-model:location="location"
9
8
  :project="props.project"
10
- :vm-settings="vmSettings"
11
9
  :nodes="props.nodes"
12
10
  :files="props.files"
13
11
  :networks-table="props.networksTable"
@@ -35,9 +33,6 @@
35
33
  :is-sphere="isSphere"
36
34
  :location-description="locationDescription"
37
35
  :name-test-ids="nameTestIds"
38
- :virtual-hardware-hard-disks-local="virtualHardwareHardDisksLocal"
39
- :virtual-hardware-networks-local="virtualHardwareNetworksLocal"
40
- :virtual-hardware-cd-dvd-drives-local="virtualHardwareCdDvdDrivesLocal"
41
36
  :guest-os-families="guestOsFamilies"
42
37
  :guest-os-versions="guestOsVersions"
43
38
  :machine-types="machineTypes"
@@ -45,12 +40,12 @@
45
40
  :is-loading-compute-tree="isLoadingComputeTree"
46
41
  :compute-resource-alert="computeResourceAlert"
47
42
  :compatibility-text="compatibilityText"
43
+ :max-memory="maxMemory"
44
+ :cpu-models="cpuModels"
48
45
  @get-folders-or-files="emits('get-folders-or-files', $event)"
49
46
  @change-name="onChangeName"
50
47
  @change-storage="onChangeStorage"
51
48
  @change-select-options="onChangeSelectOptions"
52
- @change-boot-order="onChangeBootOrder"
53
- @change-customize-hardware="onChangeCustomizeHardware"
54
49
  @get-storage="emits('get-storage', $event)"
55
50
  @get-active-device-child="emits('get-active-device-child', $event)"
56
51
  @show-datastore-child="emits('show-datastore-child', $event)"
@@ -63,13 +58,11 @@
63
58
  />
64
59
  <common-vm-actions-clone-old
65
60
  v-else
66
- v-model:vm-form="vmForm"
61
+ v-model="model"
67
62
  v-model:scheduler-task-form="schedulerTaskForm"
68
- v-model:vm-name="vmName"
69
63
  v-model:compute-resource="vmForm.computeResource"
70
64
  v-model:location="location"
71
65
  :project="props.project"
72
- :vm-settings="vmSettings"
73
66
  :nodes="props.nodes"
74
67
  :files="props.files"
75
68
  :networks-table="props.networksTable"
@@ -98,9 +91,6 @@
98
91
  :is-sphere="isSphere"
99
92
  :location-description="locationDescription"
100
93
  :name-test-ids="nameTestIds"
101
- :virtual-hardware-hard-disks-local="virtualHardwareHardDisksLocal"
102
- :virtual-hardware-networks-local="virtualHardwareNetworksLocal"
103
- :virtual-hardware-cd-dvd-drives-local="virtualHardwareCdDvdDrivesLocal"
104
94
  :guest-os-families="guestOsFamilies"
105
95
  :guest-os-versions="guestOsVersions"
106
96
  :machine-types="machineTypes"
@@ -108,12 +98,12 @@
108
98
  :is-loading-compute-tree="isLoadingComputeTree"
109
99
  :compute-resource-alert="computeResourceAlert"
110
100
  :compatibility-text="compatibilityText"
101
+ :max-memory="maxMemory"
102
+ :cpu-models="cpuModels"
111
103
  @get-folders-or-files="emits('get-folders-or-files', $event)"
112
104
  @change-name="onChangeName"
113
105
  @change-storage="onChangeStorage"
114
106
  @change-select-options="onChangeSelectOptions"
115
- @change-boot-order="onChangeBootOrder"
116
- @change-customize-hardware="onChangeCustomizeHardware"
117
107
  @get-storage="emits('get-storage', $event)"
118
108
  @get-active-device-child="emits('get-active-device-child', $event)"
119
109
  @show-datastore-child="emits('show-datastore-child', $event)"
@@ -143,25 +133,15 @@ import type {
143
133
  UI_I_ArbitraryObject,
144
134
  UI_I_Localization,
145
135
  } from '~/lib/models/interfaces'
146
- import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
147
136
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
148
- import type {
149
- UI_I_SendDataCpu,
150
- UI_I_SendDataMemory,
151
- UI_I_SendDataNewCdDvdDrive,
152
- UI_I_SendDataNewHardDisk,
153
- UI_I_SendDataNewNetwork,
154
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
155
137
  import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
156
138
  import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
157
- import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
158
139
  import type { UI_T_Project } from '~/lib/models/types'
159
140
  import type {
160
141
  UI_I_MediatedDevice,
161
142
  UI_I_PciDevice,
162
- UI_I_VmSettings,
163
143
  } from '~/lib/models/store/vm/interfaces'
164
- import type { UI_I_VmForm } from '~/components/common/vm/actions/common/lib/models/interfaces'
144
+ import type {UI_I_CreateVmData, UI_I_VmForm} from '~/components/common/vm/actions/common/lib/models/interfaces'
165
145
  import type { UI_I_Capabilities } from '~/components/common/vm/actions/common/lib/models/interfaces'
166
146
  import type { UI_I_ScheduleNewTasksForm } from '~/components/common/pages/scheduledTasks/modals/lib/models/interfaces'
167
147
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
@@ -177,10 +157,11 @@ import { mapCapabilities } from '~/components/common/vm/actions/common/lib/utils
177
157
  import { scheduledTaskDefaultFormFunc } from '~/components/common/pages/scheduledTasks/modals/lib/config/createScheduledTask'
178
158
  import { capabilities } from '~/components/common/vm/actions/common/lib/config/capabilities'
179
159
 
160
+ const model = defineModel<UI_I_CreateVmData>({ required: true })
161
+
180
162
  const props = withDefaults(
181
163
  defineProps<{
182
164
  project: UI_T_Project
183
- vmSettings: UI_I_VmSettings | null
184
165
  nodes: UI_I_FileTreeNode[]
185
166
  files: UI_I_FileTreeNode[]
186
167
  networksTable: UI_I_NetworkTableItem[]
@@ -277,6 +258,9 @@ watch(
277
258
  { deep: true, immediate: true }
278
259
  )
279
260
 
261
+ const cpuModels = ref<UI_I_OptionItem[]>(capabilities.value.cpuModels)
262
+ const maxMemory = ref<number>(capabilities.value.maxMemory)
263
+
280
264
  const wizard: Wizard = new Wizard(
281
265
  stepsFunc(localization.value),
282
266
  stepsSchemeInitial
@@ -577,23 +561,13 @@ const checkCustomizeHardware = async (
577
561
  }
578
562
 
579
563
  const vmForm = ref<UI_I_VmForm>({
580
- name: '',
581
- compatibility: '',
582
- guestMachineType: null,
583
- guestOsFamily: null,
584
- guestOsVersion: null,
585
- computeResource: props.computeResource,
586
- storage: null,
587
564
  locationPath: '',
588
565
  dataCenter: null,
589
- options: [],
590
566
  })
591
567
 
592
568
  const isLoadingComputeTree = ref<boolean>(false)
593
- const onChangeName = (data: [string, UI_I_TreeNode | null]): void => {
594
- const [name, node] = data
595
-
596
- vmForm.value.name = name
569
+ const onChangeName = (_name: string, node: UI_I_TreeNode | null): void => {
570
+ // vmForm.value.name = name
597
571
  if (isSphere.value) {
598
572
  vmForm.value.locationPath = node.id
599
573
  vmForm.value.dataCenter = $recursion.findParentByValue(
@@ -614,10 +588,11 @@ const onChangeName = (data: [string, UI_I_TreeNode | null]): void => {
614
588
  const onChangeStorage = (storage: UI_I_DatastoreTableItem | null): void => {
615
589
  if (!storage) return
616
590
 
617
- vmForm.value.storage = storage
591
+ // vmForm.value.storage = storage
592
+ model.value.storage = storage
618
593
  }
619
594
  const onChangeSelectOptions = (options: string[]): void => {
620
- vmForm.value.options = options
595
+ // vmForm.value.options = options
621
596
  if (
622
597
  options.includes('customize-os') &&
623
598
  options.includes('customize-hardware')
@@ -642,46 +617,13 @@ const onChangeSelectOptions = (options: string[]): void => {
642
617
  // Change power on by default
643
618
  isPowerOnByDefault.value = options.includes('power-on')
644
619
  }
645
- const customizeHardware = ref<UI_I_SendDataCustomizeHardware | null>(null)
646
- const onChangeCustomizeHardware = (
647
- data: UI_I_SendDataCustomizeHardware
648
- ): void => {
649
- customizeHardware.value = data
650
- }
651
-
652
- const virtualHardwareHardDisksLocal = computed<
653
- UI_I_SendDataNewHardDisk[] | null
654
- >(() => customizeHardware.value?.virtualHardware?.hardDisks || null)
655
- const virtualHardwareNetworksLocal = computed<UI_I_SendDataNewNetwork[] | null>(
656
- () => customizeHardware.value?.virtualHardware?.networks || null
657
- )
658
- const virtualHardwareCdDvdDrivesLocal = computed<
659
- UI_I_SendDataNewCdDvdDrive[] | null
660
- >(() => customizeHardware.value?.virtualHardware?.cdDvdDrives || null)
661
-
662
- const virtualHardwareCpu = computed<UI_I_SendDataCpu | null>(
663
- () => customizeHardware.value?.virtualHardware?.cpu || null
664
- )
665
- const virtualHardwareMemory = computed<UI_I_SendDataMemory | null>(
666
- () => customizeHardware.value?.virtualHardware?.memory || null
667
- )
668
- const virtualHardwareHardDisks = ref<UI_I_SendDataNewHardDisk[] | null>(null)
669
- const virtualHardwareCdDvdDrives = ref<UI_I_SendDataNewCdDvdDrive[] | null>(
670
- null
671
- )
672
- const virtualHardwareNetworks = ref<UI_I_SendDataNewNetwork[] | null>(null)
673
- const onChangeBootOrder = (data: UI_T_ChangeBootOrder): void => {
674
- virtualHardwareHardDisks.value = data[0]
675
- virtualHardwareCdDvdDrives.value = data[1]
676
- virtualHardwareNetworks.value = data[2]
677
- }
678
-
679
620
  const isPowerOnByDefault = ref<boolean>(false)
680
621
 
681
622
  watch(
682
623
  () => props.vmNameInWizard,
683
624
  (newValue) => {
684
- vmForm.value.name = newValue
625
+ // vmForm.value.name = newValue
626
+ model.value.name = newValue
685
627
  }
686
628
  )
687
629
 
@@ -692,18 +634,12 @@ const validateSendData = async (
692
634
  let stepHasError = false
693
635
 
694
636
  const data = await props.validateSendDataFunc(
695
- vmForm.value,
696
- virtualHardwareCpu.value,
697
- virtualHardwareMemory.value,
698
- customizeHardware.value,
699
- virtualHardwareNetworks.value,
700
- virtualHardwareHardDisks.value,
701
- virtualHardwareCdDvdDrives.value,
637
+ model.value,
702
638
  isPowerOnByDefault.value,
703
639
  localization.value,
704
640
  vmForm.value.locationPath, // для сферы
705
641
  // computeResourcePath.value // для сферы
706
- vmSettings.value.host_id // для сферы // TODO rollback
642
+ model.value.host_id // для сферы // TODO rollback
707
643
  )
708
644
 
709
645
  wizard.setLoader(false)
@@ -724,18 +660,12 @@ const onFinish = (): void => {
724
660
  wizard.setLoader(false)
725
661
  props
726
662
  .finishFunc(
727
- vmForm.value,
728
- virtualHardwareCpu.value,
729
- virtualHardwareMemory.value,
730
- customizeHardware.value,
731
- virtualHardwareNetworks.value,
732
- virtualHardwareHardDisks.value,
733
- virtualHardwareCdDvdDrives.value,
663
+ model.value,
734
664
  isPowerOnByDefault.value,
735
665
  localization.value,
736
666
  vmForm.value.locationPath, // для сферы
737
667
  // computeResourcePath.value, // для сферы
738
- vmSettings.value.host_id, // для сферы // TODO rollback
668
+ model.value.host_id, // для сферы // TODO rollback
739
669
  false,
740
670
  schedulerTaskForm.value,
741
671
  props.schedulerTask
@@ -753,9 +683,6 @@ const nameFormSubmit = ref<null | Function>(null)
753
683
  const storageSubmit = ref<null | Function>(null)
754
684
  const customizeHardwareSubmit = ref<null | Function>(null)
755
685
 
756
- const vmSettings = computed<UI_I_VmSettings | null>(() => props.vmSettings)
757
- const vmName = ref<string>(vmSettings.value?.name || '')
758
-
759
686
  const guestOsFamilies = ref<UI_I_OptionItem[]>(
760
687
  capabilities.value.guestOsFamilies
761
688
  )
@@ -766,10 +693,6 @@ const machineTypes = ref<UI_I_OptionItem[]>(capabilities.value.machineTypes)
766
693
 
767
694
  // Для сферы
768
695
  const computeResourcePath = ref<string>('')
769
- const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
770
- emits('select-compute-resource-tree', node)
771
- computeResourcePath.value = String(node.id)
772
- }
773
696
  watch(
774
697
  () => vmForm.value.computeResource,
775
698
  (newValue, oldValue) => {
@@ -777,29 +700,33 @@ watch(
777
700
  onSelectComputeResourceTree(newValue)
778
701
  }
779
702
  },
780
- { deep: true, immediate: true }
703
+ { deep: true }
781
704
  )
705
+ const onSelectComputeResourceTree = (node: UI_I_TreeNode): void => {
706
+ emits('select-compute-resource-tree', node)
707
+ computeResourcePath.value = String(node.id)
708
+ }
782
709
 
783
- watch(vmSettings, (newValue) => {
784
- vmName.value = newValue?.name || ''
785
-
786
- if (newValue?.guestOsFamily)
787
- vmForm.value.guestOsFamily = newValue.guestOsFamily
788
- if (newValue?.guestMachineType)
789
- vmForm.value.guestMachineType = newValue.guestMachineType
790
- if (newValue?.guestOsVersion)
791
- vmForm.value.guestOsVersion = newValue.guestOsVersion
792
-
793
- if (newValue?.compatibility)
794
- vmForm.value.compatibility = newValue.compatibility
795
-
796
- if (newValue?.storage) {
797
- const datastore = props.datastore.find(
798
- (item) => item.id === newValue.storage.id
799
- )
800
- if (datastore) vmForm.value.storage = datastore
801
- }
802
- })
710
+ // watch(vmSettings, (newValue) => {
711
+ // vmName.value = newValue?.name || ''
712
+ //
713
+ // if (newValue?.guestOsFamily)
714
+ // vmForm.value.guestOsFamily = newValue.guestOsFamily
715
+ // if (newValue?.guestMachineType)
716
+ // vmForm.value.guestMachineType = newValue.guestMachineType
717
+ // if (newValue?.guestOsVersion)
718
+ // vmForm.value.guestOsVersion = newValue.guestOsVersion
719
+ //
720
+ // if (newValue?.compatibility)
721
+ // vmForm.value.compatibility = newValue.compatibility
722
+ //
723
+ // if (newValue?.storage) {
724
+ // const datastore = props.datastore.find(
725
+ // (item) => item.id === newValue.storage.id
726
+ // )
727
+ // if (datastore) vmForm.value.storage = datastore
728
+ // }
729
+ // })
803
730
 
804
731
  const onHideModal = (): void => {
805
732
  emits('hide')
@@ -54,7 +54,7 @@
54
54
  </template>
55
55
  <template #content>
56
56
  <common-wizards-common-steps-name
57
- v-model:name="vmForm.name"
57
+ v-model:name="model.name"
58
58
  v-model:location="location"
59
59
  :show="
60
60
  selectedStep.id === props.dynamicSteps.selectName ||
@@ -99,7 +99,7 @@
99
99
  :storage-submit="props.storageSubmit"
100
100
  :datastore="props.datastore"
101
101
  :is-datastore-loading="props.isDatastoreLoading"
102
- :storage="vmForm.storage"
102
+ :storage="model.storage"
103
103
  :get-datastore-table-func="props.getDatastoreTableFunc"
104
104
  hide-alert
105
105
  @change-storage="emits('change-storage', $event)"
@@ -146,9 +146,9 @@
146
146
  </template>
147
147
  <template #content>
148
148
  <common-vm-actions-common-select-os
149
- v-model:machine-type="vmForm.guestMachineType"
150
- v-model:guest-os-family="vmForm.guestOsFamily"
151
- v-model:guest-os-version="vmForm.guestOsVersion"
149
+ v-model:guest-os-family="model.guest_os_family"
150
+ v-model:guest-os-version="model.guest_os_version"
151
+ v-model:machine-type="model.machine_type"
152
152
  :families-options="props.guestOsFamilies"
153
153
  :versions-options="props.guestOsVersions"
154
154
  :machine-types-options="props.machineTypes"
@@ -163,31 +163,12 @@
163
163
  >
164
164
  <template #content>
165
165
  <common-vm-actions-common-customize-hardware
166
- v-model:vm-name="vmName"
167
- v-model:guest-machine-type="props.vmSettings.guestMachineType"
168
- v-model:guest-os-family="props.vmSettings.guestOsFamily"
169
- v-model:guest-os-version="props.vmSettings.guestOsVersion"
170
- :storage="vmForm.storage"
171
- :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
172
- :cd-dvd-drives-for-boot-options="
173
- props.virtualHardwareCdDvdDrivesLocal
174
- "
175
- :networks-for-boot-options="props.virtualHardwareNetworksLocal"
176
- :cd-dvd-drives="props.vmSettings.cdDvdDrives"
177
- :hard-disks="props.vmSettings.hardDisks"
178
- :networks="props.vmSettings.networks"
166
+ v-model="model"
167
+ :storage="model.storage"
179
168
  :customize-hardware-submit="props.customizeHardwareSubmit"
180
- :max-cpus="props.vmSettings.maxCpus"
181
- :max-memory="props.vmSettings.maxMemory"
182
- :cpu-models="props.vmSettings.cpuModels"
183
- :cpu="props.vmSettings.cpu"
184
- :memory="props.vmSettings.memory"
185
- :video-card="props.vmSettings.videoCard"
186
- :usb-controller="props.vmSettings.usbController"
187
- :pci-devices="props.vmSettings.pciDevices"
169
+ :max-memory="props.maxMemory"
170
+ :cpu-models="props.cpuModels"
188
171
  :selected-nav-item="props.selectedNavItem"
189
- :hard-disks-for-edit="props.vmSettings.hardDisks"
190
- :options="props.vmSettings.options"
191
172
  :nodes="props.nodes"
192
173
  :files="props.files"
193
174
  :networks-table="props.networksTable"
@@ -200,8 +181,6 @@
200
181
  :is-datastore-loading="props.isDatastoreLoading"
201
182
  :project="props.project"
202
183
  is-clone
203
- @change-boot-order="emits('change-boot-order', $event)"
204
- @send-data="emits('change-customize-hardware', $event)"
205
184
  @get-storage="emits('get-storage', $event)"
206
185
  @get-folders-or-files="emits('get-folders-or-files', $event)"
207
186
  @get-active-device-child="emits('get-active-device-child', $event)"
@@ -292,19 +271,12 @@ import type {
292
271
  UI_I_ArbitraryObject,
293
272
  UI_I_Localization,
294
273
  } from '~/lib/models/interfaces'
295
- import type {
296
- UI_I_SendDataNewCdDvdDrive,
297
- UI_I_SendDataNewHardDisk,
298
- UI_I_SendDataNewNetwork,
299
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
300
- import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
301
274
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
302
- import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
303
275
  import type { UI_I_ScheduleNewTasksForm } from '~/components/common/pages/scheduledTasks/modals/lib/models/interfaces'
304
276
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
305
277
  import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/name/lib/models/interfaces'
306
278
  import type { UI_T_Project } from '~/lib/models/types'
307
- import type { UI_I_VmForm } from '~/components/common/vm/actions/common/lib/models/interfaces'
279
+ import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
308
280
  import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
309
281
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
310
282
  import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
@@ -313,7 +285,6 @@ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interface
313
285
  import type {
314
286
  UI_I_MediatedDevice,
315
287
  UI_I_PciDevice,
316
- UI_I_VmSettings,
317
288
  } from '~/lib/models/store/vm/interfaces'
318
289
  import type {
319
290
  UI_I_DatastoreTableItem,
@@ -322,11 +293,11 @@ import type {
322
293
  import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
323
294
  import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
324
295
 
325
- const vmForm = defineModel<UI_I_VmForm>('vm-form')
296
+ const model = defineModel<UI_I_CreateVmData>({ required: true })
297
+
326
298
  const schedulerTaskForm = defineModel<UI_I_ScheduleNewTasksForm>(
327
299
  'scheduler-task-form'
328
300
  )
329
- const vmName = defineModel<string>('vm-name')
330
301
  const computeResource = defineModel<UI_I_TreeNode | undefined>(
331
302
  'compute-resource'
332
303
  )
@@ -334,7 +305,6 @@ const location = defineModel<UI_I_TreeNode | null>('location')
334
305
  const props = withDefaults(
335
306
  defineProps<{
336
307
  project: UI_T_Project
337
- vmSettings: UI_I_VmSettings | null
338
308
  nodes: UI_I_FileTreeNode[]
339
309
  files: UI_I_FileTreeNode[]
340
310
  networksTable: UI_I_NetworkTableItem[]
@@ -362,12 +332,11 @@ const props = withDefaults(
362
332
  isSphere: boolean
363
333
  locationDescription: string
364
334
  nameTestIds: UI_I_NameTestIds
365
- virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
366
- virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
367
- virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
368
335
  guestOsFamilies: UI_I_OptionItem[]
369
336
  guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
370
337
  machineTypes: UI_I_OptionItem[]
338
+ maxMemory: number
339
+ cpuModels: UI_I_OptionItem[]
371
340
  dynamicSteps: UI_I_ArbitraryObject<number>
372
341
  isLoadingComputeTree?: boolean // для сферы
373
342
  computeResourceAlert?: string[] // для сферы
@@ -392,11 +361,6 @@ const emits = defineEmits<{
392
361
  (event: 'change-name', value: [string, UI_I_TreeNode | null]): void
393
362
  (event: 'change-storage', value: UI_I_DatastoreTableItem | null): void
394
363
  (event: 'change-select-options', value: string[]): void
395
- (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
396
- (
397
- event: 'change-customize-hardware',
398
- value: UI_I_SendDataCustomizeHardware
399
- ): void
400
364
  (event: 'hide'): void
401
365
  (event: 'finish'): void
402
366
  }>()
@@ -12,11 +12,11 @@
12
12
  >
13
13
  <template #modalBody="{ selectedStep }">
14
14
  <atoms-loader
15
- v-show="!props.vmSettings || props.isLoading"
15
+ v-show="!model || props.isLoading"
16
16
  id="loader"
17
17
  test-id="clone-vm-loader"
18
18
  />
19
- <div v-if="props.vmSettings" class="vm-context">
19
+ <div v-if="model" class="vm-context">
20
20
  <common-pages-scheduled-tasks-modals-common-new-task-form
21
21
  v-show="selectedStep.id === props.dynamicSteps.scheduledTasks"
22
22
  v-model="schedulerTaskForm"
@@ -28,7 +28,7 @@
28
28
  selectedStep.id === props.dynamicSteps.selectName ||
29
29
  selectedStep.id === props.dynamicSteps.selectNameFolder
30
30
  "
31
- v-model:name="vmForm.name"
31
+ v-model:name="model.name"
32
32
  v-model:location="location"
33
33
  :show="
34
34
  selectedStep.id === props.dynamicSteps.selectName ||
@@ -65,7 +65,7 @@
65
65
  :storage-submit="props.storageSubmit"
66
66
  :datastore="props.datastore"
67
67
  :is-datastore-loading="props.isDatastoreLoading"
68
- :storage="vmForm.storage"
68
+ :storage="model.storage"
69
69
  :get-datastore-table-func="props.getDatastoreTableFunc"
70
70
  @submit="emits('change-storage', $event)"
71
71
  />
@@ -78,9 +78,9 @@
78
78
  v-show="
79
79
  selectedStep.id === props.dynamicSteps.selectGuestOSMachineType
80
80
  "
81
- v-model:machine-type="vmForm.guestMachineType"
82
- v-model:guest-os-family="vmForm.guestOsFamily"
83
- v-model:guest-os-version="vmForm.guestOsVersion"
81
+ v-model:guest-os-family="model.guest_os_family"
82
+ v-model:guest-os-version="model.guest_os_version"
83
+ v-model:machine-type="model.machine_type"
84
84
  :families-options="props.guestOsFamilies"
85
85
  :versions-options="props.guestOsVersions"
86
86
  :machine-types-options="props.machineTypes"
@@ -89,31 +89,12 @@
89
89
  />
90
90
  <common-vm-actions-common-customize-hardware
91
91
  v-show="selectedStep.id === props.dynamicSteps.customizeHardware"
92
- v-model:vm-name="vmName"
93
- v-model:guest-machine-type="props.vmSettings.guestMachineType"
94
- v-model:guest-os-family="props.vmSettings.guestOsFamily"
95
- v-model:guest-os-version="props.vmSettings.guestOsVersion"
96
- :storage="vmForm.storage"
97
- :hard-disks-for-boot-options="props.virtualHardwareHardDisksLocal"
98
- :cd-dvd-drives-for-boot-options="
99
- props.virtualHardwareCdDvdDrivesLocal
100
- "
101
- :networks-for-boot-options="props.virtualHardwareNetworksLocal"
102
- :cd-dvd-drives="props.vmSettings.cdDvdDrives"
103
- :hard-disks="props.vmSettings.hardDisks"
104
- :networks="props.vmSettings.networks"
92
+ v-model="model"
93
+ :storage="model.storage"
105
94
  :customize-hardware-submit="props.customizeHardwareSubmit"
106
- :max-cpus="props.vmSettings.maxCpus"
107
- :max-memory="props.vmSettings.maxMemory"
108
- :cpu-models="props.vmSettings.cpuModels"
109
- :cpu="props.vmSettings.cpu"
110
- :memory="props.vmSettings.memory"
111
- :video-card="props.vmSettings.videoCard"
112
- :usb-controller="props.vmSettings.usbController"
113
- :pci-devices="props.vmSettings.pciDevices"
95
+ :max-memory="props.maxMemory"
96
+ :cpu-models="props.cpuModels"
114
97
  :selected-nav-item="props.selectedNavItem"
115
- :hard-disks-for-edit="props.vmSettings.hardDisks"
116
- :options="props.vmSettings.options"
117
98
  :nodes="props.nodes"
118
99
  :files="props.files"
119
100
  :networks-table="props.networksTable"
@@ -126,8 +107,6 @@
126
107
  :is-datastore-loading="props.isDatastoreLoading"
127
108
  :project="props.project"
128
109
  is-clone
129
- @change-boot-order="emits('change-boot-order', $event)"
130
- @send-data="emits('change-customize-hardware', $event)"
131
110
  @get-storage="emits('get-storage', $event)"
132
111
  @get-folders-or-files="emits('get-folders-or-files', $event)"
133
112
  @get-active-device-child="emits('get-active-device-child', $event)"
@@ -159,34 +138,26 @@ import type {
159
138
  UI_I_ArbitraryObject,
160
139
  UI_I_Localization,
161
140
  } from '~/lib/models/interfaces'
162
- import type { UI_I_SendDataCustomizeHardware } from '~/components/common/vm/actions/common/customizeHardware/lib/models/interfaces'
163
141
  import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
164
- import type {
165
- UI_I_SendDataNewCdDvdDrive,
166
- UI_I_SendDataNewHardDisk,
167
- UI_I_SendDataNewNetwork,
168
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces'
169
142
  import type { UI_T_SelectedNavItem } from '~/components/common/vm/actions/common/lib/models/types'
170
143
  import type { UI_I_TableInfoItem } from '~/components/atoms/table/info/lib/models/interfaces'
171
- import type { UI_T_ChangeBootOrder } from '~/components/common/vm/actions/lib/models/types'
172
144
  import type { UI_T_Project } from '~/lib/models/types'
173
145
  import type {
174
146
  UI_I_MediatedDevice,
175
147
  UI_I_PciDevice,
176
- UI_I_VmSettings,
177
148
  } from '~/lib/models/store/vm/interfaces'
178
149
  import type { UI_I_ScheduleNewTasksForm } from '~/components/common/pages/scheduledTasks/modals/lib/models/interfaces'
179
150
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
180
151
  import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
181
152
  import type { UI_I_NameTestIds } from '~/components/common/wizards/common/steps/name/lib/models/interfaces'
182
- import type { UI_I_VmForm } from '~/components/common/vm/actions/common/lib/models/interfaces'
153
+ import type { UI_I_CreateVmData } from '~/components/common/vm/actions/common/lib/models/interfaces'
183
154
  import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
184
155
 
185
- const vmForm = defineModel<UI_I_VmForm>('vm-form')
156
+ const model = defineModel<UI_I_CreateVmData>({ required: true })
157
+
186
158
  const schedulerTaskForm = defineModel<UI_I_ScheduleNewTasksForm>(
187
159
  'scheduler-task-form'
188
160
  )
189
- const vmName = defineModel<string>('vm-name')
190
161
  const computeResource = defineModel<UI_I_TreeNode | undefined>(
191
162
  'compute-resource'
192
163
  )
@@ -194,7 +165,6 @@ const location = defineModel<UI_I_TreeNode | null>('location')
194
165
  const props = withDefaults(
195
166
  defineProps<{
196
167
  project: UI_T_Project
197
- vmSettings: UI_I_VmSettings | null
198
168
  nodes: UI_I_FileTreeNode[]
199
169
  files: UI_I_FileTreeNode[]
200
170
  networksTable: UI_I_NetworkTableItem[]
@@ -222,12 +192,11 @@ const props = withDefaults(
222
192
  isSphere: boolean
223
193
  locationDescription: string
224
194
  nameTestIds: UI_I_NameTestIds
225
- virtualHardwareHardDisksLocal: UI_I_SendDataNewHardDisk[] | null
226
- virtualHardwareNetworksLocal: UI_I_SendDataNewNetwork[] | null
227
- virtualHardwareCdDvdDrivesLocal: UI_I_SendDataNewCdDvdDrive[] | null
228
195
  guestOsFamilies: UI_I_OptionItem[]
229
196
  guestOsVersions: UI_I_ArbitraryObject<UI_I_OptionItem[]>
230
197
  machineTypes: UI_I_OptionItem[]
198
+ maxMemory: number
199
+ cpuModels: UI_I_OptionItem[]
231
200
  dynamicSteps: UI_I_ArbitraryObject<number>
232
201
  isLoading: boolean
233
202
  isLoadingComputeTree?: boolean // для сферы
@@ -253,11 +222,6 @@ const emits = defineEmits<{
253
222
  (event: 'change-name', value: [string, UI_I_TreeNode | null]): void
254
223
  (event: 'change-storage', value: UI_I_DatastoreTableItem | null): void
255
224
  (event: 'change-select-options', value: string[]): void
256
- (event: 'change-boot-order', value: UI_T_ChangeBootOrder): void
257
- (
258
- event: 'change-customize-hardware',
259
- value: UI_I_SendDataCustomizeHardware
260
- ): void
261
225
  (event: 'hide'): void
262
226
  (event: 'finish'): void
263
227
  }>()