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  }