...
1
16
17 package v1beta1
18
19 import (
20 corev1 "k8s.io/api/core/v1"
21 "k8s.io/api/discovery/v1beta1"
22 "k8s.io/apimachinery/pkg/conversion"
23 "k8s.io/kubernetes/pkg/apis/discovery"
24 )
25
26 func Convert_v1beta1_Endpoint_To_discovery_Endpoint(in *v1beta1.Endpoint, out *discovery.Endpoint, s conversion.Scope) error {
27 if err := autoConvert_v1beta1_Endpoint_To_discovery_Endpoint(in, out, s); err != nil {
28 return err
29 }
30 if in.Topology != nil {
31
32 out.DeprecatedTopology = make(map[string]string, len(in.Topology))
33 for k, v := range in.Topology {
34 out.DeprecatedTopology[k] = v
35 }
36
37
38 if zone, ok := in.Topology[corev1.LabelTopologyZone]; ok {
39 out.Zone = &zone
40 delete(out.DeprecatedTopology, corev1.LabelTopologyZone)
41 }
42
43
44
45
46
47 if node, ok := in.Topology[corev1.LabelHostname]; ok {
48 if out.NodeName != nil && node == *out.NodeName {
49 delete(out.DeprecatedTopology, corev1.LabelHostname)
50 }
51 }
52
53
54
55 if len(out.DeprecatedTopology) == 0 {
56 out.DeprecatedTopology = nil
57 }
58 }
59
60 return nil
61 }
62
63 func Convert_discovery_Endpoint_To_v1beta1_Endpoint(in *discovery.Endpoint, out *v1beta1.Endpoint, s conversion.Scope) error {
64 if err := autoConvert_discovery_Endpoint_To_v1beta1_Endpoint(in, out, s); err != nil {
65 return err
66 }
67
68
69 if in.DeprecatedTopology == nil && in.Zone == nil && in.NodeName == nil {
70 return nil
71 }
72
73
74 out.Topology = make(map[string]string, len(in.DeprecatedTopology))
75 for k, v := range in.DeprecatedTopology {
76 out.Topology[k] = v
77 }
78
79
80 if in.Zone != nil {
81 out.Topology[corev1.LabelTopologyZone] = *in.Zone
82 }
83
84
85
86
87 if in.NodeName != nil && out.Topology[corev1.LabelHostname] == "" {
88 out.Topology[corev1.LabelHostname] = *in.NodeName
89 }
90
91 return nil
92 }
93
View as plain text