github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/plain-object-defaults/go/example/funcWithAllOptionalInputs.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  // Check codegen of functions with all optional inputs.
    14  func FuncWithAllOptionalInputs(ctx *pulumi.Context, args *FuncWithAllOptionalInputsArgs, opts ...pulumi.InvokeOption) (*FuncWithAllOptionalInputsResult, error) {
    15  	var rv FuncWithAllOptionalInputsResult
    16  	err := ctx.Invoke("example::funcWithAllOptionalInputs", args.Defaults(), &rv, opts...)
    17  	if err != nil {
    18  		return nil, err
    19  	}
    20  	return &rv, nil
    21  }
    22  
    23  type FuncWithAllOptionalInputsArgs struct {
    24  	// Property A
    25  	A *HelmReleaseSettings `pulumi:"a"`
    26  	// Property B
    27  	B *string `pulumi:"b"`
    28  }
    29  
    30  // Defaults sets the appropriate defaults for FuncWithAllOptionalInputsArgs
    31  func (val *FuncWithAllOptionalInputsArgs) Defaults() *FuncWithAllOptionalInputsArgs {
    32  	if val == nil {
    33  		return nil
    34  	}
    35  	tmp := *val
    36  	tmp.A = tmp.A.Defaults()
    37  
    38  	if isZero(tmp.B) {
    39  		b_ := "defValue"
    40  		tmp.B = &b_
    41  	}
    42  	return &tmp
    43  }
    44  
    45  type FuncWithAllOptionalInputsResult struct {
    46  	R string `pulumi:"r"`
    47  }
    48  
    49  func FuncWithAllOptionalInputsOutput(ctx *pulumi.Context, args FuncWithAllOptionalInputsOutputArgs, opts ...pulumi.InvokeOption) FuncWithAllOptionalInputsResultOutput {
    50  	return pulumi.ToOutputWithContext(context.Background(), args).
    51  		ApplyT(func(v interface{}) (FuncWithAllOptionalInputsResult, error) {
    52  			args := v.(FuncWithAllOptionalInputsArgs)
    53  			r, err := FuncWithAllOptionalInputs(ctx, &args, opts...)
    54  			var s FuncWithAllOptionalInputsResult
    55  			if r != nil {
    56  				s = *r
    57  			}
    58  			return s, err
    59  		}).(FuncWithAllOptionalInputsResultOutput)
    60  }
    61  
    62  type FuncWithAllOptionalInputsOutputArgs struct {
    63  	// Property A
    64  	A HelmReleaseSettingsPtrInput `pulumi:"a"`
    65  	// Property B
    66  	B pulumi.StringPtrInput `pulumi:"b"`
    67  }
    68  
    69  func (FuncWithAllOptionalInputsOutputArgs) ElementType() reflect.Type {
    70  	return reflect.TypeOf((*FuncWithAllOptionalInputsArgs)(nil)).Elem()
    71  }
    72  
    73  type FuncWithAllOptionalInputsResultOutput struct{ *pulumi.OutputState }
    74  
    75  func (FuncWithAllOptionalInputsResultOutput) ElementType() reflect.Type {
    76  	return reflect.TypeOf((*FuncWithAllOptionalInputsResult)(nil)).Elem()
    77  }
    78  
    79  func (o FuncWithAllOptionalInputsResultOutput) ToFuncWithAllOptionalInputsResultOutput() FuncWithAllOptionalInputsResultOutput {
    80  	return o
    81  }
    82  
    83  func (o FuncWithAllOptionalInputsResultOutput) ToFuncWithAllOptionalInputsResultOutputWithContext(ctx context.Context) FuncWithAllOptionalInputsResultOutput {
    84  	return o
    85  }
    86  
    87  func (o FuncWithAllOptionalInputsResultOutput) R() pulumi.StringOutput {
    88  	return o.ApplyT(func(v FuncWithAllOptionalInputsResult) string { return v.R }).(pulumi.StringOutput)
    89  }
    90  
    91  func init() {
    92  	pulumi.RegisterOutputType(FuncWithAllOptionalInputsResultOutput{})
    93  }