hypervisor:
  hosts:
    defaultHost:
      title: defaultHost
      description: "Hypervisor Configuration"
      syntax: json
      file: true
      global: true
      uiElementsDeleteMessage: "Warning: Following the actions below will permanently destroy the virtual machine."
      uiElements:
      - field: hostname
        label: "Hostname"
        forcedType: string
        required: true
        readonly: true
      - field: role
        label: "Role"
        required: true
        readonly: true
        options:
        - searchnode
        - sensor
        - receiver
        - idh
        - heavynode
        - fleet
      - field: network_mode
        label: "Choose static4 or dhcp4. If static4, populate IP details below."
        required: true
        readonly: true
        options:
        - static4
        - dhcp4
      - field: ip4
        label: "IP address with netmask: 192.168.1.10/24 - If using dhcp, enter a character in this field and delete it. This will eliminate the incomplete/invalid setting entry error as well as the improperly formatted address error."
        forcedType: string
        regex: "^$|^(\\d{1,3}\\.){3}\\d{1,3}/\\d{1,2}$"
        regexFailureMessage: "Enter a properly formatted CIDR address"
        readonly: true
      - field: gw4
        label: "Gateway - If using dhcp, enter a character in this field and delete it. This will eliminate the incomplete/invalid setting entry error as well as the improperly formatted address error."
        forcedType: string
        regex: "^$|^(\\d{1,3}\\.){3}\\d{1,3}$"
        regexFailureMessage: "Enter a properly formatted IP address"
        readonly: true
      - field: dns4
        label: "Single DNS IP or comma separated list: 192.168.1.1,8.8.8.8 - If using dhcp, enter a character in this field and delete it. This will eliminate the incomplete/invalid setting entry error as well as the improperly formatted address error."
        forcedType: string
        regex: "^$|^(\\d{1,3}\\.){3}\\d{1,3}(,\\s*(\\d{1,3}\\.){3}\\d{1,3})*$"
        regexFailureMessage: "Enter a properly formatted IP address or list of addresses"
        readonly: true
      - field: search4
        label: "Search domain"
        forcedType: string
        readonly: true
      - field: cpu
        label: "CPU cores to assign. Free: FREE | Total: TOTAL"
        forcedType: int
        required: true
        readonly: true
      - field: memory
        label: "Memory to assign, in GB. Free: FREE | Total: TOTAL"
        required: true
        readonly: true
        forcedType: int
      - field: nsm_size
        label: "Size of virtual disk to create and use for /nsm, in GB. Only applicable if no pass-through disk."
        forcedType: int
        readonly: true
      - field: disk
        label: "Disk(s) to pass through for /nsm. Free: FREE | Total: TOTAL"
        readonly: true
        options: []
        forcedType: '[]int'
      - field: copper
        label: "Copper port(s) to pass through. Free: FREE | Total: TOTAL"
        readonly: true
        options: []
        forcedType: '[]int'
      - field: sfp
        label: "SFP port(s) to pass through. Free: FREE | Total: TOTAL"
        readonly: true
        options: []
        forcedType: '[]int'
      - field: powercontrol
        label: "Execute VM power operations"
        options:
        - Start
        - Reboot
        - Shutdown
        - Reset
        - Stop
