-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for deserializing output values #298
Conversation
This change adds support for deserializing output values for transforms. This is necessary as the engine will send output values to transforms, so we need to handle deserializing them before calling the transform and then properly serializing them when returning the results.
58034da
to
7993cd8
Compare
Depends on pulumi/pulumi-dotnet#298
// The data from the engine will include output values, which will be deserialized | ||
// into instances of `Output<T>`, which will track whether the value is known, | ||
// is secret, and dependencies. We can ignore those values on outputData. | ||
props.Add(kv.Key, outputData.Value); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't this still need to check the OutputData for known/secretness? Doesn't look like Deserialise is returning Output for those, just for actual output wire objects.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so. Shouldn't everything be coming across from the engine to transforms as output values? In which case, those will already have the known/secretness/dependency tracking.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For transforms yes, but isn't this used for other deserialisation for invokes/resources?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah no ignore me, this is specific to transforms. Should be fine then.
This PR has been shipped in release v3.65.0. |
This change adds support for deserializing output values and ensures they work for transforms. This is necessary as the engine will send output values to transforms, so we need to handle deserializing them before calling the transform and then properly serializing them when returning the results.
Fixes #297