mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-05 15:37:19 +00:00
18 lines
581 B
Go
18 lines
581 B
Go
|
package utils
|
||
|
|
||
|
import (
|
||
|
kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1"
|
||
|
datautils "github.com/kyverno/kyverno/pkg/utils/data"
|
||
|
admissionv1 "k8s.io/api/admission/v1"
|
||
|
)
|
||
|
|
||
|
// MatchDeleteOperation checks if the rule specifies the DELETE operation.
|
||
|
func MatchDeleteOperation(rule kyvernov1.Rule) bool {
|
||
|
ops := rule.MatchResources.GetOperations()
|
||
|
for _, rscFilters := range append(rule.MatchResources.All, rule.MatchResources.Any...) {
|
||
|
ops = append(ops, rscFilters.ResourceDescription.GetOperations()...)
|
||
|
}
|
||
|
|
||
|
return datautils.SliceContains(ops, string(admissionv1.Delete))
|
||
|
}
|