in pkg/gcv/result.go [121:140]
func (r *Result) ToViolations() ([]*validator.Violation, error) {
auxMetadata := map[string]interface{}{}
ancestryPath, found, err := unstructured.NestedString(r.InputResource, ancestryPathKey)
if err != nil {
return nil, errors.Wrapf(err, "error getting ancestry path from %v", r.InputResource)
}
if found {
auxMetadata[ancestryPathKey] = ancestryPath
}
var violations []*validator.Violation
for _, rv := range r.ConstraintViolations {
violation, err := rv.toViolation(r.Name, auxMetadata)
if err != nil {
return nil, errors.Wrapf(err, "failed to convert result")
}
violations = append(violations, violation)
}
return violations, nil
}