import { IComGithubCiliumCiliumPkgK8sApisCiliumIoV2alpha1IPv4PoolSpec } from "./IPv4PoolSpec.js"; import { IComGithubCiliumCiliumPkgK8sApisCiliumIoV2alpha1IPv6PoolSpec } from "./IPv6PoolSpec.js"; import { IComGithubCiliumCiliumPkgK8sSlimK8sApisMetaV1LabelSelector } from "../../meta/v1/LabelSelector.js"; import { ModelData, Model } from "@kubernetes-models/base"; export interface IIPPoolSpec { /** * IPv4 specifies the IPv4 CIDRs and mask sizes of the pool */ "ipv4"?: IComGithubCiliumCiliumPkgK8sApisCiliumIoV2alpha1IPv4PoolSpec; /** * IPv6 specifies the IPv6 CIDRs and mask sizes of the pool */ "ipv6"?: IComGithubCiliumCiliumPkgK8sApisCiliumIoV2alpha1IPv6PoolSpec; /** * NamespaceSelector selects the set of Namespaces that are eligible to use * this pool. If both PodSelector and NamespaceSelector are specified, a Pod * must match both selectors to be eligible for IP allocation from this pool. * * If NamespaceSelector is empty, the pool can be used by Pods in any namespace * (subject to PodSelector constraints). */ "namespaceSelector"?: IComGithubCiliumCiliumPkgK8sSlimK8sApisMetaV1LabelSelector; /** * PodSelector selects the set of Pods that are eligible to receive IPs from * this pool when neither the Pod nor its Namespace specify an explicit * `ipam.cilium.io/\*` annotation. * * The selector can match on regular Pod labels and on the following synthetic * labels that Cilium adds for convenience: * * io.kubernetes.pod.namespace – the Pod's namespace * io.kubernetes.pod.name – the Pod's name * * A single Pod must not match more than one pool for the same IP family. * If multiple pools match, IP allocation fails for that Pod and a warning event * is emitted in the namespace of the Pod. */ "podSelector"?: IComGithubCiliumCiliumPkgK8sSlimK8sApisMetaV1LabelSelector; } export declare class IPPoolSpec extends Model implements IIPPoolSpec { "ipv4"?: IComGithubCiliumCiliumPkgK8sApisCiliumIoV2alpha1IPv4PoolSpec; "ipv6"?: IComGithubCiliumCiliumPkgK8sApisCiliumIoV2alpha1IPv6PoolSpec; "namespaceSelector"?: IComGithubCiliumCiliumPkgK8sSlimK8sApisMetaV1LabelSelector; "podSelector"?: IComGithubCiliumCiliumPkgK8sSlimK8sApisMetaV1LabelSelector; constructor(data?: ModelData); } export type { IIPPoolSpec as IComGithubCiliumCiliumPkgK8sApisCiliumIoV2alpha1IPPoolSpec, IPPoolSpec as ComGithubCiliumCiliumPkgK8sApisCiliumIoV2alpha1IPPoolSpec };