Implement provider meta schema everywher on the client.

We returned the ProviderMeta schema from the client on every protocol
request, but missed it on ReadResource for some reason. This rectifies
that.
paddy_module_attribution_tmp
Paddy Carver 7 years ago
parent 93ab2881b7
commit 087ed3ec2f

@ -331,6 +331,7 @@ func (p *GRPCProvider) ReadResource(r providers.ReadResourceRequest) (resp provi
log.Printf("[TRACE] GRPCProvider: ReadResource")
resSchema := p.getResourceSchema(r.TypeName)
metaSchema := p.getProviderMetaSchema()
mp, err := msgpack.Marshal(r.PriorState, resSchema.Block.ImpliedType())
if err != nil {
@ -344,6 +345,15 @@ func (p *GRPCProvider) ReadResource(r providers.ReadResourceRequest) (resp provi
Private: r.Private,
}
if metaSchema.Block != nil {
metaMP, err := msgpack.Marshal(r.ProviderMeta, metaSchema.Block.ImpliedType())
if err != nil {
resp.Diagnostics = resp.Diagnostics.Append(err)
return resp
}
protoReq.ProviderMeta = &proto.DynamicValue{Msgpack: metaMP}
}
protoResp, err := p.client.ReadResource(p.ctx, protoReq)
if err != nil {
resp.Diagnostics = resp.Diagnostics.Append(err)

Loading…
Cancel
Save