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 }