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 }