package policy import ( "encoding/json" kyvernov1 "github.com/kyverno/kyverno/api/kyverno/v1" "sigs.k8s.io/yaml" ) // ToJson marshals a policy into corresponding json bytes. func ToJson(policy kyvernov1.PolicyInterface) ([]byte, error) { return json.Marshal(policy) } // ToYaml marshals a policy into corresponding yaml bytes. // If firsts converts the policy to json because some internal structures have // custom json marshalling functions, then it converts json to yaml. func ToYaml(policy kyvernov1.PolicyInterface) ([]byte, error) { jsonBytes, err := ToJson(policy) if err != nil { return nil, err } return yaml.JSONToYAML(jsonBytes) }