UNPKG

kubernetes-models

Version:
34 lines (33 loc) 2.26 kB
import { ModelData, Model } from "@kubernetes-models/base"; /** * MatchCondition represents a condition which must by fulfilled for a request to be sent to a webhook. */ export interface IMatchCondition { /** * Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables: * * 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. * See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz * 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the * request resource. * Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/ * * Required. */ "expression": string; /** * Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]\*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName') * * Required. */ "name": string; } /** * MatchCondition represents a condition which must by fulfilled for a request to be sent to a webhook. */ export declare class MatchCondition extends Model<IMatchCondition> implements IMatchCondition { "expression": string; "name": string; constructor(data?: ModelData<IMatchCondition>); } export { IMatchCondition as IIoK8sApiAdmissionregistrationV1MatchCondition, MatchCondition as IoK8sApiAdmissionregistrationV1MatchCondition };