34 lines
897 B
Go
34 lines
897 B
Go
package crd
|
|
|
|
import (
|
|
"flink-kube-operator/internal/crd/v1alpha1"
|
|
"fmt"
|
|
|
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
)
|
|
|
|
func convertToUnstructured(obj v1alpha1.FlinkJob) (*unstructured.Unstructured, error) {
|
|
// Convert the structured object to an unstructured map
|
|
unstructuredMap, err := runtime.DefaultUnstructuredConverter.ToUnstructured(obj)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("failed to convert to unstructured: %v", err)
|
|
}
|
|
|
|
// Create an Unstructured object from the map
|
|
unstructuredObj := &unstructured.Unstructured{
|
|
Object: unstructuredMap,
|
|
}
|
|
|
|
return unstructuredObj, nil
|
|
}
|
|
|
|
func convertFromUnstructured(in *unstructured.Unstructured) (*v1alpha1.FlinkJob, error) {
|
|
job := &v1alpha1.FlinkJob{}
|
|
err := runtime.DefaultUnstructuredConverter.FromUnstructured(in.Object, job)
|
|
if err != nil {
|
|
return nil, nil
|
|
}
|
|
return job, nil
|
|
}
|