{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "description": "Parameters to instantiate JS drone",
  "additionalProperties": false,
  "properties": {
    "autopilotIp": {
      "title": "IP address of the drone's autopilot",
      "description": "IP used to create a connection with the autopilot.",
      "type": "string",
      "default": "192.168.27.1"
    },
    "autopilotPort": {
      "title": "Port of the drone's autopilot",
      "description": "Port on which autopilot service is running.",
      "type": "integer",
      "default": "7909"
    },
    "droneGuidList": {
      "title": "List of drones computer ID",
      "description": "List of computer ID of drones in the swarm",
      "type": "array",
      "default": []
    },
    "isASimulation": {
      "title": "Set the flight as a simulation",
      "description": "The option used to determine if the flight is real or if it is a simulation. This affects the context of the flight (e.g. if the take off is manual or automatic).",
      "type": "boolean",
      "default": false
    },
    "multicastIpv6": {
      "title": "IP of the multicast group",
      "description": "IP address used to communicate with the other drones.",
      "type": "string",
      "default": "ff15::1111"
    },
    "netIf": {
      "title": "Network interface",
      "description": "Interface used for multicast traffic.",
      "type": "string",
      "default": "eth0"
    },
    "flightScript": {
      "title": "Script's URL of the flight",
      "description": "URL of the script which will be executed for the flight. This URL must be publicly accesible so that the drone can fetch the script.",
      "type": "string",
      "default": "https://lab.nexedi.com/nexedi/flight-scripts/raw/master/default.js"
    },
    "subscriberGuidList": {
      "title": "List of subscribers computer ID",
      "description": "List of computer ID of swarms subscribers",
      "type": "array",
      "default": []
    }
  }
}
