pulumi/sdk
Ian Wahbe 33f9c7a1ea
Allow disabling default providers (#8829)
* Allow disabling default providers

This is done with an opt-in setting in `pulumi config`. For example, to
disable default providers for `aws`, use:

```sh
pulumi config set --path pulumi:disable-default-providers[0] aws
```

To add `kubernetes` to the disabled list, use
```sh
pulumi config set --path pulumi:disable-default-providers[1] kubernetes
```

To disable all default providers, `*` can be used.

---

Under the hood, whenever we handle a default provider request (with
`defaultProviders.handleRequest`), we make sure it isn't on the deny
list. If it is, we replace the requested reference with a special
`DenyDefaultProvider` reference. We check for this reference whenever we
are about to get a provider to do actual work. By intercepting denied
providers when references are created, we ensure that we never use a
denied provider.

* Update CHANGELOG_PENDING.md

* Fix lints

The lint errors appear to be unrelated to the original PR. Fixing them
unblocks the CI.

* Add engine tests

* Fix nits

* Clarify function
2022-01-26 18:08:36 +01:00
..
dotnet Fix new lint errors (#8831) 2022-01-25 20:23:00 +01:00
go Allow disabling default providers (#8829) 2022-01-26 18:08:36 +01:00
nodejs [sdk/nodejs] Make provider and providers behavior consistent (#8819) 2022-01-25 20:11:41 +01:00
proto Make resource autonames determinstic (#8631) 2022-01-20 11:18:54 +00:00
python Improve Python SDK types (#8818) 2022-01-25 17:45:55 -08:00
README.md Updating .NET references 2020-04-27 12:42:11 -07:00
go.mod Ensure tests/go.sum has been updated (#8835) 2022-01-26 13:45:18 +02:00
go.sum Ensure tests/go.sum has been updated (#8835) 2022-01-26 13:45:18 +02:00

README.md

Pulumi Language SDKs

This directory contains the Pulumi SDKs for all supported languages.

Please see the respective READMEs for information about installing and using these libraries:

The language providers work by implementing gRPC interfaces defined in proto/.