{
  "description": "HTTPIngressPath associates a path with a backend. Incoming urls matching the path are forwarded to the backend.",
  "properties": {
    "backend": {
      "description": "IngressBackend describes all endpoints for a given service and port.",
      "properties": {
        "resource": {
          "description": "TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.",
          "properties": {
            "apiGroup": {
              "description": "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.",
              "type": [
                "string",
                "null"
              ]
            },
            "kind": {
              "description": "Kind is the type of resource being referenced",
              "type": "string"
            },
            "name": {
              "description": "Name is the name of resource being referenced",
              "type": "string"
            }
          },
          "required": [
            "kind",
            "name"
          ],
          "type": [
            "object",
            "null"
          ],
          "x-kubernetes-map-type": "atomic",
          "additionalProperties": false
        },
        "service": {
          "description": "IngressServiceBackend references a Kubernetes Service as a Backend.",
          "properties": {
            "name": {
              "description": "name is the referenced service. The service must exist in the same namespace as the Ingress object.",
              "type": "string"
            },
            "port": {
              "description": "ServiceBackendPort is the service port being referenced.",
              "properties": {
                "name": {
                  "description": "name is the name of the port on the Service. This is a mutually exclusive setting with \"Number\".",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "number": {
                  "description": "number is the numerical port number (e.g. 80) on the Service. This is a mutually exclusive setting with \"Name\".",
                  "format": "int32",
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ],
              "x-kubernetes-map-type": "atomic",
              "additionalProperties": false
            }
          },
          "required": [
            "name"
          ],
          "type": [
            "object",
            "null"
          ],
          "additionalProperties": false
        }
      },
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false
    },
    "path": {
      "description": "path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional \"path\" part of a URL as defined by RFC 3986. Paths must begin with a '/' and must be present when using PathType with value \"Exact\" or \"Prefix\".",
      "type": [
        "string",
        "null"
      ]
    },
    "pathType": {
      "description": "pathType determines the interpretation of the path matching. PathType can be one of the following values: * Exact: Matches the URL path exactly. * Prefix: Matches based on a URL path prefix split by '/'. Matching is\n  done on a path element by element basis. A path element refers is the\n  list of labels in the path split by the '/' separator. A request is a\n  match for path p if every p is an element-wise prefix of p of the\n  request path. Note that if the last element of the path is a substring\n  of the last element in request path, it is not a match (e.g. /foo/bar\n  matches /foo/bar/baz, but does not match /foo/barbaz).\n* ImplementationSpecific: Interpretation of the Path matching is up to\n  the IngressClass. Implementations can treat this as a separate PathType\n  or treat it identically to Prefix or Exact path types.\nImplementations are required to support all path types.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "pathType",
    "backend"
  ],
  "type": "object",
  "additionalProperties": false,
  "$schema": "http://json-schema.org/schema#"
}