import { IComGithubCiliumCiliumPkgPolicyApiEgressCommonRule } from "./EgressCommonRule.js"; import { IComGithubCiliumCiliumPkgPolicyApiICMPRules } from "./ICMPRules.js"; import { IComGithubCiliumCiliumPkgPolicyApiPortDenyRules } from "./PortDenyRules.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 { IComGithubCiliumCiliumPkgPolicyApiService } from "./Service.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * EgressDenyRule contains all rule types which can be applied at egress, i.e. * network traffic that originates inside the endpoint and exits 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 of the structure are specified, then all members * must match in order for the rule to take effect. * * - ToEndpoints, ToCIDR, ToCIDRSet, ToEntities, ToServices and ToGroups are * mutually exclusive. Only one of these members may be present within an * individual rule. */ export interface IEgressDenyRule extends IComGithubCiliumCiliumPkgPolicyApiEgressCommonRule { /** * ICMPs is a list of ICMP rule identified by type number * which the endpoint subject to the rule is not allowed to connect to. * * Example: * Any endpoint with the label "app=httpd" is not allowed to initiate * 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 not allowed to connect * to. * * Example: * Any endpoint with the label "role=frontend" is not allowed to initiate * connections to destination port 8080/tcp */ "toPorts"?: IComGithubCiliumCiliumPkgPolicyApiPortDenyRules; } /** * EgressDenyRule contains all rule types which can be applied at egress, i.e. * network traffic that originates inside the endpoint and exits 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 of the structure are specified, then all members * must match in order for the rule to take effect. * * - ToEndpoints, ToCIDR, ToCIDRSet, ToEntities, ToServices and ToGroups are * mutually exclusive. Only one of these members may be present within an * individual rule. */ export declare class EgressDenyRule extends Model implements IEgressDenyRule { "toCIDR"?: IComGithubCiliumCiliumPkgPolicyApiCIDRSlice; "toCIDRSet"?: IComGithubCiliumCiliumPkgPolicyApiCIDRRuleSlice; "toEndpoints"?: Array; "toEntities"?: IComGithubCiliumCiliumPkgPolicyApiEntitySlice; "toGroups"?: Array; "toNodes"?: Array; "toRequires"?: Array; "toServices"?: Array; "icmps"?: IComGithubCiliumCiliumPkgPolicyApiICMPRules; "toPorts"?: IComGithubCiliumCiliumPkgPolicyApiPortDenyRules; constructor(data?: ModelData); } export type { IEgressDenyRule as IComGithubCiliumCiliumPkgPolicyApiEgressDenyRule, EgressDenyRule as ComGithubCiliumCiliumPkgPolicyApiEgressDenyRule };