mirror of https://github.com/pulumi/pulumi.git
87b525f040
When traversing a value in `awaitInputs`, terminate early if the value is a `Resource`. Furthermore, do not include these values in the set of dependencies for the result of the corresponding call to `ToOutput` for consistency with other SDKs. Note that the logic for `awaitInputs` is a bit arcane. With these changes, it roughly boils down to: 1. If the value to await is an Input: a. If the value is `nil`, do nothing. The value is already fully-resolved. b. Otherwise, convert the Input to an appropriately-typed Output by calling the corresponding `ToOutput` method. The desired type is determined based on the type of the destination, and the conversion method is determined from the name of the desired type. If no conversion method is available, we will attempt to assign the Input itself, and will panic if that assignment is not well-typed. c. Replace the value to await with the resolved value of the input. 2. Depending on the kind of the value: a. If the value is a Resource, stop. This is the condition added by this PR. b. If the value is a primitive, stop. c. If the value is a slice, array, struct, or map, recur on its contents. Fixes #9008. Co-authored-by: Pat Gavlin <pat@pulumi.com> |
||
---|---|---|
.. | ||
auto | ||
common | ||
pulumi | ||
pulumi-language-go | ||
Makefile | ||
README.md |
README.md
Pulumi Golang SDK
This directory contains support for writing Pulumi programs in the Go language. There are two aspects to this:
pulumi/
contains the client language bindings Pulumi program's code directly against;pulumi-language-go/
contains the language host plugin that the Pulumi engine uses to orchestrate updates.
To author a Pulumi program in Go, simply say so in your Pulumi.yaml
name: <my-project>
runtime: go
and ensure you have pulumi-language-go
on your path (it is distributed in the Pulumi download automatically).
By default, the language plugin will use your project's name, <my-project>
, as the executable that it loads. This too
must be on your path for the language provider to load it when you run pulumi preview
or pulumi up
.