bfg-common 1.5.479 → 1.5.481

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 (112) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +29 -2
  7. package/assets/localization/local_en.json +29 -2
  8. package/assets/localization/local_hy.json +29 -2
  9. package/assets/localization/local_kk.json +29 -2
  10. package/assets/localization/local_ru.json +29 -2
  11. package/assets/localization/local_zh.json +29 -2
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGrid.vue +1709 -1709
  16. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  17. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  18. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  19. package/components/atoms/window/Window.vue +460 -460
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/context/lib/models/interfaces.ts +33 -33
  22. package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
  23. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  24. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  25. package/components/common/diagramMain/port/Port.vue +580 -580
  26. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  27. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +95 -95
  28. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  29. package/components/common/pages/backups/DetailView.vue +52 -52
  30. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  31. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  32. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +4 -1
  33. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +4 -1
  34. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  35. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +4 -1
  36. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  37. package/components/common/pages/backups/modals/createBackup/datastores/tableView/lib/config/table.ts +8 -0
  38. package/components/common/pages/backups/modals/createBackup/general/General.vue +141 -141
  39. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  40. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  41. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  42. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  43. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  44. package/components/common/pages/backups/modals/restore/name/Name.vue +166 -166
  45. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  46. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  47. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  48. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  49. package/components/common/pages/backups/tools/Tools.vue +75 -75
  50. package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
  51. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  52. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  53. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  54. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  55. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  56. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  57. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  58. package/components/common/select/radio/RadioGroup.vue +137 -137
  59. package/components/common/spiceConsole/Drawer.vue +392 -392
  60. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  61. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  62. package/components/common/tools/Actions.vue +207 -207
  63. package/components/common/treeView/TreeView.vue +52 -52
  64. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  65. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -368
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  75. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +4 -1
  76. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  77. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  78. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  79. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  80. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  81. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  82. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  83. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  84. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  85. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  86. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  87. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  88. package/components/common/vm/actions/common/select/name/Name.vue +197 -197
  89. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  90. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  91. package/components/common/vm/actions/common/select/storage/new/New.vue +320 -320
  92. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  93. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  94. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  95. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  96. package/components/common/vm/actions/register/Register.vue +267 -267
  97. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  98. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  99. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  100. package/components/common/wizards/vm/migrate/vmOrigin/VmOrigin.vue +1 -0
  101. package/components/lib/models/interfaces.ts +2 -0
  102. package/composables/useAppVersion.ts +21 -21
  103. package/composables/useLocal.ts +6 -6
  104. package/composables/useLocalCommon.ts +39 -39
  105. package/package.json +2 -2
  106. package/plugins/date.ts +233 -233
  107. package/plugins/panelStates.ts +70 -70
  108. package/plugins/text.ts +59 -59
  109. package/public/spice-console/lib/images/bitmap.js +203 -203
  110. package/public/spice-console/network/spicechannel.js +440 -440
  111. package/store/main/mutations.ts +7 -7
  112. package/store/main/state.ts +7 -7
@@ -1,141 +1,141 @@
1
- <template>
2
- <div class="general">
3
- <form @submit.prevent>
4
- <div class="field flex pt-4">
5
- <label for="general-name">{{ localization.common.name }}:</label>
6
- <input
7
- id="general-name"
8
- v-model.trim="model.name"
9
- data-id="general-name-input"
10
- type="text"
11
- />
12
- </div>
13
- <div class="field flex pt-4">
14
- <label for="general-description"
15
- >{{ localization.common.description }} ({{
16
- localization.common.optional
17
- }}):</label
18
- >
19
- <textarea
20
- id="general-description"
21
- v-model="model.description"
22
- data-id="general-description-textarea"
23
- />
24
- </div>
25
- </form>
26
- </div>
27
- </template>
28
-
29
- <script lang="ts" setup>
30
- import type { UI_I_Localization } from '~/lib/models/interfaces'
31
- import type { UI_I_CreateBackupForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
32
- import type { UI_I_NameCheck } from '~/components/common/pages/backups/modals/restore/name/lib/models/interfaces'
33
-
34
- const model = defineModel<UI_I_CreateBackupForm>({ required: true })
35
-
36
- const props = defineProps<{
37
- show: boolean
38
- generalSubmit: null | Function
39
- }>()
40
- const emits = defineEmits<{
41
- (event: 'check-name', value: UI_I_NameCheck): void
42
- }>()
43
-
44
- const localization = computed<UI_I_Localization>(() => useLocal())
45
-
46
- watch(
47
- () => props.generalSubmit,
48
- (newValue) => {
49
- newValue && submit(newValue)
50
- }
51
- )
52
- const submit = async (cb: Function): Promise<void> => {
53
- const name = model.value.name
54
-
55
- if (name !== '') {
56
- const isNameValid = await checkNameIsValid(name)
57
- if (!isNameValid) {
58
- // @ts-ignore
59
- cb(false)
60
- return
61
- }
62
- }
63
-
64
- onRemoveValidationErrors()
65
- // @ts-ignore
66
- cb(true)
67
- }
68
-
69
- const checkNameIsValid = async (name: string): Promise<boolean> => {
70
- return new Promise((resolve) => {
71
- emits('check-name', {
72
- name,
73
- cb: (error): void => {
74
- const status = error?.statusCode || 200
75
- switch (status) {
76
- case 400: // Empty name
77
- showValidationErrors([
78
- localization.value.common.emptyNameValidationDescription,
79
- ])
80
- resolve(false)
81
- break
82
- case 405: // Invalid kind
83
- showValidationErrors([
84
- localization.value.common.kindValidationDescription,
85
- ])
86
- resolve(false)
87
- break
88
- case 406: // Invalid name
89
- showValidationErrors([
90
- localization.value.common.vmNameValidationDescription,
91
- ])
92
- resolve(false)
93
- break
94
- case 409: // Name exist
95
- showValidationErrors([
96
- localization.value.common.vmNameExistInSelectedLocation,
97
- ])
98
- resolve(false)
99
- break
100
- }
101
-
102
- resolve(true)
103
- },
104
- })
105
- })
106
- }
107
-
108
- const errors = ref<string[]>([])
109
- const showValidationErrors = (data: string[]): void => {
110
- errors.value = data
111
- }
112
- const onRemoveValidationErrors = (): void => {
113
- errors.value = []
114
- }
115
-
116
- watch(
117
- () => props.show,
118
- (newValue) => {
119
- if (!newValue) return
120
-
121
- const input = document.getElementById('general-name')
122
- if (!input) return
123
-
124
- setTimeout(() => {
125
- input.focus()
126
- }, 0)
127
- }
128
- )
129
- </script>
130
-
131
- <style lang="scss" scoped>
132
- .field {
133
- label {
134
- width: 216px;
135
- }
136
- input,
137
- textarea {
138
- width: 345px;
139
- }
140
- }
141
- </style>
1
+ <template>
2
+ <div class="general">
3
+ <form @submit.prevent>
4
+ <div class="field flex pt-4">
5
+ <label for="general-name">{{ localization.common.name }}:</label>
6
+ <input
7
+ id="general-name"
8
+ v-model.trim="model.name"
9
+ data-id="general-name-input"
10
+ type="text"
11
+ />
12
+ </div>
13
+ <div class="field flex pt-4">
14
+ <label for="general-description"
15
+ >{{ localization.common.description }} ({{
16
+ localization.common.optional
17
+ }}):</label
18
+ >
19
+ <textarea
20
+ id="general-description"
21
+ v-model="model.description"
22
+ data-id="general-description-textarea"
23
+ />
24
+ </div>
25
+ </form>
26
+ </div>
27
+ </template>
28
+
29
+ <script lang="ts" setup>
30
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
31
+ import type { UI_I_CreateBackupForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
32
+ import type { UI_I_NameCheck } from '~/components/common/pages/backups/modals/restore/name/lib/models/interfaces'
33
+
34
+ const model = defineModel<UI_I_CreateBackupForm>({ required: true })
35
+
36
+ const props = defineProps<{
37
+ show: boolean
38
+ generalSubmit: null | Function
39
+ }>()
40
+ const emits = defineEmits<{
41
+ (event: 'check-name', value: UI_I_NameCheck): void
42
+ }>()
43
+
44
+ const localization = computed<UI_I_Localization>(() => useLocal())
45
+
46
+ watch(
47
+ () => props.generalSubmit,
48
+ (newValue) => {
49
+ newValue && submit(newValue)
50
+ }
51
+ )
52
+ const submit = async (cb: Function): Promise<void> => {
53
+ const name = model.value.name
54
+
55
+ if (name !== '') {
56
+ const isNameValid = await checkNameIsValid(name)
57
+ if (!isNameValid) {
58
+ // @ts-ignore
59
+ cb(false)
60
+ return
61
+ }
62
+ }
63
+
64
+ onRemoveValidationErrors()
65
+ // @ts-ignore
66
+ cb(true)
67
+ }
68
+
69
+ const checkNameIsValid = async (name: string): Promise<boolean> => {
70
+ return new Promise((resolve) => {
71
+ emits('check-name', {
72
+ name,
73
+ cb: (error): void => {
74
+ const status = error?.statusCode || 200
75
+ switch (status) {
76
+ case 400: // Empty name
77
+ showValidationErrors([
78
+ localization.value.common.emptyNameValidationDescription,
79
+ ])
80
+ resolve(false)
81
+ break
82
+ case 405: // Invalid kind
83
+ showValidationErrors([
84
+ localization.value.common.kindValidationDescription,
85
+ ])
86
+ resolve(false)
87
+ break
88
+ case 406: // Invalid name
89
+ showValidationErrors([
90
+ localization.value.common.vmNameValidationDescription,
91
+ ])
92
+ resolve(false)
93
+ break
94
+ case 409: // Name exist
95
+ showValidationErrors([
96
+ localization.value.common.vmNameExistInSelectedLocation,
97
+ ])
98
+ resolve(false)
99
+ break
100
+ }
101
+
102
+ resolve(true)
103
+ },
104
+ })
105
+ })
106
+ }
107
+
108
+ const errors = ref<string[]>([])
109
+ const showValidationErrors = (data: string[]): void => {
110
+ errors.value = data
111
+ }
112
+ const onRemoveValidationErrors = (): void => {
113
+ errors.value = []
114
+ }
115
+
116
+ watch(
117
+ () => props.show,
118
+ (newValue) => {
119
+ if (!newValue) return
120
+
121
+ const input = document.getElementById('general-name')
122
+ if (!input) return
123
+
124
+ setTimeout(() => {
125
+ input.focus()
126
+ }, 0)
127
+ }
128
+ )
129
+ </script>
130
+
131
+ <style lang="scss" scoped>
132
+ .field {
133
+ label {
134
+ width: 216px;
135
+ }
136
+ input,
137
+ textarea {
138
+ width: 345px;
139
+ }
140
+ }
141
+ </style>
@@ -1,12 +1,12 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_I_SelectInputItem } from '~/components/common/select/input/lib/models/interfaces'
3
-
4
- export const strategyOptionsFunc = (
5
- localization: UI_I_Localization
6
- ): UI_I_SelectInputItem[] => {
7
- return [
8
- { label: localization.common.fullBackup, value: 0 },
9
- { label: localization.common.incrementalBackup, value: 1 },
10
- { label: localization.common.differentialBackup, value: 2 },
11
- ]
12
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_I_SelectInputItem } from '~/components/common/select/input/lib/models/interfaces'
3
+
4
+ export const strategyOptionsFunc = (
5
+ localization: UI_I_Localization
6
+ ): UI_I_SelectInputItem[] => {
7
+ return [
8
+ { label: localization.common.fullBackup, value: 0 },
9
+ { label: localization.common.incrementalBackup, value: 1 },
10
+ { label: localization.common.differentialBackup, value: 2 },
11
+ ]
12
+ }
@@ -1,115 +1,115 @@
1
- import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
2
-
3
- export const restoreDefaultFormFunc = (): UI_I_RestoreForm => {
4
- return {
5
- restore_code: 2,
6
- backup_storage: '',
7
- bucket: '',
8
- backup: '',
9
- pvm: {
10
- deployment_name: '',
11
- name: '',
12
- uuid: '',
13
- compatibility: '',
14
- guest_os_family: '',
15
- guest_os_version: '',
16
- storage: {
17
- id: '',
18
- folder: '',
19
- },
20
- machine_type: '',
21
- cpu: {
22
- vcpus: -1,
23
- max_vcpus: -1,
24
- core_per_socket: -1,
25
- model: '',
26
- reservation_mhz: -1,
27
- limit_mhz: -1,
28
- shares: -1,
29
- hotplug: false,
30
- },
31
- memory: {
32
- size_mb: -1,
33
- hotplug: false,
34
- reservation_mb: -1,
35
- limit_mb: -1,
36
- },
37
- video_card: {
38
- adapter: '',
39
- displays: -1,
40
- memory_mb: -1,
41
- },
42
- usb_controllers: [],
43
- input_devices: [],
44
- disk_devices: [],
45
- network_devices: [],
46
- passthrough_pci_devices: [],
47
- options: {
48
- remote_console: {
49
- type: '',
50
- port: -1,
51
- keymap: '',
52
- password: '',
53
- guest_os_lock: false,
54
- limit_sessions: -1,
55
- spice: {
56
- img_compression: '',
57
- jpeg_compression: '',
58
- zlib_glz_compression: '',
59
- streaming_mode: '',
60
- playback_compression: false,
61
- file_transfer: false,
62
- clipboard: false,
63
- },
64
- },
65
- guest_tools: {
66
- enabled: false,
67
- synchronized_time: false,
68
- },
69
- boot_options: {
70
- firmware: '',
71
- boot_delay_ms: -1,
72
- boot_menu: false,
73
- },
74
- },
75
- monitoring: {
76
- state: -1,
77
- memory: {
78
- dram_read_bandwidth: -1,
79
- pmem_read_bandwidth: -1,
80
- provisioned_mb: -1,
81
- used_mb: -1,
82
- resident_set_size_mb: -1,
83
- },
84
- cpu: {
85
- current_vcpus: -1,
86
- provisioned_mhz: -1,
87
- used_mhz: -1,
88
- },
89
- storage: {
90
- provisioned_space_mb: -1,
91
- used_space_mb: -1,
92
- allocated_space_mb: -1,
93
- },
94
- networks: null,
95
- uptime: {
96
- start_time: '',
97
- uptime_ms: -1,
98
- uptime_humanized: '',
99
- },
100
- guest_tools: {
101
- status: '',
102
- version: '',
103
- ip: '',
104
- dns_name: '',
105
- },
106
- evc_cpu_mode: '',
107
- evc_graphics_mode: '',
108
- encryption: '',
109
- tpm: '',
110
- vbs: '',
111
- },
112
- snapshots: {},
113
- },
114
- }
115
- }
1
+ import type { UI_I_RestoreForm } from '~/components/common/pages/backups/modals/lib/models/interfaces'
2
+
3
+ export const restoreDefaultFormFunc = (): UI_I_RestoreForm => {
4
+ return {
5
+ restore_code: 2,
6
+ backup_storage: '',
7
+ bucket: '',
8
+ backup: '',
9
+ pvm: {
10
+ deployment_name: '',
11
+ name: '',
12
+ uuid: '',
13
+ compatibility: '',
14
+ guest_os_family: '',
15
+ guest_os_version: '',
16
+ storage: {
17
+ id: '',
18
+ folder: '',
19
+ },
20
+ machine_type: '',
21
+ cpu: {
22
+ vcpus: -1,
23
+ max_vcpus: -1,
24
+ core_per_socket: -1,
25
+ model: '',
26
+ reservation_mhz: -1,
27
+ limit_mhz: -1,
28
+ shares: -1,
29
+ hotplug: false,
30
+ },
31
+ memory: {
32
+ size_mb: -1,
33
+ hotplug: false,
34
+ reservation_mb: -1,
35
+ limit_mb: -1,
36
+ },
37
+ video_card: {
38
+ adapter: '',
39
+ displays: -1,
40
+ memory_mb: -1,
41
+ },
42
+ usb_controllers: [],
43
+ input_devices: [],
44
+ disk_devices: [],
45
+ network_devices: [],
46
+ passthrough_pci_devices: [],
47
+ options: {
48
+ remote_console: {
49
+ type: '',
50
+ port: -1,
51
+ keymap: '',
52
+ password: '',
53
+ guest_os_lock: false,
54
+ limit_sessions: -1,
55
+ spice: {
56
+ img_compression: '',
57
+ jpeg_compression: '',
58
+ zlib_glz_compression: '',
59
+ streaming_mode: '',
60
+ playback_compression: false,
61
+ file_transfer: false,
62
+ clipboard: false,
63
+ },
64
+ },
65
+ guest_tools: {
66
+ enabled: false,
67
+ synchronized_time: false,
68
+ },
69
+ boot_options: {
70
+ firmware: '',
71
+ boot_delay_ms: -1,
72
+ boot_menu: false,
73
+ },
74
+ },
75
+ monitoring: {
76
+ state: -1,
77
+ memory: {
78
+ dram_read_bandwidth: -1,
79
+ pmem_read_bandwidth: -1,
80
+ provisioned_mb: -1,
81
+ used_mb: -1,
82
+ resident_set_size_mb: -1,
83
+ },
84
+ cpu: {
85
+ current_vcpus: -1,
86
+ provisioned_mhz: -1,
87
+ used_mhz: -1,
88
+ },
89
+ storage: {
90
+ provisioned_space_mb: -1,
91
+ used_space_mb: -1,
92
+ allocated_space_mb: -1,
93
+ },
94
+ networks: null,
95
+ uptime: {
96
+ start_time: '',
97
+ uptime_ms: -1,
98
+ uptime_humanized: '',
99
+ },
100
+ guest_tools: {
101
+ status: '',
102
+ version: '',
103
+ ip: '',
104
+ dns_name: '',
105
+ },
106
+ evc_cpu_mode: '',
107
+ evc_graphics_mode: '',
108
+ encryption: '',
109
+ tpm: '',
110
+ vbs: '',
111
+ },
112
+ snapshots: {},
113
+ },
114
+ }
115
+ }