...
1
16
17 package ensurer
18
19 import (
20 flowcontrolv1 "k8s.io/api/flowcontrol/v1"
21 "k8s.io/apimachinery/pkg/api/equality"
22 flowcontrolclient "k8s.io/client-go/kubernetes/typed/flowcontrol/v1"
23 flowcontrollisters "k8s.io/client-go/listers/flowcontrol/v1"
24 flowcontrolapisv1 "k8s.io/kubernetes/pkg/apis/flowcontrol/v1"
25 )
26
27 func NewFlowSchemaOps(client flowcontrolclient.FlowSchemaInterface, cache flowcontrollisters.FlowSchemaLister) ObjectOps[*flowcontrolv1.FlowSchema] {
28 return NewObjectOps[*flowcontrolv1.FlowSchema](client, cache, (*flowcontrolv1.FlowSchema).DeepCopy, flowSchemaReplaceSpec, flowSchemaSpecEqual)
29 }
30
31 func flowSchemaReplaceSpec(into, from *flowcontrolv1.FlowSchema) *flowcontrolv1.FlowSchema {
32 copy := into.DeepCopy()
33 copy.Spec = *from.Spec.DeepCopy()
34 return copy
35 }
36
37 func flowSchemaSpecEqual(expected, actual *flowcontrolv1.FlowSchema) bool {
38 copiedExpectedSpec := expected.Spec.DeepCopy()
39 flowcontrolapisv1.SetDefaults_FlowSchemaSpec(copiedExpectedSpec)
40 return equality.Semantic.DeepEqual(copiedExpectedSpec, &actual.Spec)
41 }
42
View as plain text