pulumi/sdk/go
Thomas Gummerer 2f4b26b681
rewrite the URN when resources are being moved between projects (#16523)
When a resource is moved between stacks in different projects we also
need to rewrite project part of the URNs. Do that here. Moving between
different projects already works by virtue of the requireStack function
supporting that when providing the fully qualified name of the stack.

There is some awkwardness here as old diy backends may not return a
project name, in which case we error out here. Curious if anyone has
thought about what to do here. Is erroring out the best we can do? What
happens if we don't rewrite the project name in this case?

---------

Co-authored-by: Will Jones <will@sacharissa.co.uk>
2024-07-01 17:36:11 +00:00
..
auto Protect access to transport.UnsupportedCapabilities inside repo.FetchContext (#16517) 2024-06-28 23:17:26 +00:00
common rewrite the URN when resources are being moved between projects (#16523) 2024-07-01 17:36:11 +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 Keep package refs separate from providers (#16458) 2024-06-24 14:59:18 +00:00
pulumi-language-go Bump the go_modules group across 2 directories with 1 update (#16464) 2024-06-28 22:17:40 +00:00
pulumix Use EqualError/ErrorContains instead of Error (#14737) 2023-12-08 06:40:14 +00:00
Makefile make(sdk/go): Use -C instead of cd for 'go' commands (#13853) 2023-08-31 21:12:03 +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.