pulumi/sdk/go
Fraser Waters f14cec0776
Add parameterized providers to Go (#16738)
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.
2024-08-10 08:03:15 +00:00
..
auto [auto/go] Add support for `destroy --preview-only` (#16839) 2024-08-03 07:00:52 +00:00
common Add NodeJS test for parameterized providers #2 (#16901) 2024-08-09 08:34:29 +00:00
internal turn on the golangci-lint exhaustive linter (#15028) 2024-01-17 16:50:41 +00:00
property Property map keys are just strings (#15767) 2024-03-25 17:26:41 +00:00
pulumi Add parameterized providers to Go (#16738) 2024-08-10 08:03:15 +00:00
pulumi-language-go upgrade pulumi-yaml to 1.9.2 (#16925) 2024-08-09 15:09:23 +00:00
pulumix Use EqualError/ErrorContains instead of Error (#14737) 2023-12-08 06:40:14 +00:00
Makefile sdk/go: fix test_fast Makefile target (#16811) 2024-07-26 10:25:04 +00:00
README.md `pulumi update` => `pulumi up` (#2702) 2019-05-06 14:00:18 -07:00

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.