MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / createVm

Function createVm

vmm/ui/src/composables/useVmManager.ts:960–997  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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;

Callers

nothing calls this directly

Calls 8

convertMemoryToMBFunction · 0.85
makeAppComposeFileFunction · 0.85
encryptEnvFunction · 0.85
buildCreateVmPayloadFunction · 0.85
configGpuFunction · 0.85
leaveCreateDialogFunction · 0.85
loadVMListFunction · 0.85
recordErrorFunction · 0.85

Tested by

no test coverage detected