84 lines
3.4 KiB
Markdown
84 lines
3.4 KiB
Markdown
# VM Service UI Verification
|
|
|
|
**Date:** 2026-01-28
|
|
**Source:** User provided screenshots of "Create VM" operation in Nubes UI.
|
|
|
|
## Observed UI Fields (Creation Form)
|
|
|
|
The following fields were identified in the "Параметры операции" section for "Сервис: Виртуальная машина" -> "Экземпляр: vc_vm...":
|
|
|
|
1. **UUID vApp** (Select)
|
|
* Label: `UUID vApp`
|
|
* Mapping: Likely `vapp_uid`
|
|
2. **Имя ВМ** (Text)
|
|
* Label: `Имя ВМ *`
|
|
* Value in screenshot: `web01iop`
|
|
* Mapping: `vm_name` / `display_name`
|
|
3. **Кол-во ядер** (Number/Unit)
|
|
* Label: `Кол-во ядер *`
|
|
* Unit: `шт`
|
|
* Value: `1`
|
|
* Mapping: `vm_cpu`
|
|
4. **Кол-во ОЗУ** (Number/Unit)
|
|
* Label: `Кол-во ОЗУ *`
|
|
* Unit: `Gb`
|
|
* Value: `1`
|
|
* Mapping: `vm_ram`
|
|
5. **Размер дополнительного диска** (Input)
|
|
* Label: `Размер дополнительного диска`
|
|
* Note: "Основной диск у vm зависит от образа"
|
|
* Mapping: `vm_disk`
|
|
6. **Выделять внешний IP** (Dropdown)
|
|
* Label: `Выделять внешний IP`
|
|
* Value: `no-needed` ("no-needed, без внешнего ip...")
|
|
* Mapping: `ip_space_name`
|
|
7. **Белый список подключений к ВМ** (Input/Beautify)
|
|
* Label: `Белый список подключений к ВМ`
|
|
* Format: "Формат массива..."
|
|
* Mapping: `access_ip_list`
|
|
8. **По каким портам открыть доступ к ВМ** (Input)
|
|
* Label: `По каким портам открыть доступ к ВМ *`
|
|
* Value: `["22"]`
|
|
* Mapping: `access_port_list`
|
|
9. **Образ ВМ** (Dropdown)
|
|
* Label: `Образ ВМ *`
|
|
* Value: `Ubuntu_22-20G`
|
|
* Mapping: `image_vm`
|
|
10. **Логин для подключения** (Text)
|
|
* Label: `Логин для подключения *`
|
|
* Value: `vpuser`
|
|
* Mapping: `user_login`
|
|
11. **Публичная часть SSH-Ключа** (Text)
|
|
* Label: `Публичная часть SSH-Ключа *`
|
|
* Value: `ssh-ed25519 AAA...`
|
|
* Mapping: `user_public_key`
|
|
12. **Шаблон Cloud Init** (Text Area)
|
|
* Label: `Шаблон Cloud Init`
|
|
* Note: "Можно передать создание дополнительных пользователей..."
|
|
* Mapping: `cloud_init`
|
|
13. **needAddZabbixTemplate** (Checkbox)
|
|
* Label: `needAddZabbixTemplate`
|
|
* Value: Checked
|
|
* Description: "Поле позволяет автоматически добавить новый хост в систему мониторинга Zabbix..."
|
|
* Mapping: `need_add_zabbix_template`
|
|
|
|
## Comparison with Current Provider (`internal/provider/vm_resource.go`)
|
|
|
|
The current `VMResourceModel` appears to cover these fields:
|
|
- `VappUid` ✅
|
|
- `VmName` ✅
|
|
- `VmCpu` ✅
|
|
- `VmRam` ✅
|
|
- `VmDisk` ✅
|
|
- `IpSpaceName` ✅
|
|
- `AccessIpList` ✅
|
|
- `AccessPortList` ✅
|
|
- `ImageVm` ✅
|
|
- `UserLogin` ✅
|
|
- `UserPublicKey` ✅
|
|
- `CloudInit` ✅
|
|
- `NeedAddZabbixTemplate` ✅
|
|
|
|
**Discrepancy Check:**
|
|
- The screenshot does **not** explicitly show a `resource_realm` field for VM creation, unlike the PostgreSQL screenshot which showed "Платформа для развертывания". It might be hidden or inferred from the vApp. (However, the provider has `ResourceRealm` as optional).
|