import { IDevKnativeNetworkingPkgApisNetworkingV1alpha1HTTPIngressRuleValue } from "./HTTPIngressRuleValue.js"; import { IDevKnativeNetworkingPkgApisNetworkingV1alpha1IngressVisibility } from "./IngressVisibility.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * IngressRule represents the rules mapping the paths under a specified host to * the related backend services. Incoming requests are first evaluated for a host * match, then routed to the backend associated with the matching IngressRuleValue. */ export interface IIngressRule { /** * Host is the fully qualified domain name of a network host, as defined * by RFC 3986. Note the following deviations from the "host" part of the * URI as defined in the RFC: * 1. IPs are not allowed. Currently a rule value can only apply to the * IP in the Spec of the parent . * 2. The `:` delimiter is not respected because ports are not allowed. * Currently the port of an Ingress is implicitly :80 for http and * :443 for https. * Both these may change in the future. * If the host is unspecified, the Ingress routes all traffic based on the * specified IngressRuleValue. * If multiple matching Hosts were provided, the first rule will take precedent. */ "hosts"?: Array; /** * HTTP represents a rule to apply against incoming requests. If the * rule is satisfied, the request is routed to the specified backend. */ "http"?: IDevKnativeNetworkingPkgApisNetworkingV1alpha1HTTPIngressRuleValue; /** * Visibility signifies whether this rule should `ClusterLocal`. If it's not * specified then it defaults to `ExternalIP`. */ "visibility"?: IDevKnativeNetworkingPkgApisNetworkingV1alpha1IngressVisibility; } /** * IngressRule represents the rules mapping the paths under a specified host to * the related backend services. Incoming requests are first evaluated for a host * match, then routed to the backend associated with the matching IngressRuleValue. */ export declare class IngressRule extends Model implements IIngressRule { "hosts"?: Array; "http"?: IDevKnativeNetworkingPkgApisNetworkingV1alpha1HTTPIngressRuleValue; "visibility"?: IDevKnativeNetworkingPkgApisNetworkingV1alpha1IngressVisibility; constructor(data?: ModelData); } export type { IIngressRule as IDevKnativeNetworkingPkgApisNetworkingV1alpha1IngressRule, IngressRule as DevKnativeNetworkingPkgApisNetworkingV1alpha1IngressRule };