107 lines
2.2 KiB
Plaintext
Raw Normal View History

# | 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,
},
}