github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/external-resource-schema/go/example/init.go (about)

     1  // Code generated by test DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package example
     5  
     6  import (
     7  	"fmt"
     8  
     9  	"github.com/blang/semver"
    10  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    11  )
    12  
    13  type module struct {
    14  	version semver.Version
    15  }
    16  
    17  func (m *module) Version() semver.Version {
    18  	return m.version
    19  }
    20  
    21  func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) {
    22  	switch typ {
    23  	case "example::Cat":
    24  		r = &Cat{}
    25  	case "example::Component":
    26  		r = &Component{}
    27  	case "example::Workload":
    28  		r = &Workload{}
    29  	default:
    30  		return nil, fmt.Errorf("unknown resource type: %s", typ)
    31  	}
    32  
    33  	err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
    34  	return
    35  }
    36  
    37  type pkg struct {
    38  	version semver.Version
    39  }
    40  
    41  func (p *pkg) Version() semver.Version {
    42  	return p.version
    43  }
    44  
    45  func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pulumi.ProviderResource, error) {
    46  	if typ != "pulumi:providers:example" {
    47  		return nil, fmt.Errorf("unknown provider type: %s", typ)
    48  	}
    49  
    50  	r := &Provider{}
    51  	err := ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
    52  	return r, err
    53  }
    54  
    55  func init() {
    56  	version, _ := PkgVersion()
    57  	pulumi.RegisterResourceModule(
    58  		"example",
    59  		"",
    60  		&module{version},
    61  	)
    62  	pulumi.RegisterResourcePackage(
    63  		"example",
    64  		&pkg{version},
    65  	)
    66  }