pulumi/sdk/go
Justin Van Patten dad7f2c2f0
Config: Avoid emitting integers in objects using exponential notation (#7005)
Config values that are objects are represented in memory as JSON strings. When a config map is being saved to a file, object values are first unmarshaled from JSON to `interface{}` and then the entire config map is marshaled to YAML (or JSON) and saved to disk. When an object value is unmarshaled from JSON, any numbers in the JSON string were being implicitly unmarshaled as `float64`, which resulted in some numbers in the nested objects being emitted in YAML using exponential notation (e.g. a number `12321123131` in an object value was being saved in the YAML as `1.2321123131e+10`). To address this, when unmarshaling the JSON for an object value, first try to unmarshal any numbers as `int64`, falling back to `float64`.
2021-05-10 10:00:23 -07:00
..
auto [kind/bug] [automation/go]: Look in workspace options for version optout (#6938) 2021-04-30 09:41:31 -07:00
common Config: Avoid emitting integers in objects using exponential notation (#7005) 2021-05-10 10:00:23 -07:00
pulumi [sdk/go] Support prompt values in Construct (#6790) 2021-04-18 09:18:25 -07:00
pulumi-language-go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
Makefile [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
README.md pulumi update => pulumi up (#2702) 2019-05-06 14:00:18 -07:00

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.