pulumi/CHANGELOG_PENDING.md
Justin Van Patten fbf62399ca
[sdk/go] Fix regression marshaling assets/archives (#8290)
This change fixes a regression marshaling assets/archives that was introduced after adding support for marshaling output values.

For example, when setting an `Asset` on a field typed as `AssetOrAchiveInput`, in `marshalInput`, the input was being converted into an `AssetOrArchiveOutput` via the `ToAssetOrArchiveOutputWithContext`. Awaiting the output returns an `*asset` struct, which is itself an `AssetInput`, which causes infinite recursion when passed recursively to `marshalInput`.

The fix is to skip the `Input` checks in recursive calls, which is equivalent to the previous behavior before the regression was introduced.

Another issue was that when the input is converted to an output, this would result in `marshalInput` always returning an output value, even if the original passed-in value was not an output. To address this, if the output's value is known, not a secret, and has no dependencies, we can return the value itself rather than wrapping it as an output.
2021-10-27 08:44:42 -07:00

1,010 B

Improvements

  • Clarify error message string in sdk/go/common/diag/errors.go #8284

  • [cli] Add --json flag to up, destroy and refresh.

    Passing the --json flag to up, destroy and refresh will stream JSON events from the engine to stdout. For preview, the existing functionality of outputting a JSON object at the end of preview is maintained. However, the streaming output can be extended to preview by using the PULUMI_ENABLE_STREAMING_JSON_PREVIEW environment variable.

    #8275

Bug Fixes

  • [codegen/go] - Interaction between the plain and default tags of a type. #8254

  • [sdk/dotnet] - Fix a race condition when detecting exceptions in stack creation #8294

  • [sdk/go] - Fix regression marshaling assets/archives. #8290