-
Notifications
You must be signed in to change notification settings - Fork 43
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
Refined ProposedNew #703
Refined ProposedNew #703
Conversation
Diff for pulumi-random with merge commit 1615e2e |
Diff for pulumi-azuread with merge commit 1615e2e |
Diff for pulumi-gcp with merge commit 1615e2e |
Diff for pulumi-azure with merge commit 1615e2e |
Diff for pulumi-aws with merge commit 1615e2e |
644c5a1
to
c49f556
Compare
Diff for pulumi-random with merge commit 1938ae7 |
Diff for pulumi-azuread with merge commit 1938ae7 |
Diff for pulumi-gcp with merge commit 1938ae7 |
Diff for pulumi-azure with merge commit 1938ae7 |
Diff for pulumi-aws with merge commit 1938ae7 |
Diff for pulumi-azuread with merge commit 586be32 |
Diff for pulumi-random with merge commit 586be32 |
Diff for pulumi-azure with merge commit 586be32 |
Diff for pulumi-aws with merge commit 586be32 |
When testing the TLS provider, the bridge failed to create resources that are both Computed and Optional at the same time. There was a bit of a rabbit hole with the ProposedNew calculation, the PR updates links to the likely reference source in TF. Unfortunately there's a bit of complexity there about merging priorStateValue and configValue in the Computed+Optional case, merging is recursive.
What I ended up going with is porting test cases from a likely reference TF implementation (cross-linked) and refining the current implementation to pass the test cases. There's still possibility that the implementations diverge in corner cases not covered by the test suite, but this should be good enough for many cases - hitting diminishing returns. If we have more bug reports stating discrepancy might be worth to rewrite the ProposedNew again but as a direct port of the reference code (structurally matching).