pulumi/sdk/go
Ian Wahbe c299365ac6 Allow encrypting the `id` property for a resource
We already handled id correctly when it was an output. We just didn't
handle it correctly for the special ID field in a serialized resource.

When we serialize a resource, we now check if `"id"` is a secret output.
If so, we set `coreapi.ResourceV3.ID` to `resource.SecretSig`. We
reverse this process when deserializing.

This solution is sound as long as
- `stack.SerializeResource` is the only place where resources are
serialized.
- `stack.DeserializeResource` is the only place where resources are
deserialized.
- We can assume that `resource.SecretSig` is not used as an ID.
2022-02-08 16:29:10 +01:00
..
auto Fix new lint errors (#8831) 2022-01-25 20:23:00 +01:00
common Allow encrypting the `id` property for a resource 2022-02-08 16:29:10 +01:00
pulumi Normalize providers merge (#8882) 2022-02-08 15:35:36 +01:00
pulumi-language-go Use `pulumi-plugin.json` rather than `pulumiplugin.json` (#8593) 2021-12-15 10:41:44 -08:00
Makefile Normalize providers merge (#8882) 2022-02-08 15:35:36 +01: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.