107 lines
2.2 KiB
Plaintext
107 lines
2.2 KiB
Plaintext
|
|
# | VM Configuration Schema Contracts
|
||
|
|
# | Migrated from: provisioning/kcl/vm.k
|
||
|
|
# | Pattern: Three-file (contracts + defaults + main)
|
||
|
|
|
||
|
|
{
|
||
|
|
VmConfig = {
|
||
|
|
name | String,
|
||
|
|
description | String | optional,
|
||
|
|
base_image | String,
|
||
|
|
cpu | Number,
|
||
|
|
memory_mb | Number,
|
||
|
|
disk_gb | Number,
|
||
|
|
backend | String,
|
||
|
|
permanent | Bool,
|
||
|
|
temporary | Bool,
|
||
|
|
auto_cleanup | Bool,
|
||
|
|
auto_cleanup_hours | Number | optional,
|
||
|
|
taskserv | String | optional,
|
||
|
|
taskservs,
|
||
|
|
network_mode | String,
|
||
|
|
networks | optional,
|
||
|
|
ports | optional,
|
||
|
|
mounts | optional,
|
||
|
|
volumes | optional,
|
||
|
|
cloud_init | optional,
|
||
|
|
nested_virt | Bool | optional,
|
||
|
|
graphics_enable | Bool | optional,
|
||
|
|
serial_console | Bool | optional,
|
||
|
|
},
|
||
|
|
|
||
|
|
VmNetwork = {
|
||
|
|
name | String,
|
||
|
|
type | String,
|
||
|
|
subnet | String | optional,
|
||
|
|
},
|
||
|
|
|
||
|
|
VmPortMapping = {
|
||
|
|
host_port | Number,
|
||
|
|
guest_port | Number,
|
||
|
|
protocol | String,
|
||
|
|
bind_addr | String | optional,
|
||
|
|
},
|
||
|
|
|
||
|
|
VmMount = {
|
||
|
|
host_path | String,
|
||
|
|
guest_path | String,
|
||
|
|
readonly | Bool,
|
||
|
|
mode | String | optional,
|
||
|
|
},
|
||
|
|
|
||
|
|
VmVolume = {
|
||
|
|
name | String,
|
||
|
|
size_gb | Number,
|
||
|
|
mount_path | String | optional,
|
||
|
|
format | String,
|
||
|
|
},
|
||
|
|
|
||
|
|
VmCloudInit = {
|
||
|
|
enabled | Bool,
|
||
|
|
user_data | String | optional,
|
||
|
|
meta_data | String | optional,
|
||
|
|
vendor_data | String | optional,
|
||
|
|
},
|
||
|
|
|
||
|
|
VmImage = {
|
||
|
|
name | String,
|
||
|
|
format | String,
|
||
|
|
path | String,
|
||
|
|
size_gb | Number,
|
||
|
|
base_os | String,
|
||
|
|
os_version | String,
|
||
|
|
},
|
||
|
|
|
||
|
|
VmState = {
|
||
|
|
vm_name | String,
|
||
|
|
state | String,
|
||
|
|
permanent | Bool,
|
||
|
|
created_at | String,
|
||
|
|
started_at | String | optional,
|
||
|
|
last_action | String | optional,
|
||
|
|
auto_cleanup_at | String | optional,
|
||
|
|
ip_address | String | optional,
|
||
|
|
mac_address | String | optional,
|
||
|
|
hypervisor | String | optional,
|
||
|
|
backend_id | String | optional,
|
||
|
|
},
|
||
|
|
|
||
|
|
VmRegistry = {
|
||
|
|
vms,
|
||
|
|
permanent_count | Number,
|
||
|
|
temporary_count | Number,
|
||
|
|
updated_at | String,
|
||
|
|
},
|
||
|
|
|
||
|
|
VmCapacity = {
|
||
|
|
host_name | String,
|
||
|
|
total_cpu_cores | Number,
|
||
|
|
used_cpu_cores | Number,
|
||
|
|
total_memory_mb | Number,
|
||
|
|
used_memory_mb | Number,
|
||
|
|
total_disk_gb | Number,
|
||
|
|
used_disk_gb | Number,
|
||
|
|
max_vms | Number,
|
||
|
|
running_vms | Number,
|
||
|
|
},
|
||
|
|
}
|