51 lines
1.4 KiB
Go
51 lines
1.4 KiB
Go
package toproto
|
|
|
|
import (
|
|
"github.com/hashicorp/terraform-plugin-go/tfprotov6"
|
|
"github.com/hashicorp/terraform-plugin-go/tfprotov6/internal/tfplugin6"
|
|
)
|
|
|
|
func Diagnostic(in *tfprotov6.Diagnostic) (*tfplugin6.Diagnostic, error) {
|
|
diag := &tfplugin6.Diagnostic{
|
|
Severity: Diagnostic_Severity(in.Severity),
|
|
Summary: in.Summary,
|
|
Detail: in.Detail,
|
|
}
|
|
if in.Attribute != nil {
|
|
attr, err := AttributePath(in.Attribute)
|
|
if err != nil {
|
|
return diag, err
|
|
}
|
|
diag.Attribute = attr
|
|
}
|
|
return diag, nil
|
|
}
|
|
|
|
func Diagnostic_Severity(in tfprotov6.DiagnosticSeverity) tfplugin6.Diagnostic_Severity {
|
|
return tfplugin6.Diagnostic_Severity(in)
|
|
}
|
|
|
|
func Diagnostics(in []*tfprotov6.Diagnostic) ([]*tfplugin6.Diagnostic, error) {
|
|
diagnostics := make([]*tfplugin6.Diagnostic, 0, len(in))
|
|
for _, diag := range in {
|
|
if diag == nil {
|
|
diagnostics = append(diagnostics, nil)
|
|
continue
|
|
}
|
|
d, err := Diagnostic(diag)
|
|
if err != nil {
|
|
return diagnostics, err
|
|
}
|
|
diagnostics = append(diagnostics, d)
|
|
}
|
|
return diagnostics, nil
|
|
}
|
|
|
|
// we have to say this next thing to get golint to stop yelling at us about the
|
|
// underscores in the function names. We want the function names to match
|
|
// actually-generated code, so it feels like fair play. It's just a shame we
|
|
// lose golint for the entire file.
|
|
//
|
|
// This file is not actually generated. You can edit it. Ignore this next line.
|
|
// Code generated by hand ignore this next bit DO NOT EDIT.
|