pulumi/pkg/resource/deploy/providers
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
..
doc.go Document Go packages (#6009) 2021-01-11 11:07:59 -07:00
provider.go Pipe serverURL through register resource (#8544) 2021-12-17 14:52:01 -08:00
provider_test.go [sdk/common] allow names with hyphens (#8695) 2022-01-21 16:02:33 +02:00
reference.go Allow disabling default providers (#8829) 2022-01-26 18:08:36 +01:00
reference_test.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
registry.go Make resource autonames determinstic (#8631) 2022-01-20 11:18:54 +00:00
registry_test.go Make resource autonames determinstic (#8631) 2022-01-20 11:18:54 +00:00