42 lines
847 B
Go
42 lines
847 B
Go
package tfdiags
|
|
|
|
import (
|
|
"encoding/gob"
|
|
)
|
|
|
|
type rpcFriendlyDiag struct {
|
|
Severity_ Severity
|
|
Summary_ string
|
|
Detail_ string
|
|
}
|
|
|
|
// rpcFriendlyDiag transforms a given diagnostic so that is more friendly to
|
|
// RPC.
|
|
//
|
|
// In particular, it currently returns an object that can be serialized and
|
|
// later re-inflated using gob. This definition may grow to include other
|
|
// serializations later.
|
|
func makeRPCFriendlyDiag(diag Diagnostic) Diagnostic {
|
|
desc := diag.Description()
|
|
return &rpcFriendlyDiag{
|
|
Severity_: diag.Severity(),
|
|
Summary_: desc.Summary,
|
|
Detail_: desc.Detail,
|
|
}
|
|
}
|
|
|
|
func (d *rpcFriendlyDiag) Severity() Severity {
|
|
return d.Severity_
|
|
}
|
|
|
|
func (d *rpcFriendlyDiag) Description() Description {
|
|
return Description{
|
|
Summary: d.Summary_,
|
|
Detail: d.Detail_,
|
|
}
|
|
}
|
|
|
|
func init() {
|
|
gob.Register((*rpcFriendlyDiag)(nil))
|
|
}
|