github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/plain-object-defaults/go/example/provider.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 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 11 ) 12 13 // The provider type for the kubernetes package. 14 type Provider struct { 15 pulumi.ProviderResourceState 16 } 17 18 // NewProvider registers a new resource with the given unique name, arguments, and options. 19 func NewProvider(ctx *pulumi.Context, 20 name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error) { 21 if args == nil { 22 args = &ProviderArgs{} 23 } 24 25 if args.HelmReleaseSettings != nil { 26 args.HelmReleaseSettings = args.HelmReleaseSettings.ToHelmReleaseSettingsPtrOutput().ApplyT(func(v *HelmReleaseSettings) *HelmReleaseSettings { return v.Defaults() }).(HelmReleaseSettingsPtrOutput) 27 } 28 var resource Provider 29 err := ctx.RegisterResource("pulumi:providers:example", name, args, &resource, opts...) 30 if err != nil { 31 return nil, err 32 } 33 return &resource, nil 34 } 35 36 type providerArgs struct { 37 // BETA FEATURE - Options to configure the Helm Release resource. 38 HelmReleaseSettings *HelmReleaseSettings `pulumi:"helmReleaseSettings"` 39 } 40 41 // The set of arguments for constructing a Provider resource. 42 type ProviderArgs struct { 43 // BETA FEATURE - Options to configure the Helm Release resource. 44 HelmReleaseSettings HelmReleaseSettingsPtrInput 45 } 46 47 func (ProviderArgs) ElementType() reflect.Type { 48 return reflect.TypeOf((*providerArgs)(nil)).Elem() 49 } 50 51 type ProviderInput interface { 52 pulumi.Input 53 54 ToProviderOutput() ProviderOutput 55 ToProviderOutputWithContext(ctx context.Context) ProviderOutput 56 } 57 58 func (*Provider) ElementType() reflect.Type { 59 return reflect.TypeOf((**Provider)(nil)).Elem() 60 } 61 62 func (i *Provider) ToProviderOutput() ProviderOutput { 63 return i.ToProviderOutputWithContext(context.Background()) 64 } 65 66 func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { 67 return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput) 68 } 69 70 type ProviderOutput struct{ *pulumi.OutputState } 71 72 func (ProviderOutput) ElementType() reflect.Type { 73 return reflect.TypeOf((**Provider)(nil)).Elem() 74 } 75 76 func (o ProviderOutput) ToProviderOutput() ProviderOutput { 77 return o 78 } 79 80 func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput { 81 return o 82 } 83 84 func init() { 85 pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{}) 86 pulumi.RegisterOutputType(ProviderOutput{}) 87 }