{
  "comment" : "This is generated by ESQL's AbstractFunctionTestCase. Do not edit it. See ../README.md for how to regenerate it.",
  "type" : "scalar",
  "name" : "network_direction",
  "description" : "Returns the direction type (inbound, outbound, internal, external) given a source IP address, destination IP address, and a list of internal networks.",
  "signatures" : [
    {
      "params" : [
        {
          "name" : "source_ip",
          "type" : "ip",
          "optional" : false,
          "description" : "Source IP address of type `ip` (both IPv4 and IPv6 are supported)."
        },
        {
          "name" : "destination_ip",
          "type" : "ip",
          "optional" : false,
          "description" : "Destination IP address of type `ip` (both IPv4 and IPv6 are supported)."
        },
        {
          "name" : "internal_networks",
          "type" : "keyword",
          "optional" : false,
          "description" : "List of internal networks. Supports IPv4 and IPv6 addresses, ranges in CIDR notation, and named ranges."
        }
      ],
      "variadic" : false,
      "returnType" : "keyword"
    },
    {
      "params" : [
        {
          "name" : "source_ip",
          "type" : "ip",
          "optional" : false,
          "description" : "Source IP address of type `ip` (both IPv4 and IPv6 are supported)."
        },
        {
          "name" : "destination_ip",
          "type" : "ip",
          "optional" : false,
          "description" : "Destination IP address of type `ip` (both IPv4 and IPv6 are supported)."
        },
        {
          "name" : "internal_networks",
          "type" : "text",
          "optional" : false,
          "description" : "List of internal networks. Supports IPv4 and IPv6 addresses, ranges in CIDR notation, and named ranges."
        }
      ],
      "variadic" : false,
      "returnType" : "keyword"
    }
  ],
  "examples" : [
    "ROW ip0 = \"127.0.0.1\"::ip, ip1 = \"5.6.7.8\"::ip\n| EVAL direction = NETWORK_DIRECTION(ip0, ip1, [\"loopback\", \"private\"])"
  ],
  "preview" : true,
  "snapshot_only" : false
}
