pulumi/tests/integration/explicit_provider/index.ts

40 lines
1.1 KiB
TypeScript

// Copyright 2016-2018, Pulumi Corporation. All rights reserved.
import * as pulumi from "@pulumi/pulumi";
class DynamicProvider extends pulumi.ProviderResource {
constructor(name: string, opts?: pulumi.ResourceOptions) {
super("pulumi-nodejs", name, {}, opts);
}
}
class Provider implements pulumi.dynamic.ResourceProvider {
public static instance = new Provider();
public create: (inputs: any) => Promise<pulumi.dynamic.CreateResult>;
constructor() {
this.create = async (inputs: any) => {
return {
id: "0",
outs: undefined,
};
};
}
}
class Resource extends pulumi.dynamic.Resource {
constructor(name: string, provider?: pulumi.ProviderResource) {
super(Provider.instance, name, {}, { provider: provider});
}
}
// Create a resource using the default dynamic provider instance.
let a = new Resource("a");
// Create an explicit instance of the dynamic provider.
let p = new DynamicProvider("p");
// Create a resource using the explicit dynamic provider instance.
let b = new Resource("b", p);