github.com/myhau/pulumi/pkg/v3@v3.70.2-0.20221116134521-f2775972e587/codegen/testing/test/testdata/external-go-import-aliases/go/example/component.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/pkg/errors" 11 awsec2 "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2" 12 "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/s3" 13 accesscontextmanager "github.com/pulumi/pulumi-google-native/sdk/go/google/accesscontextmanager/v1" 14 dns "github.com/pulumi/pulumi-google-native/sdk/go/google/dns/v1" 15 gcpiamv1 "github.com/pulumi/pulumi-google-native/sdk/go/google/iam/v1" 16 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 17 ) 18 19 type Component struct { 20 pulumi.CustomResourceState 21 22 ResourceLocalAlias awsec2.InstanceOutput `pulumi:"resourceLocalAlias"` 23 ResourceLocalInsteadOfRemoteAlias gcpiamv1.KeyOutput `pulumi:"resourceLocalInsteadOfRemoteAlias"` 24 ResourceNoAlias s3.BucketOutput `pulumi:"resourceNoAlias"` 25 ResourceRemoteAlias dns.PolicyOutput `pulumi:"resourceRemoteAlias"` 26 TypeLocalAlias awsec2.InstanceLaunchTemplateOutput `pulumi:"typeLocalAlias"` 27 TypeLocalInsteadOfRemoteAlias gcpiamv1.AuditConfigResponseOutput `pulumi:"typeLocalInsteadOfRemoteAlias"` 28 TypeNoAlias s3.BucketWebsiteOutput `pulumi:"typeNoAlias"` 29 TypeRemoteAlias dns.DnsKeySpecResponseOutput `pulumi:"typeRemoteAlias"` 30 } 31 32 // NewComponent registers a new resource with the given unique name, arguments, and options. 33 func NewComponent(ctx *pulumi.Context, 34 name string, args *ComponentArgs, opts ...pulumi.ResourceOption) (*Component, error) { 35 if args == nil { 36 return nil, errors.New("missing one or more required arguments") 37 } 38 39 if args.ResourceLocalAlias == nil { 40 return nil, errors.New("invalid value for required argument 'ResourceLocalAlias'") 41 } 42 if args.ResourceLocalInsteadOfRemoteAlias == nil { 43 return nil, errors.New("invalid value for required argument 'ResourceLocalInsteadOfRemoteAlias'") 44 } 45 if args.ResourceNoAlias == nil { 46 return nil, errors.New("invalid value for required argument 'ResourceNoAlias'") 47 } 48 if args.ResourceRemoteAlias == nil { 49 return nil, errors.New("invalid value for required argument 'ResourceRemoteAlias'") 50 } 51 if args.TypeLocalAlias == nil { 52 return nil, errors.New("invalid value for required argument 'TypeLocalAlias'") 53 } 54 if args.TypeLocalInsteadOfRemoteAlias == nil { 55 return nil, errors.New("invalid value for required argument 'TypeLocalInsteadOfRemoteAlias'") 56 } 57 if args.TypeNoAlias == nil { 58 return nil, errors.New("invalid value for required argument 'TypeNoAlias'") 59 } 60 if args.TypeRemoteAlias == nil { 61 return nil, errors.New("invalid value for required argument 'TypeRemoteAlias'") 62 } 63 var resource Component 64 err := ctx.RegisterResource("example::Component", name, args, &resource, opts...) 65 if err != nil { 66 return nil, err 67 } 68 return &resource, nil 69 } 70 71 // GetComponent gets an existing Component resource's state with the given name, ID, and optional 72 // state properties that are used to uniquely qualify the lookup (nil if not required). 73 func GetComponent(ctx *pulumi.Context, 74 name string, id pulumi.IDInput, state *ComponentState, opts ...pulumi.ResourceOption) (*Component, error) { 75 var resource Component 76 err := ctx.ReadResource("example::Component", name, id, state, &resource, opts...) 77 if err != nil { 78 return nil, err 79 } 80 return &resource, nil 81 } 82 83 // Input properties used for looking up and filtering Component resources. 84 type componentState struct { 85 } 86 87 type ComponentState struct { 88 } 89 90 func (ComponentState) ElementType() reflect.Type { 91 return reflect.TypeOf((*componentState)(nil)).Elem() 92 } 93 94 type componentArgs struct { 95 ResourceLocalAlias *awsec2.Instance `pulumi:"resourceLocalAlias"` 96 ResourceLocalInsteadOfRemoteAlias *gcpiamv1.Key `pulumi:"resourceLocalInsteadOfRemoteAlias"` 97 ResourceNoAlias *s3.Bucket `pulumi:"resourceNoAlias"` 98 ResourceRemoteAlias *dns.Policy `pulumi:"resourceRemoteAlias"` 99 TypeLocalAlias awsec2.InstanceLaunchTemplate `pulumi:"typeLocalAlias"` 100 TypeLocalInsteadOfRemoteAlias gcpiamv1.AuditConfig `pulumi:"typeLocalInsteadOfRemoteAlias"` 101 TypeNoAlias s3.BucketWebsite `pulumi:"typeNoAlias"` 102 TypeRemoteAlias dns.DnsKeySpec `pulumi:"typeRemoteAlias"` 103 TypeRemoteEnum *accesscontextmanager.DevicePolicyAllowedDeviceManagementLevelsItem `pulumi:"typeRemoteEnum"` 104 } 105 106 // The set of arguments for constructing a Component resource. 107 type ComponentArgs struct { 108 ResourceLocalAlias awsec2.InstanceInput 109 ResourceLocalInsteadOfRemoteAlias gcpiamv1.KeyInput 110 ResourceNoAlias s3.BucketInput 111 ResourceRemoteAlias dns.PolicyInput 112 TypeLocalAlias awsec2.InstanceLaunchTemplateInput 113 TypeLocalInsteadOfRemoteAlias gcpiamv1.AuditConfigInput 114 TypeNoAlias s3.BucketWebsiteInput 115 TypeRemoteAlias dns.DnsKeySpecInput 116 TypeRemoteEnum accesscontextmanager.DevicePolicyAllowedDeviceManagementLevelsItemPtrInput 117 } 118 119 func (ComponentArgs) ElementType() reflect.Type { 120 return reflect.TypeOf((*componentArgs)(nil)).Elem() 121 } 122 123 type ComponentInput interface { 124 pulumi.Input 125 126 ToComponentOutput() ComponentOutput 127 ToComponentOutputWithContext(ctx context.Context) ComponentOutput 128 } 129 130 func (*Component) ElementType() reflect.Type { 131 return reflect.TypeOf((**Component)(nil)).Elem() 132 } 133 134 func (i *Component) ToComponentOutput() ComponentOutput { 135 return i.ToComponentOutputWithContext(context.Background()) 136 } 137 138 func (i *Component) ToComponentOutputWithContext(ctx context.Context) ComponentOutput { 139 return pulumi.ToOutputWithContext(ctx, i).(ComponentOutput) 140 } 141 142 // ComponentArrayInput is an input type that accepts ComponentArray and ComponentArrayOutput values. 143 // You can construct a concrete instance of `ComponentArrayInput` via: 144 // 145 // ComponentArray{ ComponentArgs{...} } 146 type ComponentArrayInput interface { 147 pulumi.Input 148 149 ToComponentArrayOutput() ComponentArrayOutput 150 ToComponentArrayOutputWithContext(context.Context) ComponentArrayOutput 151 } 152 153 type ComponentArray []ComponentInput 154 155 func (ComponentArray) ElementType() reflect.Type { 156 return reflect.TypeOf((*[]*Component)(nil)).Elem() 157 } 158 159 func (i ComponentArray) ToComponentArrayOutput() ComponentArrayOutput { 160 return i.ToComponentArrayOutputWithContext(context.Background()) 161 } 162 163 func (i ComponentArray) ToComponentArrayOutputWithContext(ctx context.Context) ComponentArrayOutput { 164 return pulumi.ToOutputWithContext(ctx, i).(ComponentArrayOutput) 165 } 166 167 // ComponentMapInput is an input type that accepts ComponentMap and ComponentMapOutput values. 168 // You can construct a concrete instance of `ComponentMapInput` via: 169 // 170 // ComponentMap{ "key": ComponentArgs{...} } 171 type ComponentMapInput interface { 172 pulumi.Input 173 174 ToComponentMapOutput() ComponentMapOutput 175 ToComponentMapOutputWithContext(context.Context) ComponentMapOutput 176 } 177 178 type ComponentMap map[string]ComponentInput 179 180 func (ComponentMap) ElementType() reflect.Type { 181 return reflect.TypeOf((*map[string]*Component)(nil)).Elem() 182 } 183 184 func (i ComponentMap) ToComponentMapOutput() ComponentMapOutput { 185 return i.ToComponentMapOutputWithContext(context.Background()) 186 } 187 188 func (i ComponentMap) ToComponentMapOutputWithContext(ctx context.Context) ComponentMapOutput { 189 return pulumi.ToOutputWithContext(ctx, i).(ComponentMapOutput) 190 } 191 192 type ComponentOutput struct{ *pulumi.OutputState } 193 194 func (ComponentOutput) ElementType() reflect.Type { 195 return reflect.TypeOf((**Component)(nil)).Elem() 196 } 197 198 func (o ComponentOutput) ToComponentOutput() ComponentOutput { 199 return o 200 } 201 202 func (o ComponentOutput) ToComponentOutputWithContext(ctx context.Context) ComponentOutput { 203 return o 204 } 205 206 func (o ComponentOutput) ResourceLocalAlias() awsec2.InstanceOutput { 207 return o.ApplyT(func(v *Component) awsec2.InstanceOutput { return v.ResourceLocalAlias }).(awsec2.InstanceOutput) 208 } 209 210 func (o ComponentOutput) ResourceLocalInsteadOfRemoteAlias() gcpiamv1.KeyOutput { 211 return o.ApplyT(func(v *Component) gcpiamv1.KeyOutput { return v.ResourceLocalInsteadOfRemoteAlias }).(gcpiamv1.KeyOutput) 212 } 213 214 func (o ComponentOutput) ResourceNoAlias() s3.BucketOutput { 215 return o.ApplyT(func(v *Component) s3.BucketOutput { return v.ResourceNoAlias }).(s3.BucketOutput) 216 } 217 218 func (o ComponentOutput) ResourceRemoteAlias() dns.PolicyOutput { 219 return o.ApplyT(func(v *Component) dns.PolicyOutput { return v.ResourceRemoteAlias }).(dns.PolicyOutput) 220 } 221 222 func (o ComponentOutput) TypeLocalAlias() awsec2.InstanceLaunchTemplateOutput { 223 return o.ApplyT(func(v *Component) awsec2.InstanceLaunchTemplateOutput { return v.TypeLocalAlias }).(awsec2.InstanceLaunchTemplateOutput) 224 } 225 226 func (o ComponentOutput) TypeLocalInsteadOfRemoteAlias() gcpiamv1.AuditConfigResponseOutput { 227 return o.ApplyT(func(v *Component) gcpiamv1.AuditConfigResponseOutput { return v.TypeLocalInsteadOfRemoteAlias }).(gcpiamv1.AuditConfigResponseOutput) 228 } 229 230 func (o ComponentOutput) TypeNoAlias() s3.BucketWebsiteOutput { 231 return o.ApplyT(func(v *Component) s3.BucketWebsiteOutput { return v.TypeNoAlias }).(s3.BucketWebsiteOutput) 232 } 233 234 func (o ComponentOutput) TypeRemoteAlias() dns.DnsKeySpecResponseOutput { 235 return o.ApplyT(func(v *Component) dns.DnsKeySpecResponseOutput { return v.TypeRemoteAlias }).(dns.DnsKeySpecResponseOutput) 236 } 237 238 type ComponentArrayOutput struct{ *pulumi.OutputState } 239 240 func (ComponentArrayOutput) ElementType() reflect.Type { 241 return reflect.TypeOf((*[]*Component)(nil)).Elem() 242 } 243 244 func (o ComponentArrayOutput) ToComponentArrayOutput() ComponentArrayOutput { 245 return o 246 } 247 248 func (o ComponentArrayOutput) ToComponentArrayOutputWithContext(ctx context.Context) ComponentArrayOutput { 249 return o 250 } 251 252 func (o ComponentArrayOutput) Index(i pulumi.IntInput) ComponentOutput { 253 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Component { 254 return vs[0].([]*Component)[vs[1].(int)] 255 }).(ComponentOutput) 256 } 257 258 type ComponentMapOutput struct{ *pulumi.OutputState } 259 260 func (ComponentMapOutput) ElementType() reflect.Type { 261 return reflect.TypeOf((*map[string]*Component)(nil)).Elem() 262 } 263 264 func (o ComponentMapOutput) ToComponentMapOutput() ComponentMapOutput { 265 return o 266 } 267 268 func (o ComponentMapOutput) ToComponentMapOutputWithContext(ctx context.Context) ComponentMapOutput { 269 return o 270 } 271 272 func (o ComponentMapOutput) MapIndex(k pulumi.StringInput) ComponentOutput { 273 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Component { 274 return vs[0].(map[string]*Component)[vs[1].(string)] 275 }).(ComponentOutput) 276 } 277 278 func init() { 279 pulumi.RegisterInputType(reflect.TypeOf((*ComponentInput)(nil)).Elem(), &Component{}) 280 pulumi.RegisterInputType(reflect.TypeOf((*ComponentArrayInput)(nil)).Elem(), ComponentArray{}) 281 pulumi.RegisterInputType(reflect.TypeOf((*ComponentMapInput)(nil)).Elem(), ComponentMap{}) 282 pulumi.RegisterOutputType(ComponentOutput{}) 283 pulumi.RegisterOutputType(ComponentArrayOutput{}) 284 pulumi.RegisterOutputType(ComponentMapOutput{}) 285 }