rhythmic-hair-33677
12/23/2019, 10:33 PMwhite-balloon-205
plugin.UnmarshalProperties
(and plugin.MarshalProperties
if you need to pass data back) to interpret the data on the RPC interface if you are implementing in Go. That includes much of the core interpretation of the wire format of the Pulumi Object Model - including some of the serialization/deserialization of things like secrets, assets, unknowns, etc. All existing providers use this as the first step in interpreting the values of properties structs from the RPC layer.
https://github.com/pulumi/pulumi/blob/HEAD/pkg/resource/plugin/rpc.go#L203:6
An example of where this gets used for tf-bridged providers: https://github.com/pulumi/pulumi-terraform-bridge/blob/master/pkg/tfbridge/schema.go#L748rhythmic-hair-33677
12/24/2019, 1:33 AMplugin.UnmarshalProperties
but found it rather difficult especially with nested structures because it returns an untyped map instead.white-balloon-205