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 }