mirror of https://github.com/pulumi/pulumi.git
34 lines
923 B
TypeScript
34 lines
923 B
TypeScript
// Copyright 2016-2018, Pulumi Corporation. All rights reserved.
|
|
|
|
import * as pulumi from "@pulumi/pulumi";
|
|
|
|
let currentID = 0;
|
|
|
|
export class Provider implements pulumi.dynamic.ResourceProvider {
|
|
public static readonly instance = new Provider();
|
|
|
|
public readonly create: (inputs: any) => Promise<pulumi.dynamic.CreateResult>;
|
|
|
|
constructor() {
|
|
this.create = async (inputs: any) => {
|
|
return {
|
|
id: (currentID++).toString(),
|
|
outs: undefined,
|
|
};
|
|
};
|
|
}
|
|
}
|
|
|
|
export class Resource extends pulumi.dynamic.Resource {
|
|
public readonly state?: any;
|
|
|
|
constructor(name: string, props: ResourceProps, opts?: pulumi.ResourceOptions) {
|
|
super(Provider.instance, name, props, opts);
|
|
this.state = props.state;
|
|
}
|
|
}
|
|
|
|
export interface ResourceProps {
|
|
state?: any; // arbitrary state bag that can be updated without replacing.
|
|
}
|