terraform-provider-google/vendor/github.com/hashicorp/terraform/tfdiags/rpc_friendly.go
Nathan McKinley e55e6a403f
Revert "Update hashicorp/terraform to 0.12-alpha4. (#2744)" (#2752)
This reverts commit b89618ccaa, containing
0.12-alpha4, which is broken.  Sets don't seem to work, and neither do
many resources.
2018-12-26 13:43:19 -08:00

54 lines
1.1 KiB
Go

package tfdiags
import (
"encoding/gob"
)
type rpcFriendlyDiag struct {
Severity_ Severity
Summary_ string
Detail_ string
Subject_ *SourceRange
Context_ *SourceRange
}
// 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()
source := diag.Source()
return &rpcFriendlyDiag{
Severity_: diag.Severity(),
Summary_: desc.Summary,
Detail_: desc.Detail,
Subject_: source.Subject,
Context_: source.Context,
}
}
func (d *rpcFriendlyDiag) Severity() Severity {
return d.Severity_
}
func (d *rpcFriendlyDiag) Description() Description {
return Description{
Summary: d.Summary_,
Detail: d.Detail_,
}
}
func (d *rpcFriendlyDiag) Source() Source {
return Source{
Subject: d.Subject_,
Context: d.Context_,
}
}
func init() {
gob.Register((*rpcFriendlyDiag)(nil))
}