import { IDevKnativePkgApisDuckV1KReference } from "../../duck.knative.dev/v1/KReference.js"; import { IDevKnativeEventingPkgApisDuckV1DeliverySpec } from "../../duck.knative.dev/v1/DeliverySpec.js"; import { IDevKnativeEventingPkgApisEventingV1TriggerFilter } from "./TriggerFilter.js"; import { IDevKnativeEventingPkgApisEventingV1SubscriptionsAPIFilter } from "./SubscriptionsAPIFilter.js"; import { IDevKnativePkgApisDuckV1Destination } from "../../duck.knative.dev/v1/Destination.js"; import { ModelData, Model } from "@kubernetes-models/base"; export interface ITriggerSpec { /** * Broker is the broker that this trigger receives events from. */ "broker"?: string; /** * BrokerRef is the broker that is used for cross-namespace referencing. */ "brokerRef"?: IDevKnativePkgApisDuckV1KReference; /** * Delivery contains the delivery spec for this specific trigger. */ "delivery"?: IDevKnativeEventingPkgApisDuckV1DeliverySpec; /** * Filter is the filter to apply against all events from the Broker. Only events that pass this * filter will be sent to the Subscriber. If not specified, will default to allowing all events. */ "filter"?: IDevKnativeEventingPkgApisEventingV1TriggerFilter; /** * 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 Subscriber. 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. In the event of users * specifying both Filter and Filters, then the latter will override the former. * This will allow users to try out the effect of the new Filters field * without compromising the existing attribute-based Filter and try it out on existing * Trigger objects. */ "filters"?: Array; /** * Subscriber is the addressable that receives events from the Broker that pass * the Filter. It is required. */ "subscriber": IDevKnativePkgApisDuckV1Destination; } export declare class TriggerSpec extends Model implements ITriggerSpec { "broker"?: string; "brokerRef"?: IDevKnativePkgApisDuckV1KReference; "delivery"?: IDevKnativeEventingPkgApisDuckV1DeliverySpec; "filter"?: IDevKnativeEventingPkgApisEventingV1TriggerFilter; "filters"?: Array; "subscriber": IDevKnativePkgApisDuckV1Destination; constructor(data?: ModelData); } export type { ITriggerSpec as IDevKnativeEventingPkgApisEventingV1TriggerSpec, TriggerSpec as DevKnativeEventingPkgApisEventingV1TriggerSpec };