2023-01-31 16:28:48 +01:00
|
|
|
package api
|
|
|
|
|
|
|
|
import (
|
|
|
|
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
|
2024-06-20 11:44:43 +02:00
|
|
|
kyvernov2 "github.com/kyverno/kyverno/api/kyverno/v2"
|
2023-01-31 16:28:48 +01:00
|
|
|
enginecontext "github.com/kyverno/kyverno/pkg/engine/context"
|
|
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
|
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
2023-03-22 11:18:11 +01:00
|
|
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
2023-01-31 16:28:48 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
// ExcludeFunc is a function used to determine if a resource is excluded
|
|
|
|
type ExcludeFunc = func(kind, namespace, name string) bool
|
|
|
|
|
|
|
|
type PolicyContext interface {
|
|
|
|
Policy() kyvernov1.PolicyInterface
|
|
|
|
NewResource() unstructured.Unstructured
|
|
|
|
OldResource() unstructured.Unstructured
|
2024-03-13 21:54:53 +05:30
|
|
|
SetResources(oldResource, newResource unstructured.Unstructured) error
|
2024-06-20 11:44:43 +02:00
|
|
|
AdmissionInfo() kyvernov2.RequestInfo
|
2023-03-29 06:22:21 +02:00
|
|
|
Operation() kyvernov1.AdmissionOperation
|
2024-09-06 12:12:56 +05:30
|
|
|
SetOperation(op kyvernov1.AdmissionOperation) error
|
2023-01-31 16:28:48 +01:00
|
|
|
NamespaceLabels() map[string]string
|
|
|
|
RequestResource() metav1.GroupVersionResource
|
2023-03-22 11:18:11 +01:00
|
|
|
ResourceKind() (schema.GroupVersionKind, string)
|
|
|
|
AdmissionOperation() bool
|
2023-01-31 16:28:48 +01:00
|
|
|
Element() unstructured.Unstructured
|
|
|
|
SetElement(element unstructured.Unstructured)
|
|
|
|
|
|
|
|
JSONContext() enginecontext.Interface
|
2024-05-21 22:29:09 +07:00
|
|
|
Copy() PolicyContext
|
2023-01-31 16:28:48 +01:00
|
|
|
}
|