github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/external-resource-schema/go/example/workload.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  	corev1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/core/v1"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  type Workload struct {
    15  	pulumi.CustomResourceState
    16  
    17  	Pod *corev1.PodTypeOutput `pulumi:"pod"`
    18  }
    19  
    20  // NewWorkload registers a new resource with the given unique name, arguments, and options.
    21  func NewWorkload(ctx *pulumi.Context,
    22  	name string, args *WorkloadArgs, opts ...pulumi.ResourceOption) (*Workload, error) {
    23  	if args == nil {
    24  		args = &WorkloadArgs{}
    25  	}
    26  
    27  	var resource Workload
    28  	err := ctx.RegisterResource("example::Workload", name, args, &resource, opts...)
    29  	if err != nil {
    30  		return nil, err
    31  	}
    32  	return &resource, nil
    33  }
    34  
    35  // GetWorkload gets an existing Workload resource's state with the given name, ID, and optional
    36  // state properties that are used to uniquely qualify the lookup (nil if not required).
    37  func GetWorkload(ctx *pulumi.Context,
    38  	name string, id pulumi.IDInput, state *WorkloadState, opts ...pulumi.ResourceOption) (*Workload, error) {
    39  	var resource Workload
    40  	err := ctx.ReadResource("example::Workload", name, id, state, &resource, opts...)
    41  	if err != nil {
    42  		return nil, err
    43  	}
    44  	return &resource, nil
    45  }
    46  
    47  // Input properties used for looking up and filtering Workload resources.
    48  type workloadState struct {
    49  }
    50  
    51  type WorkloadState struct {
    52  }
    53  
    54  func (WorkloadState) ElementType() reflect.Type {
    55  	return reflect.TypeOf((*workloadState)(nil)).Elem()
    56  }
    57  
    58  type workloadArgs struct {
    59  }
    60  
    61  // The set of arguments for constructing a Workload resource.
    62  type WorkloadArgs struct {
    63  }
    64  
    65  func (WorkloadArgs) ElementType() reflect.Type {
    66  	return reflect.TypeOf((*workloadArgs)(nil)).Elem()
    67  }
    68  
    69  type WorkloadInput interface {
    70  	pulumi.Input
    71  
    72  	ToWorkloadOutput() WorkloadOutput
    73  	ToWorkloadOutputWithContext(ctx context.Context) WorkloadOutput
    74  }
    75  
    76  func (*Workload) ElementType() reflect.Type {
    77  	return reflect.TypeOf((**Workload)(nil)).Elem()
    78  }
    79  
    80  func (i *Workload) ToWorkloadOutput() WorkloadOutput {
    81  	return i.ToWorkloadOutputWithContext(context.Background())
    82  }
    83  
    84  func (i *Workload) ToWorkloadOutputWithContext(ctx context.Context) WorkloadOutput {
    85  	return pulumi.ToOutputWithContext(ctx, i).(WorkloadOutput)
    86  }
    87  
    88  // WorkloadArrayInput is an input type that accepts WorkloadArray and WorkloadArrayOutput values.
    89  // You can construct a concrete instance of `WorkloadArrayInput` via:
    90  //
    91  //	WorkloadArray{ WorkloadArgs{...} }
    92  type WorkloadArrayInput interface {
    93  	pulumi.Input
    94  
    95  	ToWorkloadArrayOutput() WorkloadArrayOutput
    96  	ToWorkloadArrayOutputWithContext(context.Context) WorkloadArrayOutput
    97  }
    98  
    99  type WorkloadArray []WorkloadInput
   100  
   101  func (WorkloadArray) ElementType() reflect.Type {
   102  	return reflect.TypeOf((*[]*Workload)(nil)).Elem()
   103  }
   104  
   105  func (i WorkloadArray) ToWorkloadArrayOutput() WorkloadArrayOutput {
   106  	return i.ToWorkloadArrayOutputWithContext(context.Background())
   107  }
   108  
   109  func (i WorkloadArray) ToWorkloadArrayOutputWithContext(ctx context.Context) WorkloadArrayOutput {
   110  	return pulumi.ToOutputWithContext(ctx, i).(WorkloadArrayOutput)
   111  }
   112  
   113  // WorkloadMapInput is an input type that accepts WorkloadMap and WorkloadMapOutput values.
   114  // You can construct a concrete instance of `WorkloadMapInput` via:
   115  //
   116  //	WorkloadMap{ "key": WorkloadArgs{...} }
   117  type WorkloadMapInput interface {
   118  	pulumi.Input
   119  
   120  	ToWorkloadMapOutput() WorkloadMapOutput
   121  	ToWorkloadMapOutputWithContext(context.Context) WorkloadMapOutput
   122  }
   123  
   124  type WorkloadMap map[string]WorkloadInput
   125  
   126  func (WorkloadMap) ElementType() reflect.Type {
   127  	return reflect.TypeOf((*map[string]*Workload)(nil)).Elem()
   128  }
   129  
   130  func (i WorkloadMap) ToWorkloadMapOutput() WorkloadMapOutput {
   131  	return i.ToWorkloadMapOutputWithContext(context.Background())
   132  }
   133  
   134  func (i WorkloadMap) ToWorkloadMapOutputWithContext(ctx context.Context) WorkloadMapOutput {
   135  	return pulumi.ToOutputWithContext(ctx, i).(WorkloadMapOutput)
   136  }
   137  
   138  type WorkloadOutput struct{ *pulumi.OutputState }
   139  
   140  func (WorkloadOutput) ElementType() reflect.Type {
   141  	return reflect.TypeOf((**Workload)(nil)).Elem()
   142  }
   143  
   144  func (o WorkloadOutput) ToWorkloadOutput() WorkloadOutput {
   145  	return o
   146  }
   147  
   148  func (o WorkloadOutput) ToWorkloadOutputWithContext(ctx context.Context) WorkloadOutput {
   149  	return o
   150  }
   151  
   152  func (o WorkloadOutput) Pod() *corev1.PodTypeOutput {
   153  	return o.ApplyT(func(v *Workload) *corev1.PodTypeOutput { return v.Pod }).(*corev1.PodTypeOutput)
   154  }
   155  
   156  type WorkloadArrayOutput struct{ *pulumi.OutputState }
   157  
   158  func (WorkloadArrayOutput) ElementType() reflect.Type {
   159  	return reflect.TypeOf((*[]*Workload)(nil)).Elem()
   160  }
   161  
   162  func (o WorkloadArrayOutput) ToWorkloadArrayOutput() WorkloadArrayOutput {
   163  	return o
   164  }
   165  
   166  func (o WorkloadArrayOutput) ToWorkloadArrayOutputWithContext(ctx context.Context) WorkloadArrayOutput {
   167  	return o
   168  }
   169  
   170  func (o WorkloadArrayOutput) Index(i pulumi.IntInput) WorkloadOutput {
   171  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Workload {
   172  		return vs[0].([]*Workload)[vs[1].(int)]
   173  	}).(WorkloadOutput)
   174  }
   175  
   176  type WorkloadMapOutput struct{ *pulumi.OutputState }
   177  
   178  func (WorkloadMapOutput) ElementType() reflect.Type {
   179  	return reflect.TypeOf((*map[string]*Workload)(nil)).Elem()
   180  }
   181  
   182  func (o WorkloadMapOutput) ToWorkloadMapOutput() WorkloadMapOutput {
   183  	return o
   184  }
   185  
   186  func (o WorkloadMapOutput) ToWorkloadMapOutputWithContext(ctx context.Context) WorkloadMapOutput {
   187  	return o
   188  }
   189  
   190  func (o WorkloadMapOutput) MapIndex(k pulumi.StringInput) WorkloadOutput {
   191  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Workload {
   192  		return vs[0].(map[string]*Workload)[vs[1].(string)]
   193  	}).(WorkloadOutput)
   194  }
   195  
   196  func init() {
   197  	pulumi.RegisterInputType(reflect.TypeOf((*WorkloadInput)(nil)).Elem(), &Workload{})
   198  	pulumi.RegisterInputType(reflect.TypeOf((*WorkloadArrayInput)(nil)).Elem(), WorkloadArray{})
   199  	pulumi.RegisterInputType(reflect.TypeOf((*WorkloadMapInput)(nil)).Elem(), WorkloadMap{})
   200  	pulumi.RegisterOutputType(WorkloadOutput{})
   201  	pulumi.RegisterOutputType(WorkloadArrayOutput{})
   202  	pulumi.RegisterOutputType(WorkloadMapOutput{})
   203  }