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"; /** * EgressCommonRule is a rule that shares some of its fields across the * EgressRule and EgressDenyRule. It's publicly exported so the code generators * can generate code for this structure. */ export interface IEgressCommonRule { /** * ToCIDR is a list of IP blocks which the endpoint subject to the rule * is allowed to initiate connections. Only connections destined for * outside of the cluster and not targeting the host will be subject * to CIDR rules. This will match on the destination IP address of * outgoing connections. Adding a prefix into ToCIDR or into ToCIDRSet * with no ExcludeCIDRs is equivalent. Overlaps are allowed between * ToCIDR and ToCIDRSet. * * Example: * Any endpoint with the label "app=database-proxy" is allowed to * initiate connections to 10.2.3.0/24 */ "toCIDR"?: IComGithubCiliumCiliumPkgPolicyApiCIDRSlice; /** * ToCIDRSet is a list of IP blocks which the endpoint subject to the rule * is allowed to initiate connections to in addition to connections * which are allowed via ToEndpoints, along with a list of subnets contained * within their corresponding IP block to which traffic should not be * allowed. This will match on the destination IP address of outgoing * connections. Adding a prefix into ToCIDR or into ToCIDRSet with no * ExcludeCIDRs is equivalent. Overlaps are allowed between ToCIDR and * ToCIDRSet. * * Example: * Any endpoint with the label "app=database-proxy" is allowed to * initiate connections to 10.2.3.0/24 except from IPs in subnet 10.2.3.0/28. */ "toCIDRSet"?: IComGithubCiliumCiliumPkgPolicyApiCIDRRuleSlice; /** * ToEndpoints is a list of endpoints identified by an EndpointSelector to * which the endpoints subject to the rule are allowed to communicate. * * Example: * Any endpoint with the label "role=frontend" can communicate with any * endpoint carrying the label "role=backend". * * Note that while an empty non-nil ToEndpoints does not select anything, * nil ToEndpoints is implicitly treated as a wildcard selector if ToPorts * are also specified. * To select everything, use one EndpointSelector without any match requirements. */ "toEndpoints"?: Array; /** * ToEntities is a list of special entities to which the endpoint subject * to the rule is allowed to initiate connections. Supported entities are * `world`, `cluster`, `host`, `remote-node`, `kube-apiserver`, `ingress`, `init`, * `health`, `unmanaged`, `none` and `all`. */ "toEntities"?: IComGithubCiliumCiliumPkgPolicyApiEntitySlice; /** * ToGroups is a directive that allows the integration with multiple outside * providers. Currently, only AWS is supported, and the rule can select by * multiple sub directives: * * Example: * toGroups: * - aws: * securityGroupsIds: * - 'sg-XXXXXXXXXXXXX' */ "toGroups"?: Array; /** * ToNodes is a list of nodes identified by an * EndpointSelector to which endpoints subject to the rule is allowed to communicate. */ "toNodes"?: Array; /** * Deprecated. */ "toRequires"?: Array; /** * ToServices is a list of services to which the endpoint subject * to the rule is allowed to initiate connections. * Currently Cilium only supports toServices for K8s services. */ "toServices"?: Array; } /** * EgressCommonRule is a rule that shares some of its fields across the * EgressRule and EgressDenyRule. It's publicly exported so the code generators * can generate code for this structure. */ export declare class EgressCommonRule extends Model implements IEgressCommonRule { "toCIDR"?: IComGithubCiliumCiliumPkgPolicyApiCIDRSlice; "toCIDRSet"?: IComGithubCiliumCiliumPkgPolicyApiCIDRRuleSlice; "toEndpoints"?: Array; "toEntities"?: IComGithubCiliumCiliumPkgPolicyApiEntitySlice; "toGroups"?: Array; "toNodes"?: Array; "toRequires"?: Array; "toServices"?: Array; constructor(data?: ModelData); } export type { IEgressCommonRule as IComGithubCiliumCiliumPkgPolicyApiEgressCommonRule, EgressCommonRule as ComGithubCiliumCiliumPkgPolicyApiEgressCommonRule };