mirror of https://github.com/portainer/portainer
28 lines
468 B
Go
28 lines
468 B
Go
package cli
|
|
|
|
import (
|
|
"bytes"
|
|
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
"k8s.io/apimachinery/pkg/runtime/serializer/json"
|
|
)
|
|
|
|
func GenerateYAML(obj runtime.Object) (string, error) {
|
|
serializer := json.NewSerializerWithOptions(
|
|
json.DefaultMetaFactory, nil, nil,
|
|
json.SerializerOptions{
|
|
Yaml: true,
|
|
Pretty: true,
|
|
Strict: true,
|
|
},
|
|
)
|
|
|
|
b := new(bytes.Buffer)
|
|
err := serializer.Encode(obj, b)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return b.String(), nil
|
|
}
|