// Copyright 2016-2021, Pulumi Corporation. All rights reserved. import * as pulumi from "@pulumi/pulumi"; class Provider extends pulumi.ProviderResource { public readonly message!: pulumi.Output<string>; constructor(name: string, message: string, opts?: pulumi.ResourceOptions) { super("testcomponent", name, { message }, opts); } } class Component extends pulumi.ComponentResource { public readonly message!: pulumi.Output<string>; constructor(name: string, opts?: pulumi.ComponentResourceOptions) { const inputs = { message: undefined /*out*/, }; super("testcomponent:index:Component", name, inputs, opts, true); } } const component = new Component("mycomponent", { providers: { "testcomponent": new Provider("myprovider", "hello world"), }, }); export const message = component.message;