github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/regress-node-8110/go/my8110/pulumiEnums.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 my8110
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    11  )
    12  
    13  type MyEnum string
    14  
    15  const (
    16  	MyEnumOne = MyEnum("one")
    17  	MyEnumTwo = MyEnum("two")
    18  )
    19  
    20  func (MyEnum) ElementType() reflect.Type {
    21  	return reflect.TypeOf((*MyEnum)(nil)).Elem()
    22  }
    23  
    24  func (e MyEnum) ToMyEnumOutput() MyEnumOutput {
    25  	return pulumi.ToOutput(e).(MyEnumOutput)
    26  }
    27  
    28  func (e MyEnum) ToMyEnumOutputWithContext(ctx context.Context) MyEnumOutput {
    29  	return pulumi.ToOutputWithContext(ctx, e).(MyEnumOutput)
    30  }
    31  
    32  func (e MyEnum) ToMyEnumPtrOutput() MyEnumPtrOutput {
    33  	return e.ToMyEnumPtrOutputWithContext(context.Background())
    34  }
    35  
    36  func (e MyEnum) ToMyEnumPtrOutputWithContext(ctx context.Context) MyEnumPtrOutput {
    37  	return MyEnum(e).ToMyEnumOutputWithContext(ctx).ToMyEnumPtrOutputWithContext(ctx)
    38  }
    39  
    40  func (e MyEnum) ToStringOutput() pulumi.StringOutput {
    41  	return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput)
    42  }
    43  
    44  func (e MyEnum) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
    45  	return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput)
    46  }
    47  
    48  func (e MyEnum) ToStringPtrOutput() pulumi.StringPtrOutput {
    49  	return pulumi.String(e).ToStringPtrOutputWithContext(context.Background())
    50  }
    51  
    52  func (e MyEnum) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
    53  	return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx)
    54  }
    55  
    56  type MyEnumOutput struct{ *pulumi.OutputState }
    57  
    58  func (MyEnumOutput) ElementType() reflect.Type {
    59  	return reflect.TypeOf((*MyEnum)(nil)).Elem()
    60  }
    61  
    62  func (o MyEnumOutput) ToMyEnumOutput() MyEnumOutput {
    63  	return o
    64  }
    65  
    66  func (o MyEnumOutput) ToMyEnumOutputWithContext(ctx context.Context) MyEnumOutput {
    67  	return o
    68  }
    69  
    70  func (o MyEnumOutput) ToMyEnumPtrOutput() MyEnumPtrOutput {
    71  	return o.ToMyEnumPtrOutputWithContext(context.Background())
    72  }
    73  
    74  func (o MyEnumOutput) ToMyEnumPtrOutputWithContext(ctx context.Context) MyEnumPtrOutput {
    75  	return o.ApplyTWithContext(ctx, func(_ context.Context, v MyEnum) *MyEnum {
    76  		return &v
    77  	}).(MyEnumPtrOutput)
    78  }
    79  
    80  func (o MyEnumOutput) ToStringOutput() pulumi.StringOutput {
    81  	return o.ToStringOutputWithContext(context.Background())
    82  }
    83  
    84  func (o MyEnumOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput {
    85  	return o.ApplyTWithContext(ctx, func(_ context.Context, e MyEnum) string {
    86  		return string(e)
    87  	}).(pulumi.StringOutput)
    88  }
    89  
    90  func (o MyEnumOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
    91  	return o.ToStringPtrOutputWithContext(context.Background())
    92  }
    93  
    94  func (o MyEnumOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
    95  	return o.ApplyTWithContext(ctx, func(_ context.Context, e MyEnum) *string {
    96  		v := string(e)
    97  		return &v
    98  	}).(pulumi.StringPtrOutput)
    99  }
   100  
   101  type MyEnumPtrOutput struct{ *pulumi.OutputState }
   102  
   103  func (MyEnumPtrOutput) ElementType() reflect.Type {
   104  	return reflect.TypeOf((**MyEnum)(nil)).Elem()
   105  }
   106  
   107  func (o MyEnumPtrOutput) ToMyEnumPtrOutput() MyEnumPtrOutput {
   108  	return o
   109  }
   110  
   111  func (o MyEnumPtrOutput) ToMyEnumPtrOutputWithContext(ctx context.Context) MyEnumPtrOutput {
   112  	return o
   113  }
   114  
   115  func (o MyEnumPtrOutput) Elem() MyEnumOutput {
   116  	return o.ApplyT(func(v *MyEnum) MyEnum {
   117  		if v != nil {
   118  			return *v
   119  		}
   120  		var ret MyEnum
   121  		return ret
   122  	}).(MyEnumOutput)
   123  }
   124  
   125  func (o MyEnumPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput {
   126  	return o.ToStringPtrOutputWithContext(context.Background())
   127  }
   128  
   129  func (o MyEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput {
   130  	return o.ApplyTWithContext(ctx, func(_ context.Context, e *MyEnum) *string {
   131  		if e == nil {
   132  			return nil
   133  		}
   134  		v := string(*e)
   135  		return &v
   136  	}).(pulumi.StringPtrOutput)
   137  }
   138  
   139  // MyEnumInput is an input type that accepts MyEnumArgs and MyEnumOutput values.
   140  // You can construct a concrete instance of `MyEnumInput` via:
   141  //
   142  //	MyEnumArgs{...}
   143  type MyEnumInput interface {
   144  	pulumi.Input
   145  
   146  	ToMyEnumOutput() MyEnumOutput
   147  	ToMyEnumOutputWithContext(context.Context) MyEnumOutput
   148  }
   149  
   150  var myEnumPtrType = reflect.TypeOf((**MyEnum)(nil)).Elem()
   151  
   152  type MyEnumPtrInput interface {
   153  	pulumi.Input
   154  
   155  	ToMyEnumPtrOutput() MyEnumPtrOutput
   156  	ToMyEnumPtrOutputWithContext(context.Context) MyEnumPtrOutput
   157  }
   158  
   159  type myEnumPtr string
   160  
   161  func MyEnumPtr(v string) MyEnumPtrInput {
   162  	return (*myEnumPtr)(&v)
   163  }
   164  
   165  func (*myEnumPtr) ElementType() reflect.Type {
   166  	return myEnumPtrType
   167  }
   168  
   169  func (in *myEnumPtr) ToMyEnumPtrOutput() MyEnumPtrOutput {
   170  	return pulumi.ToOutput(in).(MyEnumPtrOutput)
   171  }
   172  
   173  func (in *myEnumPtr) ToMyEnumPtrOutputWithContext(ctx context.Context) MyEnumPtrOutput {
   174  	return pulumi.ToOutputWithContext(ctx, in).(MyEnumPtrOutput)
   175  }
   176  
   177  func init() {
   178  	pulumi.RegisterInputType(reflect.TypeOf((*MyEnumInput)(nil)).Elem(), MyEnum("one"))
   179  	pulumi.RegisterInputType(reflect.TypeOf((*MyEnumPtrInput)(nil)).Elem(), MyEnum("one"))
   180  	pulumi.RegisterOutputType(MyEnumOutput{})
   181  	pulumi.RegisterOutputType(MyEnumPtrOutput{})
   182  }