Skip to content
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

Reimplement Output for Go. #3496

Merged
merged 5 commits into from
Nov 12, 2019
Merged

Reimplement Output for Go. #3496

merged 5 commits into from
Nov 12, 2019

Conversation

pgavlin
Copy link
Member

@pgavlin pgavlin commented Nov 12, 2019

  • Use a mutex + condition variable instead of a channel for
    synchronizaiton in order to allow multiple calls to resolve/reject
  • Properly handle outputs that are resolved to other outputs, especially
    if those outputs are not of exactly type *Output
  • Remove the Value() methods that allowed prompt access to output values
  • Add variants of Apply that take a context parameter
  • Ensure that resource outputs properly incorporate their resource as
    a dependency

Contributes to #3492.

- Use a mutex + condition variable instead of a channel for
  synchronizaiton in order to allow multiple calls to resolve/reject
- Properly handle outputs that are resolved to other outputs, especially
  if those outputs are not of exactly type *Output
- Remove the Value() methods that allowed prompt access to output values
- Add variants of `Apply` that take a context parameter
- Ensure that resource outputs properly incorporate their resource as
  a dependency
Uninitialized outputs will be treated as resolved and unknown. This
makes conversions between output types more ergonomic.
@EvanBoyle
Copy link
Contributor

LGTM

@pgavlin pgavlin merged commit a7f61a5 into master Nov 12, 2019
@pulumi-bot pulumi-bot deleted the pgavlin/goOutput branch November 12, 2019 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants