pulumi/sdk/go
Fraser Waters 59fcba1b7b
Support parameterized packages in `pulumi import`
The `pulumi import` command allows users to import existing provider
resources into a Pulumi stack, accepting the type of resource to import,
a name for the resource that will be created in the stack, and some "ID"
that identifies the existing resource in the provider. Historically, the
type has been sufficient to infer which provider offers the resource,
since package names were in a one-to-one correspondence with plugin
names. Now that we support parameterized providers, however, this is no
longer the case -- we might wish to import a `random:index/id:Id`, but
where the `random` package is a dynamically-bridged instance of the
Terraform `random` provider produced by the `terraform-provider` plugin.

This change makes `import` aware of parameterizations by letting it deal
with fully-specified package descriptors, as opposed to just plugin
specifications. In doing so, `import` can now support importing
parameterized resources. That said, it still does not support code
generation for such imports (that is, `--generate-code` must be set to
`false`) -- this will come in a later change.

Part of #17507
2025-01-08 11:19:35 +00:00
..
auto Unflake TestRunCanceled (#18178) 2025-01-07 08:54:39 +00:00
common Support parameterized packages in `pulumi import` 2025-01-08 11:19:35 +00:00
internal Add OutputWithDependencies (#17856) 2024-11-26 09:53:24 +00:00
property Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +00:00
pulumi Avoid calling invokes with dependencies on unknown resources (#18133) 2025-01-06 08:46:33 +00:00
pulumi-internal/netutil try to choose a consistent port for debugging (#17271) 2024-09-18 10:06:17 +00:00
pulumi-language-go Add a conformance test for component-hydrated resource references (#18153) 2025-01-06 13:40:53 +00:00
pulumix Enable goheader rule and add missing license headers (#15473) 2024-09-09 12:05:45 +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.