pulumi/tests/testprovider
Will Jones 1515db22f1 Support `pulumi.Config` in dynamic providers
As well as responding to `Configure` gRPC calls, a resource provider
binary can also accept configuration from the engine via the
`PULUMI_CONFIG` environment variable. Presently, the engine will only
send configuration namespaced to the provider in question, and will
strip namespaces when doing so. So, given an example host configuration
of:

```
config:
  aws:region: eu-west-1
  foo:bar: baz
```

an `aws` provider will be provided with
`PULUMI_CONFIG='{"region":"eu-west-1"}'`, whereas a `gcp` provider will
receive `PULUMI_CONFIG='{}'`, matching neither `aws:region` nor
`foo:bar`.

This is problematic for dynamic providers, since they are authored in
and typically considered part of the user's program, and not as a
separate entity. Consequently it is not unreasonable for a dynamic
provider author to expect to have access to the entirety of the Pulumi
configuration through e.g. `pulumi.Config`, just like any other code in
their program -- #17050 and #4512 are two examples.

This commit makes us live up to this expectation. Dynamic providers now
receive all configuration values, with the namespaces preserved so that
existing `pulumi.Config` code can work in a dynamic provider like it
works everywhere else.

Fixes #17050
2024-09-10 17:21:20 +01:00
..
.gitignore test: schema support for testprovider (#15829) 2024-04-12 20:38:49 +00:00
PulumiPlugin.yaml Engine and Golang support for shimless providers 2022-11-14 11:25:41 +00:00
component.go Test setting and changing providers on component resources via transforms (#16022) 2024-04-23 15:20:43 +00:00
echo.go Add NodeJS test for parameterized providers #2 (#16901) 2024-08-09 08:34:29 +00:00
fails_on_create.go Add NodeJS test for parameterized providers #2 (#16901) 2024-08-09 08:34:29 +00:00
fails_on_delete.go Add NodeJS test for parameterized providers #2 (#16901) 2024-08-09 08:34:29 +00:00
main.go Support `pulumi.Config` in dynamic providers 2024-09-10 17:21:20 +01:00
pulumi_config.go Support `pulumi.Config` in dynamic providers 2024-09-10 17:21:20 +01:00
random.go Add NodeJS test for parameterized providers #2 (#16901) 2024-08-09 08:34:29 +00:00