...
1
16
17 package validatingwebhookconfiguration
18
19 import (
20 "context"
21 "reflect"
22
23 "k8s.io/apimachinery/pkg/runtime"
24 "k8s.io/apimachinery/pkg/util/validation/field"
25 "k8s.io/apiserver/pkg/storage/names"
26 "k8s.io/kubernetes/pkg/api/legacyscheme"
27 "k8s.io/kubernetes/pkg/apis/admissionregistration"
28 "k8s.io/kubernetes/pkg/apis/admissionregistration/validation"
29 )
30
31
32 type validatingWebhookConfigurationStrategy struct {
33 runtime.ObjectTyper
34 names.NameGenerator
35 }
36
37
38 var Strategy = validatingWebhookConfigurationStrategy{legacyscheme.Scheme, names.SimpleNameGenerator}
39
40
41 func (validatingWebhookConfigurationStrategy) NamespaceScoped() bool {
42 return false
43 }
44
45
46 func (validatingWebhookConfigurationStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) {
47 ic := obj.(*admissionregistration.ValidatingWebhookConfiguration)
48 ic.Generation = 1
49 }
50
51
52 func (validatingWebhookConfigurationStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) {
53 newIC := obj.(*admissionregistration.ValidatingWebhookConfiguration)
54 oldIC := old.(*admissionregistration.ValidatingWebhookConfiguration)
55
56
57
58
59 if !reflect.DeepEqual(oldIC.Webhooks, newIC.Webhooks) {
60 newIC.Generation = oldIC.Generation + 1
61 }
62 }
63
64
65 func (validatingWebhookConfigurationStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList {
66 return validation.ValidateValidatingWebhookConfiguration(obj.(*admissionregistration.ValidatingWebhookConfiguration))
67 }
68
69
70 func (validatingWebhookConfigurationStrategy) WarningsOnCreate(ctx context.Context, obj runtime.Object) []string {
71 return nil
72 }
73
74
75 func (validatingWebhookConfigurationStrategy) Canonicalize(obj runtime.Object) {
76 }
77
78
79 func (validatingWebhookConfigurationStrategy) AllowCreateOnUpdate() bool {
80 return false
81 }
82
83
84 func (validatingWebhookConfigurationStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList {
85 return validation.ValidateValidatingWebhookConfigurationUpdate(obj.(*admissionregistration.ValidatingWebhookConfiguration), old.(*admissionregistration.ValidatingWebhookConfiguration))
86 }
87
88
89 func (validatingWebhookConfigurationStrategy) WarningsOnUpdate(ctx context.Context, obj, old runtime.Object) []string {
90 return nil
91 }
92
93
94
95 func (validatingWebhookConfigurationStrategy) AllowUnconditionalUpdate() bool {
96 return false
97 }
98
View as plain text