mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-06 16:06:56 +00:00
feat: add generic policy interface (#11922)
* feat: add generic policy interface Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com> * fix codegen Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com> --------- Signed-off-by: Mariam Fahmy <mariam.fahmy@nirmata.com> Co-authored-by: shuting <shuting@nirmata.com>
This commit is contained in:
parent
990ab7b622
commit
879f76a1d7
3 changed files with 29 additions and 0 deletions
13
api/kyverno/v2alpha1/policy_interface.go
Normal file
13
api/kyverno/v2alpha1/policy_interface.go
Normal file
|
@ -0,0 +1,13 @@
|
|||
package v2alpha1
|
||||
|
||||
import (
|
||||
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
|
||||
)
|
||||
|
||||
// +kubebuilder:object:generate=false
|
||||
type GenericPolicy interface {
|
||||
GetMatchConstraints() admissionregistrationv1.MatchResources
|
||||
GetMatchConditions() []admissionregistrationv1.MatchCondition
|
||||
GetFailurePolicy() admissionregistrationv1.FailurePolicyType
|
||||
GetVariables() []admissionregistrationv1.Variable
|
||||
}
|
|
@ -17,6 +17,14 @@ type ValidatingPolicy struct {
|
|||
Spec ValidatingPolicySpec `json:"spec"`
|
||||
}
|
||||
|
||||
func (s *ValidatingPolicy) GetMatchConstraints() admissionregistrationv1.MatchResources {
|
||||
return *s.Spec.MatchConstraints
|
||||
}
|
||||
|
||||
func (s *ValidatingPolicy) GetMatchConditions() []admissionregistrationv1.MatchCondition {
|
||||
return s.Spec.MatchConditions
|
||||
}
|
||||
|
||||
func (s *ValidatingPolicy) GetFailurePolicy() admissionregistrationv1.FailurePolicyType {
|
||||
if s.Spec.FailurePolicy == nil {
|
||||
return admissionregistrationv1.Fail
|
||||
|
@ -24,6 +32,10 @@ func (s *ValidatingPolicy) GetFailurePolicy() admissionregistrationv1.FailurePol
|
|||
return *s.Spec.FailurePolicy
|
||||
}
|
||||
|
||||
func (s *ValidatingPolicy) GetVariables() []admissionregistrationv1.Variable {
|
||||
return s.Spec.Variables
|
||||
}
|
||||
|
||||
// +kubebuilder:object:root=true
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
|
|
|
@ -7524,6 +7524,10 @@ int
|
|||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h3 id="kyverno.io/v2alpha1.GenericPolicy">GenericPolicy
|
||||
</h3>
|
||||
<p>
|
||||
</p>
|
||||
<h3 id="kyverno.io/v2alpha1.GlobalContextEntrySpec">GlobalContextEntrySpec
|
||||
</h3>
|
||||
<p>
|
||||
|
|
Loading…
Add table
Reference in a new issue