/v2/compute/projects/{project_id}/qemu/nodes

POST /v2/compute/projects/{project_id}/qemu/nodes

Create a new Qemu VM instance

Parameters

  • project_id: Project UUID

Response status codes

  • 201: Instance created

  • 400: Invalid request

  • 409: Conflict

Input

Name Mandatory Type Description
adapter_type ['string', 'null'] QEMU adapter type
adapters ['integer', 'null'] Number of adapters
bios_image string QEMU bios image path
bios_image_md5sum ['string', 'null'] QEMU bios image checksum
boot_priority enum Possible values: c, d, n, cn, cd, dn, dc, nc, nd
cdrom_image string QEMU cdrom image path
cdrom_image_md5sum ['string', 'null'] QEMU cdrom image checksum
console ['integer', 'null'] Console TCP port
console_type enum Possible values: telnet, vnc, spice, spice+agent, none
cpu_throttling ['integer', 'null'] Percentage of CPU allowed for QEMU
cpus ['integer', 'null'] Number of vCPUs
create_config_disk ['boolean', 'null'] Automatically create a config disk on HDD disk interface (secondary slave)
custom_adapters array
hda_disk_image string QEMU hda disk image path
hda_disk_image_md5sum ['string', 'null'] QEMU hda disk image checksum
hda_disk_interface string QEMU hda interface
hdb_disk_image string QEMU hdb disk image path
hdb_disk_image_md5sum ['string', 'null'] QEMU hdb disk image checksum
hdb_disk_interface string QEMU hdb interface
hdc_disk_image string QEMU hdc disk image path
hdc_disk_image_md5sum ['string', 'null'] QEMU hdc disk image checksum
hdc_disk_interface string QEMU hdc interface
hdd_disk_image string QEMU hdd disk image path
hdd_disk_image_md5sum ['string', 'null'] QEMU hdd disk image checksum
hdd_disk_interface string QEMU hdd interface
initrd string QEMU initrd path
initrd_md5sum ['string', 'null'] QEMU initrd path
kernel_command_line ['string', 'null'] QEMU kernel command line
kernel_image string QEMU kernel image path
kernel_image_md5sum ['string', 'null'] QEMU kernel image checksum
legacy_networking ['boolean', 'null'] Use QEMU legagy networking commands (-net syntax)
linked_clone boolean Whether the VM is a linked clone or not
mac_address ['string', 'null'] QEMU MAC address
name string QEMU VM instance name
node_id Node UUID
on_close enum Possible values: power_off, shutdown_signal, save_vm_state
options ['string', 'null'] Additional QEMU options
platform enum Possible values: aarch64, alpha, arm, cris, i386, lm32, m68k, microblaze, microblazeel, mips, mips64, mips64el, mipsel, moxie, or32, ppc, ppc64, ppcemb, s390x, sh4, sh4eb, sparc, sparc64, tricore, unicore32, x86_64, xtensa, xtensaeb, null, null
process_priority enum Possible values: realtime, very high, high, normal, low, very low, null
qemu_path ['string', 'null'] Path to QEMU
ram ['integer', 'null'] Amount of RAM in MB
replicate_network_connection_state ['boolean', 'null'] Replicate the network connection state for links in Qemu
tpm ['boolean', 'null'] Enable the Trusted Platform Module (TPM) in Qemu
uefi ['boolean', 'null'] Enable the UEFI boot mode in Qemu
usage string How to use the Qemu VM

Output

Name Mandatory Type Description
adapter_type string QEMU adapter type
adapters integer Number of adapters
bios_image string QEMU bios image path
bios_image_md5sum ['string', 'null'] QEMU bios image checksum
boot_priority enum Possible values: c, d, n, cn, cd, dn, dc, nc, nd
cdrom_image string QEMU cdrom image path
cdrom_image_md5sum ['string', 'null'] QEMU cdrom image checksum
command_line string Last command line used by GNS3 to start QEMU
console ['integer', 'null'] Console TCP port
console_type enum Possible values: telnet, vnc, spice, spice+agent, none
cpu_throttling integer Percentage of CPU allowed for QEMU
cpus ['integer', 'null'] Number of vCPUs
create_config_disk ['boolean', 'null'] Automatically create a config disk on HDD disk interface (secondary slave)
hda_disk_image string QEMU hda disk image path
hda_disk_image_md5sum ['string', 'null'] QEMU hda disk image checksum
hda_disk_interface string QEMU hda interface
hdb_disk_image string QEMU hdb disk image path
hdb_disk_image_md5sum ['string', 'null'] QEMU hdb disk image checksum
hdb_disk_interface string QEMU hdb interface
hdc_disk_image string QEMU hdc disk image path
hdc_disk_image_md5sum ['string', 'null'] QEMU hdc disk image checksum
hdc_disk_interface string QEMU hdc interface
hdd_disk_image string QEMU hdd disk image path
hdd_disk_image_md5sum ['string', 'null'] QEMU hdd disk image checksum
hdd_disk_interface string QEMU hdd interface
initrd string QEMU initrd path
initrd_md5sum ['string', 'null'] QEMU initrd path
kernel_command_line string QEMU kernel command line
kernel_image string QEMU kernel image path
kernel_image_md5sum ['string', 'null'] QEMU kernel image checksum
legacy_networking boolean Use QEMU legagy networking commands (-net syntax)
mac_address string QEMU MAC address
name string QEMU VM instance name
node_directory string Path to the VM working directory
node_id string Node UUID
on_close enum Possible values: power_off, shutdown_signal, save_vm_state
options string Additional QEMU options
platform enum Possible values: aarch64, alpha, arm, cris, i386, lm32, m68k, microblaze, microblazeel, mips, mips64, mips64el, mipsel, moxie, or32, ppc, ppc64, ppcemb, s390x, sh4, sh4eb, sparc, sparc64, tricore, unicore32, x86_64, xtensa, xtensaeb, null
process_priority enum Possible values: realtime, very high, high, normal, low, very low
project_id string Project UUID
qemu_path string Path to QEMU
ram integer Amount of RAM in MB
replicate_network_connection_state boolean Replicate the network connection state for links in Qemu
save_vm_state ['boolean', 'null'] Save VM state support
status enum Possible values: started, stopped, suspended
tpm boolean Enable the Trusted Platform Module (TPM) in Qemu
uefi boolean Enable the UEFI boot mode in Qemu
usage string How to use the QEMU VM

Sample session

curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes' -d '{"hda_disk_image": "hello.img", "name": "PC TEST 1", "qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes HTTP/1.1
{
    "hda_disk_image": "hello.img",
    "name": "PC TEST 1",
    "qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64"
}


HTTP/1.1 201
Connection: close
Content-Length: 1420
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:26:28 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes

{
    "adapter_type": "e1000",
    "adapters": 1,
    "bios_image": "",
    "bios_image_md5sum": null,
    "boot_priority": "c",
    "cdrom_image": "",
    "cdrom_image_md5sum": null,
    "command_line": "",
    "console": 5004,
    "console_type": "telnet",
    "cpu_throttling": 0,
    "cpus": 1,
    "hda_disk_image": "hello.img",
    "hda_disk_image_md5sum": "7d793037a0760186574b0282f2f435e7",
    "hda_disk_interface": "ide",
    "hdb_disk_image": "",
    "hdb_disk_image_md5sum": null,
    "hdb_disk_interface": "ide",
    "hdc_disk_image": "",
    "hdc_disk_image_md5sum": null,
    "hdc_disk_interface": "ide",
    "hdd_disk_image": "",
    "hdd_disk_image_md5sum": null,
    "hdd_disk_interface": "ide",
    "initrd": "",
    "initrd_md5sum": null,
    "kernel_command_line": "",
    "kernel_image": "",
    "kernel_image_md5sum": null,
    "legacy_networking": false,
    "mac_address": "0c:dd:80:dd:e2:00",
    "name": "PC TEST 1",
    "node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/2320a0b9-ed9b-45d9-9bef-c6d13bd9dde2",
    "node_id": "2320a0b9-ed9b-45d9-9bef-c6d13bd9dde2",
    "on_close": "power_off",
    "options": "",
    "platform": "x86_64",
    "process_priority": "low",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64",
    "ram": 256,
    "status": "stopped",
    "usage": ""
}