{
  "$schema" : "https://json-schema.org/draft/2020-12/schema",
  "$id" : "https://voltdb.com/voltsp/schemas/sink/network",
  "title" : "Network Sink Configuration",
  "description" : "The `network` sink is a socket-based sink that facilitates sending byte data over the network via protocols\n such as UDP or TCP. It supports Helm-based auto-configuration.\n",
  "type" : "object",
  "properties" : {
    "network" : {
      "type" : "object",
      "properties" : {
        "type" : {
          "type" : "string",
          "description" : "Specifies the network protocol to use",
          "enum" : [ "tcp", "udp", "TCP", "UDP" ]
        },
        "address" : {
          "type" : "string",
          "description" : "Sets the target address in the format `host:port`.",
          "anyOf" : [ {
            "type" : "string",
            "format" : "hostname"
          }, {
            "type" : "string",
            "format" : "ipv4"
          }, {
            "type" : "string",
            "format" : "ipv6"
          } ]
        },
        "exceptionHandler" : {
          "type" : "string",
          "description" : "Allows a custom exception handler to process errors during execution."
        }
      },
      "required" : [ "type", "address" ],
      "additionalProperties" : false
    }
  },
  "required" : [ "network" ],
  "additionalProperties" : false
}
