Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[sdk/nodejs] Fix regression when passing a provider to a MLC
#11093 changed the Node.js SDK to pass a provider specified in a MLC's `ResourceOptions.provider` to the engine. Unfortunately, this regresses behavior that existing programs rely on. For example: ```ts import * as aws from "@pulumi/aws"; import * as awsx from "@pulumi/awsx"; const myRegion = new aws.Provider("us-east-1", { region: "us-east-1", }); const vpc = new awsx.ec2.Vpc("awsx-nodejs-default-args", {}, { provider: myRegion }); ``` In the above program, an explicit _aws_ provider is being passed to the _awsx_ `VPC` component, with the intention that the _aws_ provider will be used as the provider for all of `Vpc`'s children. With the change in #11093, the engine would try to call `Construct` for the `Vpc` using the specified `aws` provider, which does not work (it fails with `plugins that can construct components must support secrets`). This change reverts the change from #11093 that included the `provider` in the `RegisterResourceRequest` for MLCs, and adds a regression test to lock-in the previous behavior. Note: We do want to be able to support specifying a MLC's provider (to allow explicit providers for MLCs), but we'll address that in a separate change.
- Loading branch information