mirror of https://github.com/pulumi/pulumi.git
40 lines
1.1 KiB
TypeScript
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);
|