import { IComGithubCiliumCiliumPkgK8sSlimK8sApisMetaV1LabelSelector } from "../../meta/v1/LabelSelector.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * CiliumL2AnnouncementPolicySpec specifies which nodes should announce what * services to the L2 networks attached to the given list of interfaces. */ export interface ICiliumL2AnnouncementPolicySpec { /** * If true, the external IPs of the services are announced */ "externalIPs"?: boolean; /** * A list of regular expressions that express which network interface(s) should be used * to announce the services over. If nil, all network interfaces are used. */ "interfaces"?: Array; /** * If true, the loadbalancer IPs of the services are announced * * If nil this policy applies to all services. */ "loadBalancerIPs"?: boolean; /** * NodeSelector selects a group of nodes which will announce the IPs for * the services selected by the service selector. * * If nil this policy applies to all nodes. */ "nodeSelector"?: IComGithubCiliumCiliumPkgK8sSlimK8sApisMetaV1LabelSelector; /** * ServiceSelector selects a set of services which will be announced over L2 networks. * The loadBalancerClass for a service must be nil or specify a supported class, e.g. * "io.cilium/l2-announcer". Refer to the following document for additional details * regarding load balancer classes: * * https://kubernetes.io/docs/concepts/services-networking/service/#load-balancer-class * * If nil this policy applies to all services. */ "serviceSelector"?: IComGithubCiliumCiliumPkgK8sSlimK8sApisMetaV1LabelSelector; } /** * CiliumL2AnnouncementPolicySpec specifies which nodes should announce what * services to the L2 networks attached to the given list of interfaces. */ export declare class CiliumL2AnnouncementPolicySpec extends Model implements ICiliumL2AnnouncementPolicySpec { "externalIPs"?: boolean; "interfaces"?: Array; "loadBalancerIPs"?: boolean; "nodeSelector"?: IComGithubCiliumCiliumPkgK8sSlimK8sApisMetaV1LabelSelector; "serviceSelector"?: IComGithubCiliumCiliumPkgK8sSlimK8sApisMetaV1LabelSelector; constructor(data?: ModelData); } export type { ICiliumL2AnnouncementPolicySpec as IComGithubCiliumCiliumPkgK8sApisCiliumIoV2alpha1CiliumL2AnnouncementPolicySpec, CiliumL2AnnouncementPolicySpec as ComGithubCiliumCiliumPkgK8sApisCiliumIoV2alpha1CiliumL2AnnouncementPolicySpec };