import { IComGithubCiliumCiliumPkgPolicyApiIngressCommonRule } from "./IngressCommonRule.js"; import { IComGithubCiliumCiliumPkgPolicyApiAuthentication } from "./Authentication.js"; import { IComGithubCiliumCiliumPkgPolicyApiICMPRules } from "./ICMPRules.js"; import { IComGithubCiliumCiliumPkgPolicyApiPortRules } from "./PortRules.js"; import { IComGithubCiliumCiliumPkgPolicyApiCIDRSlice } from "./CIDRSlice.js"; import { IComGithubCiliumCiliumPkgPolicyApiCIDRRuleSlice } from "./CIDRRuleSlice.js"; import { IComGithubCiliumCiliumPkgPolicyApiEndpointSelector } from "./EndpointSelector.js"; import { IComGithubCiliumCiliumPkgPolicyApiEntitySlice } from "./EntitySlice.js"; import { IComGithubCiliumCiliumPkgPolicyApiGroups } from "./Groups.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * IngressRule contains all rule types which can be applied at ingress, * i.e. network traffic that originates outside of the endpoint and * is entering the endpoint selected by the endpointSelector. * * - All members of this structure are optional. If omitted or empty, the * member will have no effect on the rule. * * - If multiple members are set, all of them need to match in order for * the rule to take effect. * * - FromEndpoints, FromCIDR, FromCIDRSet and FromEntities are mutually * exclusive. Only one of these members may be present within an individual * rule. */ export interface IIngressRule extends IComGithubCiliumCiliumPkgPolicyApiIngressCommonRule { /** * Authentication is the required authentication type for the allowed traffic, if any. */ "authentication"?: IComGithubCiliumCiliumPkgPolicyApiAuthentication; /** * ICMPs is a list of ICMP rule identified by type number * which the endpoint subject to the rule is allowed to * receive connections on. * * Example: * Any endpoint with the label "app=httpd" can only accept incoming * type 8 ICMP connections. */ "icmps"?: IComGithubCiliumCiliumPkgPolicyApiICMPRules; /** * ToPorts is a list of destination ports identified by port number and * protocol which the endpoint subject to the rule is allowed to * receive connections on. * * Example: * Any endpoint with the label "app=httpd" can only accept incoming * connections on port 80/tcp. */ "toPorts"?: IComGithubCiliumCiliumPkgPolicyApiPortRules; } /** * IngressRule contains all rule types which can be applied at ingress, * i.e. network traffic that originates outside of the endpoint and * is entering the endpoint selected by the endpointSelector. * * - All members of this structure are optional. If omitted or empty, the * member will have no effect on the rule. * * - If multiple members are set, all of them need to match in order for * the rule to take effect. * * - FromEndpoints, FromCIDR, FromCIDRSet and FromEntities are mutually * exclusive. Only one of these members may be present within an individual * rule. */ export declare class IngressRule extends Model implements IIngressRule { "fromCIDR"?: IComGithubCiliumCiliumPkgPolicyApiCIDRSlice; "fromCIDRSet"?: IComGithubCiliumCiliumPkgPolicyApiCIDRRuleSlice; "fromEndpoints"?: Array; "fromEntities"?: IComGithubCiliumCiliumPkgPolicyApiEntitySlice; "fromGroups"?: Array; "fromNodes"?: Array; "fromRequires"?: Array; "authentication"?: IComGithubCiliumCiliumPkgPolicyApiAuthentication; "icmps"?: IComGithubCiliumCiliumPkgPolicyApiICMPRules; "toPorts"?: IComGithubCiliumCiliumPkgPolicyApiPortRules; constructor(data?: ModelData); } export type { IIngressRule as IComGithubCiliumCiliumPkgPolicyApiIngressRule, IngressRule as ComGithubCiliumCiliumPkgPolicyApiIngressRule };