mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-06 16:06:56 +00:00
72 lines
2.1 KiB
Go
72 lines
2.1 KiB
Go
package v1alpha1
|
|
|
|
import (
|
|
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
)
|
|
|
|
// +genclient
|
|
// +genclient:nonNamespaced
|
|
// +kubebuilder:object:root=true
|
|
// +kubebuilder:subresource:status
|
|
// +kubebuilder:resource:path=validatingpolicies,scope="Cluster",shortName=vpol,categories=kyverno
|
|
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
|
|
// +kubebuilder:printcolumn:name="READY",type=string,JSONPath=`.status.ready`
|
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
|
|
|
type ValidatingPolicy struct {
|
|
metav1.TypeMeta `json:",inline"`
|
|
metav1.ObjectMeta `json:"metadata,omitempty"`
|
|
Spec ValidatingPolicySpec `json:"spec"`
|
|
// Status contains policy runtime data.
|
|
// +optional
|
|
Status PolicyStatus `json:"status,omitempty"`
|
|
}
|
|
|
|
func (s *ValidatingPolicy) GetMatchConstraints() admissionregistrationv1.MatchResources {
|
|
if s.Spec.MatchConstraints == nil {
|
|
return 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
|
|
}
|
|
return *s.Spec.FailurePolicy
|
|
}
|
|
|
|
func (s *ValidatingPolicy) GetWebhookConfiguration() *WebhookConfiguration {
|
|
return s.Spec.WebhookConfiguration
|
|
}
|
|
|
|
func (s *ValidatingPolicy) GetVariables() []admissionregistrationv1.Variable {
|
|
return s.Spec.Variables
|
|
}
|
|
|
|
func (s *ValidatingPolicy) GetSpec() *ValidatingPolicySpec {
|
|
return &s.Spec
|
|
}
|
|
|
|
func (s *ValidatingPolicy) GetStatus() *PolicyStatus {
|
|
return &s.Status
|
|
}
|
|
|
|
func (s *ValidatingPolicy) GetKind() string {
|
|
return "ValidatingPolicy"
|
|
}
|
|
|
|
// +kubebuilder:object:root=true
|
|
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
|
|
|
// ValidatingPolicyList is a list of ValidatingPolicy instances
|
|
type ValidatingPolicyList struct {
|
|
metav1.TypeMeta `json:",inline"`
|
|
metav1.ListMeta `json:"metadata"`
|
|
Items []ValidatingPolicy `json:"items"`
|
|
}
|