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"; /** * IngressCommonRule is a rule that shares some of its fields across the * IngressRule and IngressDenyRule. It's publicly exported so the code * generators can generate code for this structure. */ export interface IIngressCommonRule { /** * FromCIDR is a list of IP blocks which the endpoint subject to the * rule is allowed to receive connections from. Only connections which * do \*not\* originate from the cluster or from the local host are subject * to CIDR rules. In order to allow in-cluster connectivity, use the * FromEndpoints field. This will match on the source IP address of * incoming connections. Adding a prefix into FromCIDR or into * FromCIDRSet with no ExcludeCIDRs is equivalent. Overlaps are * allowed between FromCIDR and FromCIDRSet. * * Example: * Any endpoint with the label "app=my-legacy-pet" is allowed to receive * connections from 10.3.9.1 */ "fromCIDR"?: IComGithubCiliumCiliumPkgPolicyApiCIDRSlice; /** * FromCIDRSet is a list of IP blocks which the endpoint subject to the * rule is allowed to receive connections from in addition to FromEndpoints, * along with a list of subnets contained within their corresponding IP block * from which traffic should not be allowed. * This will match on the source IP address of incoming connections. Adding * a prefix into FromCIDR or into FromCIDRSet with no ExcludeCIDRs is * equivalent. Overlaps are allowed between FromCIDR and FromCIDRSet. * * Example: * Any endpoint with the label "app=my-legacy-pet" is allowed to receive * connections from 10.0.0.0/8 except from IPs in subnet 10.96.0.0/12. */ "fromCIDRSet"?: IComGithubCiliumCiliumPkgPolicyApiCIDRRuleSlice; /** * FromEndpoints is a list of endpoints identified by an * EndpointSelector which are allowed to communicate with the endpoint * subject to the rule. * * Example: * Any endpoint with the label "role=backend" can be consumed by any * endpoint carrying the label "role=frontend". * * Note that while an empty non-nil FromEndpoints does not select anything, * nil FromEndpoints is implicitly treated as a wildcard selector if ToPorts * are also specified. * To select everything, use one EndpointSelector without any match requirements. */ "fromEndpoints"?: Array; /** * FromEntities is a list of special entities which the endpoint subject * to the rule is allowed to receive connections from. Supported entities are * `world`, `cluster`, `host`, `remote-node`, `kube-apiserver`, `ingress`, `init`, * `health`, `unmanaged`, `none` and `all`. */ "fromEntities"?: IComGithubCiliumCiliumPkgPolicyApiEntitySlice; /** * FromGroups 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: * FromGroups: * - aws: * securityGroupsIds: * - 'sg-XXXXXXXXXXXXX' */ "fromGroups"?: Array; /** * FromNodes is a list of nodes identified by an * EndpointSelector which are allowed to communicate with the endpoint * subject to the rule. */ "fromNodes"?: Array; /** * Deprecated. */ "fromRequires"?: Array; } /** * IngressCommonRule is a rule that shares some of its fields across the * IngressRule and IngressDenyRule. It's publicly exported so the code * generators can generate code for this structure. */ export declare class IngressCommonRule extends Model implements IIngressCommonRule { "fromCIDR"?: IComGithubCiliumCiliumPkgPolicyApiCIDRSlice; "fromCIDRSet"?: IComGithubCiliumCiliumPkgPolicyApiCIDRRuleSlice; "fromEndpoints"?: Array; "fromEntities"?: IComGithubCiliumCiliumPkgPolicyApiEntitySlice; "fromGroups"?: Array; "fromNodes"?: Array; "fromRequires"?: Array; constructor(data?: ModelData); } export type { IIngressCommonRule as IComGithubCiliumCiliumPkgPolicyApiIngressCommonRule, IngressCommonRule as ComGithubCiliumCiliumPkgPolicyApiIngressCommonRule };