Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[sdk/nodejs] Fix regression when passing a provider to a MLC #11509

Merged
merged 1 commit into from Dec 2, 2022

Commits on Dec 2, 2022

  1. [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.
    justinvp committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    8259c2b View commit details
    Browse the repository at this point in the history