instance-kvm-input-schema.json 3.82 KB
Newer Older
1
{
2 3 4 5
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema",

  "title": "Input Parameters",
6 7 8 9 10 11 12
  "properties": {
    "ram-size": {
      "title": "RAM size",
      "description": "RAM size, in MB.",
      "type": "integer",
      "default": 1024,
      "minimum": 128,
13
      "multipleOf": 128,
14 15 16 17 18 19 20 21 22 23
      "maximum": 16384
    },
    "disk-size": {
      "title": "Disk size",
      "description": "Disk size, in GB.",
      "type": "integer",
      "default": 10,
      "minimum": 1,
      "maximum": 80
    },
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
    "disk-type": {
      "title": "Disk type",
      "description": "Type of QEMU disk drive.",
      "type": "string",
      "default": "virtio",
      "enum": ["ide", "scsi", "sd", "mtd", "floppy", "pflash", "virtio"]
    },

    "cpu-count": {
      "title": "CPU count",
      "description": "Number of CPU cores.",
      "type": "integer",
      "minimum": 1,
      "maximum": 8
    },

40
    "nbd-host": {
41 42 43 44 45 46 47 48 49 50 51 52 53 54
      "title": "NBD hostname",
      "description": "hostname (or IP) of the NBD server containing the boot image.",
      "type": "string",
      "format": ["host-name", "ip-address", "ipv6"],
      "default": "debian.nbd.vifib.net"
    },
    "nbd-port": {
      "title": "NBD port",
      "description": "Port of the NBD server containing the boot image.",
      "type": "integer",
      "default": 1024,
      "minimum": 1,
      "maximum": 65535
    },
55

Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
56 57 58 59
    "nbd2-host": {
      "title": "Second NBD hostname",
      "description": "hostname (or IP) of the second NBD server (containing drivers for example).",
      "type": "string",
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
60
      "format": ["host-name", "ip-address", "ipv6"]
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
61 62 63 64 65 66 67 68 69
    },
    "nbd2-port": {
      "title": "Second NBD port",
      "description": "Port of the second NBD server containing the boot image.",
      "type": "integer",
      "minimum": 1,
      "maximum": 65535
    },

70 71 72 73 74 75
    "virtual-hard-drive-url": {
      "title": "Existing disk image URL",
      "description": "If specified, will download an existing disk image (qcow2, raw, ...), and will use it as main virtual hard drive. Can be used to download and use an already installed and customized virtual hard drive.",
      "format": "uri",
      "type": "string",
    },
76 77 78 79 80
    "virtual-hard-drive-md5sum": {
      "title": "Checksum of virtual hard drive",
      "description": "MD5 checksum of virtual hard drive, used if virtual-hard-drive-url is specified.",
      "type": "string",
    },
81

82 83 84 85 86 87 88 89 90 91 92 93
    "use-tap": {
      "title": "Use QEMU TAP network interface",
      "description": "Use QEMU TAP network interface, requires a bridge on SlapOS Node. If false, use user-mode network stack (NAT).",
      "type": "boolean",
      "default": false
    },
    "nat-rules": {
      "title": "List of rules for NAT of QEMU user mode network stack.",
      "description": "List of rules for NAT of QEMU user mode network stack, as comma-separated list of ports. For each port specified, it will redirect port x of the VM (example: 80) to the port x + 10000 of the public IPv6 (example: 10080). Defaults to \"22 80 443\". Ignored if \"use-tap\" parameter is enabled.",
      "type": "string",
    },

94

95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
    "frontend-instance-guid": {
      "title": "Frontend Instance ID",
      "description": "Unique identifier of the frontend instance, like \"SOFTINST-11031\".",
      "type": "string",
      "default": "SOFTINST-11031"
    },
    "frontend-software-type": {
      "title": "Frontend Software Type",
      "description": "Type of the frontend instance, like \"frontend\".",
      "type": "string",
      "default": "frontend"
    },
    "frontend-software-url": {
      "title": "Frontend Software URL",
      "description": "Software Release URL of the frontend instance, like \"http://example.com/path/to/software.cfg\".",
      "type": "string",
      "format": "uri",
      "default": "http://git.erp5.org/gitweb/slapos.git/blob_plain/refs/tags/slapos-0.92:/software/kvm/software.cfg"
    }
  }
}