forked from maistra/istio-operator
/
controller.go
36 lines (31 loc) · 1.08 KB
/
controller.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package conversion
import (
"fmt"
"k8s.io/apimachinery/pkg/runtime"
v1 "github.com/acostamanowarrior/istio-operator/pkg/apis/maistra/v1"
v2 "github.com/acostamanowarrior/istio-operator/pkg/apis/maistra/v2"
)
func init() {
v1.ConverterV1V2 = func(src, dst runtime.Object) error {
srcSMCP, ok := src.(*v1.ServiceMeshControlPlane)
if !ok {
return fmt.Errorf("src is not a v1.ServiceMeshControlPlane: %T", src)
}
dstSMCP, ok := dst.(*v2.ServiceMeshControlPlane)
if !ok {
return fmt.Errorf("dst is not a v2.ServiceMeshControlPlane: %T", dst)
}
return Convert_v1_ServiceMeshControlPlane_To_v2_ServiceMeshControlPlane(srcSMCP, dstSMCP, nil)
}
v1.ConverterV2V1 = func(src, dst runtime.Object) error {
srcSMCP, ok := src.(*v2.ServiceMeshControlPlane)
if !ok {
return fmt.Errorf("src is not a v2.ServiceMeshControlPlane: %T", src)
}
dstSMCP, ok := dst.(*v1.ServiceMeshControlPlane)
if !ok {
return fmt.Errorf("dst is not a v1.ServiceMeshControlPlane: %T", dst)
}
return Convert_v2_ServiceMeshControlPlane_To_v1_ServiceMeshControlPlane(srcSMCP, dstSMCP, nil)
}
}