...
1
16
17 package resourceclaimparameters
18
19 import (
20 "context"
21 "errors"
22
23 "k8s.io/apimachinery/pkg/fields"
24 "k8s.io/apimachinery/pkg/labels"
25 "k8s.io/apimachinery/pkg/runtime"
26 "k8s.io/apimachinery/pkg/util/validation/field"
27 "k8s.io/apiserver/pkg/registry/generic"
28 "k8s.io/apiserver/pkg/storage"
29 "k8s.io/apiserver/pkg/storage/names"
30 "k8s.io/kubernetes/pkg/api/legacyscheme"
31 "k8s.io/kubernetes/pkg/apis/resource"
32 "k8s.io/kubernetes/pkg/apis/resource/validation"
33 )
34
35
36 type resourceClaimParametersStrategy struct {
37 runtime.ObjectTyper
38 names.NameGenerator
39 }
40
41 var Strategy = resourceClaimParametersStrategy{legacyscheme.Scheme, names.SimpleNameGenerator}
42
43 func (resourceClaimParametersStrategy) NamespaceScoped() bool {
44 return true
45 }
46
47 func (resourceClaimParametersStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) {
48 }
49
50 func (resourceClaimParametersStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList {
51 resourceClaimParameters := obj.(*resource.ResourceClaimParameters)
52 return validation.ValidateResourceClaimParameters(resourceClaimParameters)
53 }
54
55 func (resourceClaimParametersStrategy) WarningsOnCreate(ctx context.Context, obj runtime.Object) []string {
56 return nil
57 }
58
59 func (resourceClaimParametersStrategy) Canonicalize(obj runtime.Object) {
60 }
61
62 func (resourceClaimParametersStrategy) AllowCreateOnUpdate() bool {
63 return false
64 }
65
66 func (resourceClaimParametersStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) {
67 }
68
69 func (resourceClaimParametersStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList {
70 return validation.ValidateResourceClaimParametersUpdate(obj.(*resource.ResourceClaimParameters), old.(*resource.ResourceClaimParameters))
71 }
72
73 func (resourceClaimParametersStrategy) WarningsOnUpdate(ctx context.Context, obj, old runtime.Object) []string {
74 return nil
75 }
76
77 func (resourceClaimParametersStrategy) AllowUnconditionalUpdate() bool {
78 return true
79 }
80
81
82 func Match(label labels.Selector, field fields.Selector) storage.SelectionPredicate {
83 return storage.SelectionPredicate{
84 Label: label,
85 Field: field,
86 GetAttrs: GetAttrs,
87 }
88 }
89
90
91 func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) {
92 parameters, ok := obj.(*resource.ResourceClaimParameters)
93 if !ok {
94 return nil, nil, errors.New("not a resourceclaim")
95 }
96 return labels.Set(parameters.Labels), toSelectableFields(parameters), nil
97 }
98
99
100 func toSelectableFields(claim *resource.ResourceClaimParameters) fields.Set {
101 fields := generic.ObjectMetaFieldsSet(&claim.ObjectMeta, true)
102 return fields
103 }
104
View as plain text