pulumi/tests/integration/dynamic
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
..
nodejs-error-create Add test to show errors in dynamic NodeJS providers work 2023-03-29 11:21:51 +01:00
nodejs-pulumi-config Support `pulumi.Config` in dynamic providers 2024-09-10 17:21:20 +01:00
nodejs-reserved-identifier-shadowing Support serialising reserved NodeJS identifiers (#15879) 2024-04-10 15:12:43 +00:00
nodejs-resource-type-name [sdk/nodejs] - Add support for custom naming of dynamic provider resource. 2023-01-17 18:57:58 +01:00
python Add requirements.txt to all test projects 2019-08-23 15:02:58 -07:00
python-disable-serialization-as-secret Allow Python dynamic providers to capture secrets (#15864) 2024-08-02 23:51:52 +00:00
python-resource-type-name Added support for custom naming of dynamic provider resource (#7633) 2021-08-17 14:15:53 -07:00
python-secrets Allow Python dynamic providers to capture secrets (#15864) 2024-08-02 23:51:52 +00:00