pulumi/sdk/nodejs/proto
Fraser Waters 841c99a9dd Send old inputs to diff and update
Fixes https://github.com/pulumi/pulumi/issues/5973

This adds two new properties to the RPC interfaces with providers.
Firstly we pass a new bool flag to Configure to tell the provider if it
will get sent old inputs as part of Diff.
Secondly we now pass the old inputs and the old outputs to Diff and
Update as opposed to just the old outputs.

The flag passed to Configure isn't strictly needed. Providers should be
able to tell that the old inputs aren't being sent to Diff and Updae by
virtue of them being `null/nil/None` rather than an empty map. For
DiffConfig this is the only way to detect this case because it's called
before Configure. But its still useful to send this explictly to
Configure to allow providers to return a configure error that they need
to be ran against a newer engine version.

There is one fairly major failure case that can happen with this feature
and providers who update to make use of this feature should ensure they
call this out in their changelog.
That is if a provider has been saving old inputs in outputs as a way to
get access to them in diff, and then updates to use these new protocol
properties instead and stops saving the inputs in outputs _and then_ the
user downgrades back to an old provider version things will probably get
_very_ confused.
2023-06-21 21:04:50 +01:00
..
codegen Allow mapping requests to install plugins 2023-05-29 14:53:04 +01:00
alias_grpc_pb.js feat(engine): Adds structured alias support to the engine 2022-10-11 17:56:32 -04:00
alias_pb.js feat(engine): Adds structured alias support to the engine 2022-10-11 17:56:32 -04:00
analyzer_grpc_pb.js Compile protobufs with "pulumi" namespace (#10074) 2022-07-12 14:45:03 +01:00
analyzer_pb.js feat(engine): Adds structured alias support to the engine 2022-10-11 17:56:32 -04:00
converter_grpc_pb.js Allow converter plugins to return diagnostics 2023-06-05 17:38:59 +01:00
converter_pb.js Allow converter plugins to return diagnostics 2023-06-05 17:38:59 +01:00
engine_grpc_pb.js Compile protobufs with "pulumi" namespace (#10074) 2022-07-12 14:45:03 +01:00
engine_pb.js Compile protobufs with "pulumi" namespace (#10074) 2022-07-12 14:45:03 +01:00
errors_grpc_pb.js Regenerate protocol buffers code 2020-02-28 11:53:47 +00:00
errors_pb.js Compile protobufs with "pulumi" namespace (#10074) 2022-07-12 14:45:03 +01:00
language_grpc_pb.js gRPC for GenerateProject/Program/Package 2023-05-06 13:14:59 +01:00
language_pb.js Make convert more lenient 2023-06-08 11:14:31 +01:00
plugin_grpc_pb.js Regenerate protocol buffers code 2020-02-28 11:53:47 +00:00
plugin_pb.js Compile protobufs with "pulumi" namespace (#10074) 2022-07-12 14:45:03 +01:00
provider_grpc_pb.js Phase 3 of the convert mapper 2022-12-01 23:43:43 +00:00
provider_pb.js Send old inputs to diff and update 2023-06-21 21:04:50 +01:00
resource_grpc_pb.js feat(engine): Adds structured alias support to the engine 2022-10-11 17:56:32 -04:00
resource_pb.js Maintain alias compat for older Node.js SDKs on new CLIs 2023-06-14 08:34:32 -07:00
status_grpc_pb.js Regenerate protocol buffers code 2020-02-28 11:53:47 +00:00
status_pb.js Compile protobufs with "pulumi" namespace (#10074) 2022-07-12 14:45:03 +01:00