1530fe52f7
The shim layer for the legacy SDK type system is not precise enough to guarantee it will produce identical results between plan and apply. In particular, values that are null during plan will often become zero-valued during apply. To avoid breaking those existing providers while still allowing us to introduce this check in the future, we'll introduce a rather-hacky new flag that allows the legacy SDK to signal that it is the legacy SDK and thus disable the check. Once we start phasing out the legacy SDK in favor of one that natively understands our new type system, we can stop setting this flag and thus get the additional safety of this check without breaking any previously-released providers. No other SDK is permitted to set this flag, and we will remove it if we ever introduce protocol version 6 in future, assuming that any provider supporting that protocol will always produce consistent results. |
||
---|---|---|
.. | ||
convert | ||
discovery | ||
mock_proto | ||
client.go | ||
grpc_provider.go | ||
grpc_provider_test.go | ||
grpc_provisioner.go | ||
grpc_provisioner_test.go | ||
plugin.go | ||
plugin_test.go | ||
resource_provider.go | ||
resource_provider_test.go | ||
resource_provisioner.go | ||
resource_provisioner_test.go | ||
serve.go | ||
ui_input.go | ||
ui_input_test.go | ||
ui_output.go | ||
ui_output_test.go |