@kubernetes-models/flux-cd
Version:
61 lines (60 loc) • 2.97 kB
TypeScript
import { IComGithubFluxcdNotificationControllerApiV1CrossNamespaceObjectReference } from "./CrossNamespaceObjectReference.js";
import { IComGithubFluxcdPkgApisMetaLocalObjectReference } from "../../github.com/fluxcd/pkg/apis/meta/LocalObjectReference.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
* ReceiverSpec defines the desired state of the Receiver.
*/
export interface IReceiverSpec {
/**
* Events specifies the list of event types to handle,
* e.g. 'push' for GitHub or 'Push Hook' for GitLab.
*/
"events"?: Array<string>;
"interval"?: string;
/**
* ResourceFilter is a CEL expression expected to return a boolean that is
* evaluated for each resource referenced in the Resources field when a
* webhook is received. If the expression returns false then the controller
* will not request a reconciliation for the resource.
* When the expression is specified the controller will parse it and mark
* the object as terminally failed if the expression is invalid or does not
* return a boolean.
*/
"resourceFilter"?: string;
/**
* A list of resources to be notified about changes.
*/
"resources": Array<IComGithubFluxcdNotificationControllerApiV1CrossNamespaceObjectReference>;
/**
* SecretRef specifies the Secret containing the token used
* to validate the payload authenticity. The Secret must contain a 'token'
* key. For GCR receivers, the Secret must also contain an 'email' key
* with the IAM service account email configured on the Pub/Sub push
* subscription, and an 'audience' key with the expected OIDC token audience.
*/
"secretRef": IComGithubFluxcdPkgApisMetaLocalObjectReference;
/**
* Suspend tells the controller to suspend subsequent
* events handling for this receiver.
*/
"suspend"?: boolean;
/**
* Type of webhook sender, used to determine
* the validation procedure and payload deserialization.
*/
"type": "generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "harbor" | "dockerhub" | "quay" | "gcr" | "nexus" | "acr" | "cdevents";
}
/**
* ReceiverSpec defines the desired state of the Receiver.
*/
export declare class ReceiverSpec extends Model<IReceiverSpec> implements IReceiverSpec {
"events"?: Array<string>;
"interval"?: string;
"resourceFilter"?: string;
"resources": Array<IComGithubFluxcdNotificationControllerApiV1CrossNamespaceObjectReference>;
"secretRef": IComGithubFluxcdPkgApisMetaLocalObjectReference;
"suspend"?: boolean;
"type": "generic" | "generic-hmac" | "github" | "gitlab" | "bitbucket" | "harbor" | "dockerhub" | "quay" | "gcr" | "nexus" | "acr" | "cdevents";
constructor(data?: ModelData<IReceiverSpec>);
}
export type { IReceiverSpec as IComGithubFluxcdNotificationControllerApiV1ReceiverSpec, ReceiverSpec as ComGithubFluxcdNotificationControllerApiV1ReceiverSpec };