...
1
16
17 package storageclass
18
19 import (
20 "context"
21
22 "k8s.io/apimachinery/pkg/runtime"
23 "k8s.io/apimachinery/pkg/util/validation/field"
24 "k8s.io/apiserver/pkg/storage/names"
25 "k8s.io/kubernetes/pkg/api/legacyscheme"
26 storageutil "k8s.io/kubernetes/pkg/api/storage"
27 "k8s.io/kubernetes/pkg/apis/storage"
28 "k8s.io/kubernetes/pkg/apis/storage/validation"
29 )
30
31
32 type storageClassStrategy struct {
33 runtime.ObjectTyper
34 names.NameGenerator
35 }
36
37
38
39 var Strategy = storageClassStrategy{legacyscheme.Scheme, names.SimpleNameGenerator}
40
41 func (storageClassStrategy) NamespaceScoped() bool {
42 return false
43 }
44
45
46 func (storageClassStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) {
47 }
48
49 func (storageClassStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList {
50 storageClass := obj.(*storage.StorageClass)
51 return validation.ValidateStorageClass(storageClass)
52 }
53
54
55 func (storageClassStrategy) WarningsOnCreate(ctx context.Context, obj runtime.Object) []string {
56 return storageutil.GetWarningsForStorageClass(obj.(*storage.StorageClass))
57 }
58
59
60 func (storageClassStrategy) Canonicalize(obj runtime.Object) {
61 }
62
63 func (storageClassStrategy) AllowCreateOnUpdate() bool {
64 return false
65 }
66
67
68 func (storageClassStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) {
69 }
70
71 func (storageClassStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList {
72 errorList := validation.ValidateStorageClass(obj.(*storage.StorageClass))
73 return append(errorList, validation.ValidateStorageClassUpdate(obj.(*storage.StorageClass), old.(*storage.StorageClass))...)
74 }
75
76
77 func (storageClassStrategy) WarningsOnUpdate(ctx context.Context, obj, old runtime.Object) []string {
78 return storageutil.GetWarningsForStorageClass(obj.(*storage.StorageClass))
79 }
80
81 func (storageClassStrategy) AllowUnconditionalUpdate() bool {
82 return true
83 }
84
View as plain text