bolt/vm_automation/ubuntu/tasks/validate_vm_parameters.json

78 lines
2.2 KiB
JSON

{
"description": "Validates all parameters for VM creation",
"input_method": "environment",
"parameters": {
"target_host": {
"description": "Target host to create the VM on (must be vortex or astrocore)",
"type": "String"
},
"vm_name": {
"description": "Name of the VM (alphanumeric and hyphens only)",
"type": "String"
},
"hostname": {
"description": "Hostname of the VM (alphanumeric and hyphens only)",
"type": "String"
},
"network": {
"description": "Network to connect the VM to (wan-verizon or internal-moeny)",
"type": "String"
},
"ip_with_cidr": {
"description": "IP address with CIDR notation (e.g. 192.168.1.1/24)",
"type": "String"
},
"gateway_ip": {
"description": "Gateway IP address",
"type": "String"
},
"iso_path": {
"description": "Absolute path to the ISO file (must end in .iso)",
"type": "String"
},
"staging_ip": {
"description": "Target VM for post-installation tasks (public or internal)",
"type": "String"
},
"dns_hostname": {
"description": "Hostname for the DNS A record (alphanumeric and hyphens only)",
"type": "String"
},
"dns_ttl": {
"description": "TTL for the DNS A record (positive integer)",
"type": "Integer"
},
"ram": {
"description": "Amount of RAM in MB (positive integer)",
"type": "Integer"
},
"vcpus": {
"description": "Number of virtual CPUs (positive integer)",
"type": "Integer"
},
"disk_size": {
"description": "Size of the disk in GB (positive integer)",
"type": "Integer"
},
"disk_path": {
"description": "Base path for disk images (must be absolute path)",
"type": "String"
},
"os_variant": {
"description": "OS variant for the VM (must be in format ubuntuXX.XX)",
"type": "String"
},
"nameserver1": {
"description": "Primary nameserver IP address",
"type": "String"
},
"nameserver2": {
"description": "Secondary nameserver IP address",
"type": "String"
},
"nameserver3": {
"description": "Tertiary nameserver IP address",
"type": "String"
}
}
}