pulumi/sdk/go
bors[bot] 954ef04f64
Merge #10991
10991: sdk/go: Implement array contravariance in As*ArrayOutput types r=AaronFriel a=AaronFriel

Expands on the As*ArrayOutput methods added in #10085 to permit contravariance. These methods are modified to inspect the type of the argument, if it is an `[]interface{}` and therefore would panic on casting to `[]T`, we try casting the elements of the array item-by-item.

The `generate.go` file is moved to a subdirectory and `//go:build ignore` directives removed as they seemed to interfere with my editor's code completion. 

Resolves #10977.


Co-authored-by: Aaron Friel <mayreply@aaronfriel.com>
2022-10-12 01:25:55 +00:00
..
auto ci: Build binary with .exe extension on Windows 2022-09-21 17:55:00 -07:00
common feat(engine): Adds structured alias support to the engine 2022-10-11 17:56:32 -04:00
pulumi Merge #10991 2022-10-12 01:25:55 +00:00
pulumi-language-go fix: Best effort support for Go versions below 1.18 2022-09-27 10:43:41 -07:00
Makefile ci: Enable testing of language version sets 2022-09-21 09:48:38 -07: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.