()
| 958 | } |
| 959 | |
| 960 | async function createVm() { |
| 961 | try { |
| 962 | vmForm.value.memory = convertMemoryToMB(vmForm.value.memoryValue, vmForm.value.memoryUnit); |
| 963 | const composeFile = await makeAppComposeFile(); |
| 964 | const encryptedEnv = await encryptEnv( |
| 965 | vmForm.value.encryptedEnvs, |
| 966 | vmForm.value.key_provider === 'kms', |
| 967 | vmForm.value.app_id, |
| 968 | ); |
| 969 | const payload = buildCreateVmPayload({ |
| 970 | name: vmForm.value.name, |
| 971 | image: vmForm.value.image, |
| 972 | compose_file: composeFile, |
| 973 | vcpu: vmForm.value.vcpu, |
| 974 | memory: vmForm.value.memory, |
| 975 | disk_size: vmForm.value.disk_size, |
| 976 | ports: vmForm.value.ports, |
| 977 | encrypted_env: encryptedEnv || undefined, |
| 978 | app_id: vmForm.value.app_id || undefined, |
| 979 | user_config: vmForm.value.user_config, |
| 980 | hugepages: vmForm.value.hugepages, |
| 981 | pin_numa: vmForm.value.pin_numa, |
| 982 | no_tee: vmForm.value.no_tee, |
| 983 | net_mode: vmForm.value.net_mode, |
| 984 | gpus: configGpu(vmForm.value) || undefined, |
| 985 | kms_urls: vmForm.value.kms_urls, |
| 986 | gateway_urls: vmForm.value.gateway_urls, |
| 987 | stopped: vmForm.value.stopped, |
| 988 | }); |
| 989 | |
| 990 | await vmmRpc.createVm(payload); |
| 991 | leaveCreateDialog(); |
| 992 | loadVMList(); |
| 993 | } catch (error) { |
| 994 | recordError('Error creating VM', error); |
| 995 | alert('Failed to create VM'); |
| 996 | } |
| 997 | } |
| 998 | |
| 999 | function leaveCreateDialog() { |
| 1000 | showCreateDialog.value = false; |
nothing calls this directly
no test coverage detected