import { IDevKnativePkgApisDuckV1SourceSpec } from "../../duck.knative.dev/v1/SourceSpec.js"; import { IDevKnativeEventingPkgApisEventingV1SubscriptionsAPIFilter } from "../../eventing.knative.dev/v1/SubscriptionsAPIFilter.js"; import { IIoK8sApimachineryPkgApisMetaV1LabelSelector } from "@kubernetes-models/apimachinery/apis/meta/v1/LabelSelector"; import { IDevKnativeEventingPkgApisSourcesV1APIVersionKind } from "./APIVersionKind.js"; import { IDevKnativeEventingPkgApisSourcesV1APIVersionKindSelector } from "./APIVersionKindSelector.js"; import { IDevKnativePkgApisDuckV1CloudEventOverrides } from "../../duck.knative.dev/v1/CloudEventOverrides.js"; import { IDevKnativePkgApisDuckV1Destination } from "../../duck.knative.dev/v1/Destination.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * ApiServerSourceSpec defines the desired state of ApiServerSource */ export interface IApiServerSourceSpec extends IDevKnativePkgApisDuckV1SourceSpec { /** * Filters is an experimental field that conforms to the CNCF CloudEvents Subscriptions * API. It's an array of filter expressions that evaluate to true or false. * If any filter expression in the array evaluates to false, the event MUST * NOT be sent to the Sink. If all the filter expressions in the array * evaluate to true, the event MUST be attempted to be delivered. Absence of * a filter or empty array implies a value of true. */ "filters"?: Array; /** * EventMode controls the format of the event. * `Reference` sends a dataref event type for the resource under watch. * `Resource` send the full resource lifecycle event. * Defaults to `Reference` */ "mode"?: string; /** * NamespaceSelector is a label selector to capture the namespaces that * should be watched by the source. */ "namespaceSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; /** * ResourceOwner is an additional filter to only track resources that are * owned by a specific resource type. If ResourceOwner matches Resources[n] * then Resources[n] is allowed to pass the ResourceOwner filter. */ "owner"?: IDevKnativeEventingPkgApisSourcesV1APIVersionKind; /** * Resource are the resources this source will track and send related * lifecycle events from the Kubernetes ApiServer, with an optional label * selector to help filter. */ "resources": Array; /** * ServiceAccountName is the name of the ServiceAccount to use to run this * source. Defaults to default if not set. */ "serviceAccountName"?: string; } /** * ApiServerSourceSpec defines the desired state of ApiServerSource */ export declare class ApiServerSourceSpec extends Model implements IApiServerSourceSpec { "ceOverrides"?: IDevKnativePkgApisDuckV1CloudEventOverrides; "sink"?: IDevKnativePkgApisDuckV1Destination; "filters"?: Array; "mode"?: string; "namespaceSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector; "owner"?: IDevKnativeEventingPkgApisSourcesV1APIVersionKind; "resources": Array; "serviceAccountName"?: string; constructor(data?: ModelData); } export type { IApiServerSourceSpec as IDevKnativeEventingPkgApisSourcesV1ApiServerSourceSpec, ApiServerSourceSpec as DevKnativeEventingPkgApisSourcesV1ApiServerSourceSpec };