mirror of https://github.com/pulumi/pulumi.git
f14cec0776
This adds the first pass of parameterized providers to Go. This only supports resources, need to expand tests to cover invokes and calls later. The method of implementation _might_ be seen as controversial, with all new methods to do the registrations. An alternative would have been to make PackageRef a `Resource/InvokeOption`, but that's inconsistent with how we added it in the other languages, and further the engine won't send it as a ResourceOption to transforms. So I think this implementation is probably the preferred way, but while doing this we might want to just do a `RegisterResourceV2` with `struct` args instead of positional so if even more arguments need adding in the future we have a non-breaking way to add them. |
||
---|---|---|
.. | ||
auto | ||
common | ||
internal | ||
property | ||
pulumi | ||
pulumi-language-go | ||
pulumix | ||
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
.