github.com/crossplane/upjet@v1.3.0/pkg/pipeline/templates/conversion_spoke.go.tmpl (about) 1 {{ .Header }} 2 3 {{ .GenStatement }} 4 5 package {{ .APIVersion }} 6 7 import ( 8 ujconversion "github.com/crossplane/upjet/pkg/controller/conversion" 9 "github.com/crossplane/upjet/pkg/resource" 10 "github.com/pkg/errors" 11 "sigs.k8s.io/controller-runtime/pkg/conversion" 12 ) 13 14 {{ range .Resources }} 15 // ConvertTo converts this {{ .CRD.Kind }} to the hub type. 16 func (tr *{{ .CRD.Kind }}) ConvertTo(dstRaw conversion.Hub) error { 17 if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { 18 return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) 19 } 20 return nil 21 } 22 23 // ConvertFrom converts from the hub type to the {{ .CRD.Kind }} type. 24 func (tr *{{ .CRD.Kind }}) ConvertFrom(srcRaw conversion.Hub) error { 25 if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { 26 return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) 27 } 28 return nil 29 } 30 {{ end }}