{
  "description": "UDPIngress is the Schema for the udpingresses API.\nDeprecated: Use Gateway API instead. See https://developer.konghq.com/kubernetes-ingress-controller/migrate/ingress-to-gateway/",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "Spec is the UDPIngress specification.",
      "properties": {
        "rules": {
          "description": "A list of rules used to configure the Ingress.",
          "items": {
            "description": "UDPIngressRule represents a rule to apply against incoming requests\nwherein no Host matching is available for request routing, only the port\nis used to match requests.",
            "properties": {
              "backend": {
                "description": "Backend defines the Kubernetes service which accepts traffic from the\nlistening Port defined above.",
                "properties": {
                  "serviceName": {
                    "description": "Specifies the name of the referenced service.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "servicePort": {
                    "description": "Specifies the port of the referenced service.",
                    "format": "int32",
                    "maximum": 65535,
                    "minimum": 1,
                    "type": "integer"
                  }
                },
                "required": [
                  "serviceName",
                  "servicePort"
                ],
                "type": "object",
                "additionalProperties": false
              },
              "port": {
                "description": "Port indicates the port for the Kong proxy to accept incoming traffic\non, which will then be routed to the service Backend.",
                "format": "int32",
                "maximum": 65535,
                "minimum": 1,
                "type": "integer"
              }
            },
            "required": [
              "backend",
              "port"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "UDPIngressStatus defines the observed state of UDPIngress.",
      "properties": {
        "loadBalancer": {
          "description": "LoadBalancer contains the current status of the load-balancer.",
          "properties": {
            "ingress": {
              "description": "Ingress is a list containing ingress points for the load-balancer.\nTraffic intended for the service should be sent to these ingress points.",
              "items": {
                "description": "LoadBalancerIngress represents the status of a load-balancer ingress point:\ntraffic intended for the service should be sent to an ingress point.",
                "properties": {
                  "hostname": {
                    "description": "Hostname is set for load-balancer ingress points that are DNS based\n(typically AWS load-balancers)",
                    "type": "string"
                  },
                  "ip": {
                    "description": "IP is set for load-balancer ingress points that are IP based\n(typically GCE or OpenStack load-balancers)",
                    "type": "string"
                  },
                  "ipMode": {
                    "description": "IPMode specifies how the load-balancer IP behaves, and may only be specified when the ip field is specified.\nSetting this to \"VIP\" indicates that traffic is delivered to the node with\nthe destination set to the load-balancer's IP and port.\nSetting this to \"Proxy\" indicates that traffic is delivered to the node or pod with\nthe destination set to the node's IP and node port or the pod's IP and port.\nService implementations may use this information to adjust traffic routing.",
                    "type": "string"
                  },
                  "ports": {
                    "description": "Ports is a list of records of service ports\nIf used, every port defined in the service should have an entry in it",
                    "items": {
                      "description": "PortStatus represents the error condition of a service port",
                      "properties": {
                        "error": {
                          "description": "Error is to record the problem with the service port\nThe format of the error shall comply with the following rules:\n- built-in error values shall be specified in this file and those shall use\n  CamelCase names\n- cloud provider specific error values must have names that comply with the\n  format foo.example.com/CamelCase.",
                          "maxLength": 316,
                          "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$",
                          "type": "string"
                        },
                        "port": {
                          "description": "Port is the port number of the service port of which status is recorded here",
                          "format": "int32",
                          "type": "integer"
                        },
                        "protocol": {
                          "description": "Protocol is the protocol of the service port of which status is recorded here\nThe supported values are: \"TCP\", \"UDP\", \"SCTP\"",
                          "type": "string"
                        }
                      },
                      "required": [
                        "error",
                        "port",
                        "protocol"
                      ],
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array",
                    "x-kubernetes-list-type": "atomic"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array",
              "x-kubernetes-list-type": "atomic"
            }
          },
          "type": "object",
          "additionalProperties": false
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
