2022-05-03 07:30:04 +02:00
|
|
|
package kube
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/json"
|
|
|
|
|
|
|
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
|
|
|
)
|
|
|
|
|
2023-01-03 13:02:15 +01:00
|
|
|
// BytesToUnstructured converts the resource to unstructured format
|
|
|
|
func BytesToUnstructured(data []byte) (*unstructured.Unstructured, error) {
|
|
|
|
resource := &unstructured.Unstructured{}
|
|
|
|
err := resource.UnmarshalJSON(data)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return resource, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func ObjToUnstructured(obj interface{}) (*unstructured.Unstructured, error) {
|
2022-05-03 07:30:04 +02:00
|
|
|
raw, err := json.Marshal(obj)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
unstrObj := map[string]interface{}{}
|
|
|
|
err = json.Unmarshal(raw, &unstrObj)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return &unstructured.Unstructured{Object: unstrObj}, nil
|
|
|
|
}
|