github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/redshiftserverless/workgroup.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package redshiftserverless 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Creates a new Amazon Redshift Serverless Workgroup. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := redshiftserverless.NewWorkgroup(ctx, "example", &redshiftserverless.WorkgroupArgs{ 33 // NamespaceName: pulumi.String("concurrency-scaling"), 34 // WorkgroupName: pulumi.String("concurrency-scaling"), 35 // }) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 // 46 // ## Import 47 // 48 // Using `pulumi import`, import Redshift Serverless Workgroups using the `workgroup_name`. For example: 49 // 50 // ```sh 51 // $ pulumi import aws:redshiftserverless/workgroup:Workgroup example example 52 // ``` 53 type Workgroup struct { 54 pulumi.CustomResourceState 55 56 // Amazon Resource Name (ARN) of the Redshift Serverless Workgroup. 57 Arn pulumi.StringOutput `pulumi:"arn"` 58 // The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). 59 BaseCapacity pulumi.IntOutput `pulumi:"baseCapacity"` 60 // An array of parameters to set for more control over a serverless database. See `Config Parameter` below. 61 ConfigParameters WorkgroupConfigParameterArrayOutput `pulumi:"configParameters"` 62 // The endpoint that is created from the workgroup. See `Endpoint` below. 63 Endpoints WorkgroupEndpointArrayOutput `pulumi:"endpoints"` 64 // The value that specifies whether to turn on enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC instead of over the internet. 65 EnhancedVpcRouting pulumi.BoolPtrOutput `pulumi:"enhancedVpcRouting"` 66 // The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries, specified in Redshift Processing Units (RPUs). 67 MaxCapacity pulumi.IntPtrOutput `pulumi:"maxCapacity"` 68 // The name of the namespace. 69 NamespaceName pulumi.StringOutput `pulumi:"namespaceName"` 70 // The port number on which the cluster accepts incoming connections. 71 Port pulumi.IntOutput `pulumi:"port"` 72 // A value that specifies whether the workgroup can be accessed from a public network. 73 PubliclyAccessible pulumi.BoolPtrOutput `pulumi:"publiclyAccessible"` 74 // An array of security group IDs to associate with the workgroup. 75 SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` 76 // An array of VPC subnet IDs to associate with the workgroup. When set, must contain at least three subnets spanning three Availability Zones. A minimum number of IP addresses is required and scales with the Base Capacity. For more information, see the following [AWS document](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-known-issues.html). 77 SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"` 78 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 79 Tags pulumi.StringMapOutput `pulumi:"tags"` 80 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 81 // 82 // Deprecated: Please use `tags` instead. 83 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 84 // The Redshift Workgroup ID. 85 WorkgroupId pulumi.StringOutput `pulumi:"workgroupId"` 86 // The name of the workgroup. 87 // 88 // The following arguments are optional: 89 WorkgroupName pulumi.StringOutput `pulumi:"workgroupName"` 90 } 91 92 // NewWorkgroup registers a new resource with the given unique name, arguments, and options. 93 func NewWorkgroup(ctx *pulumi.Context, 94 name string, args *WorkgroupArgs, opts ...pulumi.ResourceOption) (*Workgroup, error) { 95 if args == nil { 96 return nil, errors.New("missing one or more required arguments") 97 } 98 99 if args.NamespaceName == nil { 100 return nil, errors.New("invalid value for required argument 'NamespaceName'") 101 } 102 if args.WorkgroupName == nil { 103 return nil, errors.New("invalid value for required argument 'WorkgroupName'") 104 } 105 opts = internal.PkgResourceDefaultOpts(opts) 106 var resource Workgroup 107 err := ctx.RegisterResource("aws:redshiftserverless/workgroup:Workgroup", name, args, &resource, opts...) 108 if err != nil { 109 return nil, err 110 } 111 return &resource, nil 112 } 113 114 // GetWorkgroup gets an existing Workgroup resource's state with the given name, ID, and optional 115 // state properties that are used to uniquely qualify the lookup (nil if not required). 116 func GetWorkgroup(ctx *pulumi.Context, 117 name string, id pulumi.IDInput, state *WorkgroupState, opts ...pulumi.ResourceOption) (*Workgroup, error) { 118 var resource Workgroup 119 err := ctx.ReadResource("aws:redshiftserverless/workgroup:Workgroup", name, id, state, &resource, opts...) 120 if err != nil { 121 return nil, err 122 } 123 return &resource, nil 124 } 125 126 // Input properties used for looking up and filtering Workgroup resources. 127 type workgroupState struct { 128 // Amazon Resource Name (ARN) of the Redshift Serverless Workgroup. 129 Arn *string `pulumi:"arn"` 130 // The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). 131 BaseCapacity *int `pulumi:"baseCapacity"` 132 // An array of parameters to set for more control over a serverless database. See `Config Parameter` below. 133 ConfigParameters []WorkgroupConfigParameter `pulumi:"configParameters"` 134 // The endpoint that is created from the workgroup. See `Endpoint` below. 135 Endpoints []WorkgroupEndpoint `pulumi:"endpoints"` 136 // The value that specifies whether to turn on enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC instead of over the internet. 137 EnhancedVpcRouting *bool `pulumi:"enhancedVpcRouting"` 138 // The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries, specified in Redshift Processing Units (RPUs). 139 MaxCapacity *int `pulumi:"maxCapacity"` 140 // The name of the namespace. 141 NamespaceName *string `pulumi:"namespaceName"` 142 // The port number on which the cluster accepts incoming connections. 143 Port *int `pulumi:"port"` 144 // A value that specifies whether the workgroup can be accessed from a public network. 145 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 146 // An array of security group IDs to associate with the workgroup. 147 SecurityGroupIds []string `pulumi:"securityGroupIds"` 148 // An array of VPC subnet IDs to associate with the workgroup. When set, must contain at least three subnets spanning three Availability Zones. A minimum number of IP addresses is required and scales with the Base Capacity. For more information, see the following [AWS document](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-known-issues.html). 149 SubnetIds []string `pulumi:"subnetIds"` 150 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 151 Tags map[string]string `pulumi:"tags"` 152 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 153 // 154 // Deprecated: Please use `tags` instead. 155 TagsAll map[string]string `pulumi:"tagsAll"` 156 // The Redshift Workgroup ID. 157 WorkgroupId *string `pulumi:"workgroupId"` 158 // The name of the workgroup. 159 // 160 // The following arguments are optional: 161 WorkgroupName *string `pulumi:"workgroupName"` 162 } 163 164 type WorkgroupState struct { 165 // Amazon Resource Name (ARN) of the Redshift Serverless Workgroup. 166 Arn pulumi.StringPtrInput 167 // The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). 168 BaseCapacity pulumi.IntPtrInput 169 // An array of parameters to set for more control over a serverless database. See `Config Parameter` below. 170 ConfigParameters WorkgroupConfigParameterArrayInput 171 // The endpoint that is created from the workgroup. See `Endpoint` below. 172 Endpoints WorkgroupEndpointArrayInput 173 // The value that specifies whether to turn on enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC instead of over the internet. 174 EnhancedVpcRouting pulumi.BoolPtrInput 175 // The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries, specified in Redshift Processing Units (RPUs). 176 MaxCapacity pulumi.IntPtrInput 177 // The name of the namespace. 178 NamespaceName pulumi.StringPtrInput 179 // The port number on which the cluster accepts incoming connections. 180 Port pulumi.IntPtrInput 181 // A value that specifies whether the workgroup can be accessed from a public network. 182 PubliclyAccessible pulumi.BoolPtrInput 183 // An array of security group IDs to associate with the workgroup. 184 SecurityGroupIds pulumi.StringArrayInput 185 // An array of VPC subnet IDs to associate with the workgroup. When set, must contain at least three subnets spanning three Availability Zones. A minimum number of IP addresses is required and scales with the Base Capacity. For more information, see the following [AWS document](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-known-issues.html). 186 SubnetIds pulumi.StringArrayInput 187 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 188 Tags pulumi.StringMapInput 189 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 190 // 191 // Deprecated: Please use `tags` instead. 192 TagsAll pulumi.StringMapInput 193 // The Redshift Workgroup ID. 194 WorkgroupId pulumi.StringPtrInput 195 // The name of the workgroup. 196 // 197 // The following arguments are optional: 198 WorkgroupName pulumi.StringPtrInput 199 } 200 201 func (WorkgroupState) ElementType() reflect.Type { 202 return reflect.TypeOf((*workgroupState)(nil)).Elem() 203 } 204 205 type workgroupArgs struct { 206 // The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). 207 BaseCapacity *int `pulumi:"baseCapacity"` 208 // An array of parameters to set for more control over a serverless database. See `Config Parameter` below. 209 ConfigParameters []WorkgroupConfigParameter `pulumi:"configParameters"` 210 // The value that specifies whether to turn on enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC instead of over the internet. 211 EnhancedVpcRouting *bool `pulumi:"enhancedVpcRouting"` 212 // The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries, specified in Redshift Processing Units (RPUs). 213 MaxCapacity *int `pulumi:"maxCapacity"` 214 // The name of the namespace. 215 NamespaceName string `pulumi:"namespaceName"` 216 // The port number on which the cluster accepts incoming connections. 217 Port *int `pulumi:"port"` 218 // A value that specifies whether the workgroup can be accessed from a public network. 219 PubliclyAccessible *bool `pulumi:"publiclyAccessible"` 220 // An array of security group IDs to associate with the workgroup. 221 SecurityGroupIds []string `pulumi:"securityGroupIds"` 222 // An array of VPC subnet IDs to associate with the workgroup. When set, must contain at least three subnets spanning three Availability Zones. A minimum number of IP addresses is required and scales with the Base Capacity. For more information, see the following [AWS document](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-known-issues.html). 223 SubnetIds []string `pulumi:"subnetIds"` 224 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 225 Tags map[string]string `pulumi:"tags"` 226 // The name of the workgroup. 227 // 228 // The following arguments are optional: 229 WorkgroupName string `pulumi:"workgroupName"` 230 } 231 232 // The set of arguments for constructing a Workgroup resource. 233 type WorkgroupArgs struct { 234 // The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). 235 BaseCapacity pulumi.IntPtrInput 236 // An array of parameters to set for more control over a serverless database. See `Config Parameter` below. 237 ConfigParameters WorkgroupConfigParameterArrayInput 238 // The value that specifies whether to turn on enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC instead of over the internet. 239 EnhancedVpcRouting pulumi.BoolPtrInput 240 // The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries, specified in Redshift Processing Units (RPUs). 241 MaxCapacity pulumi.IntPtrInput 242 // The name of the namespace. 243 NamespaceName pulumi.StringInput 244 // The port number on which the cluster accepts incoming connections. 245 Port pulumi.IntPtrInput 246 // A value that specifies whether the workgroup can be accessed from a public network. 247 PubliclyAccessible pulumi.BoolPtrInput 248 // An array of security group IDs to associate with the workgroup. 249 SecurityGroupIds pulumi.StringArrayInput 250 // An array of VPC subnet IDs to associate with the workgroup. When set, must contain at least three subnets spanning three Availability Zones. A minimum number of IP addresses is required and scales with the Base Capacity. For more information, see the following [AWS document](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-known-issues.html). 251 SubnetIds pulumi.StringArrayInput 252 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 253 Tags pulumi.StringMapInput 254 // The name of the workgroup. 255 // 256 // The following arguments are optional: 257 WorkgroupName pulumi.StringInput 258 } 259 260 func (WorkgroupArgs) ElementType() reflect.Type { 261 return reflect.TypeOf((*workgroupArgs)(nil)).Elem() 262 } 263 264 type WorkgroupInput interface { 265 pulumi.Input 266 267 ToWorkgroupOutput() WorkgroupOutput 268 ToWorkgroupOutputWithContext(ctx context.Context) WorkgroupOutput 269 } 270 271 func (*Workgroup) ElementType() reflect.Type { 272 return reflect.TypeOf((**Workgroup)(nil)).Elem() 273 } 274 275 func (i *Workgroup) ToWorkgroupOutput() WorkgroupOutput { 276 return i.ToWorkgroupOutputWithContext(context.Background()) 277 } 278 279 func (i *Workgroup) ToWorkgroupOutputWithContext(ctx context.Context) WorkgroupOutput { 280 return pulumi.ToOutputWithContext(ctx, i).(WorkgroupOutput) 281 } 282 283 // WorkgroupArrayInput is an input type that accepts WorkgroupArray and WorkgroupArrayOutput values. 284 // You can construct a concrete instance of `WorkgroupArrayInput` via: 285 // 286 // WorkgroupArray{ WorkgroupArgs{...} } 287 type WorkgroupArrayInput interface { 288 pulumi.Input 289 290 ToWorkgroupArrayOutput() WorkgroupArrayOutput 291 ToWorkgroupArrayOutputWithContext(context.Context) WorkgroupArrayOutput 292 } 293 294 type WorkgroupArray []WorkgroupInput 295 296 func (WorkgroupArray) ElementType() reflect.Type { 297 return reflect.TypeOf((*[]*Workgroup)(nil)).Elem() 298 } 299 300 func (i WorkgroupArray) ToWorkgroupArrayOutput() WorkgroupArrayOutput { 301 return i.ToWorkgroupArrayOutputWithContext(context.Background()) 302 } 303 304 func (i WorkgroupArray) ToWorkgroupArrayOutputWithContext(ctx context.Context) WorkgroupArrayOutput { 305 return pulumi.ToOutputWithContext(ctx, i).(WorkgroupArrayOutput) 306 } 307 308 // WorkgroupMapInput is an input type that accepts WorkgroupMap and WorkgroupMapOutput values. 309 // You can construct a concrete instance of `WorkgroupMapInput` via: 310 // 311 // WorkgroupMap{ "key": WorkgroupArgs{...} } 312 type WorkgroupMapInput interface { 313 pulumi.Input 314 315 ToWorkgroupMapOutput() WorkgroupMapOutput 316 ToWorkgroupMapOutputWithContext(context.Context) WorkgroupMapOutput 317 } 318 319 type WorkgroupMap map[string]WorkgroupInput 320 321 func (WorkgroupMap) ElementType() reflect.Type { 322 return reflect.TypeOf((*map[string]*Workgroup)(nil)).Elem() 323 } 324 325 func (i WorkgroupMap) ToWorkgroupMapOutput() WorkgroupMapOutput { 326 return i.ToWorkgroupMapOutputWithContext(context.Background()) 327 } 328 329 func (i WorkgroupMap) ToWorkgroupMapOutputWithContext(ctx context.Context) WorkgroupMapOutput { 330 return pulumi.ToOutputWithContext(ctx, i).(WorkgroupMapOutput) 331 } 332 333 type WorkgroupOutput struct{ *pulumi.OutputState } 334 335 func (WorkgroupOutput) ElementType() reflect.Type { 336 return reflect.TypeOf((**Workgroup)(nil)).Elem() 337 } 338 339 func (o WorkgroupOutput) ToWorkgroupOutput() WorkgroupOutput { 340 return o 341 } 342 343 func (o WorkgroupOutput) ToWorkgroupOutputWithContext(ctx context.Context) WorkgroupOutput { 344 return o 345 } 346 347 // Amazon Resource Name (ARN) of the Redshift Serverless Workgroup. 348 func (o WorkgroupOutput) Arn() pulumi.StringOutput { 349 return o.ApplyT(func(v *Workgroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 350 } 351 352 // The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs). 353 func (o WorkgroupOutput) BaseCapacity() pulumi.IntOutput { 354 return o.ApplyT(func(v *Workgroup) pulumi.IntOutput { return v.BaseCapacity }).(pulumi.IntOutput) 355 } 356 357 // An array of parameters to set for more control over a serverless database. See `Config Parameter` below. 358 func (o WorkgroupOutput) ConfigParameters() WorkgroupConfigParameterArrayOutput { 359 return o.ApplyT(func(v *Workgroup) WorkgroupConfigParameterArrayOutput { return v.ConfigParameters }).(WorkgroupConfigParameterArrayOutput) 360 } 361 362 // The endpoint that is created from the workgroup. See `Endpoint` below. 363 func (o WorkgroupOutput) Endpoints() WorkgroupEndpointArrayOutput { 364 return o.ApplyT(func(v *Workgroup) WorkgroupEndpointArrayOutput { return v.Endpoints }).(WorkgroupEndpointArrayOutput) 365 } 366 367 // The value that specifies whether to turn on enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC instead of over the internet. 368 func (o WorkgroupOutput) EnhancedVpcRouting() pulumi.BoolPtrOutput { 369 return o.ApplyT(func(v *Workgroup) pulumi.BoolPtrOutput { return v.EnhancedVpcRouting }).(pulumi.BoolPtrOutput) 370 } 371 372 // The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries, specified in Redshift Processing Units (RPUs). 373 func (o WorkgroupOutput) MaxCapacity() pulumi.IntPtrOutput { 374 return o.ApplyT(func(v *Workgroup) pulumi.IntPtrOutput { return v.MaxCapacity }).(pulumi.IntPtrOutput) 375 } 376 377 // The name of the namespace. 378 func (o WorkgroupOutput) NamespaceName() pulumi.StringOutput { 379 return o.ApplyT(func(v *Workgroup) pulumi.StringOutput { return v.NamespaceName }).(pulumi.StringOutput) 380 } 381 382 // The port number on which the cluster accepts incoming connections. 383 func (o WorkgroupOutput) Port() pulumi.IntOutput { 384 return o.ApplyT(func(v *Workgroup) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) 385 } 386 387 // A value that specifies whether the workgroup can be accessed from a public network. 388 func (o WorkgroupOutput) PubliclyAccessible() pulumi.BoolPtrOutput { 389 return o.ApplyT(func(v *Workgroup) pulumi.BoolPtrOutput { return v.PubliclyAccessible }).(pulumi.BoolPtrOutput) 390 } 391 392 // An array of security group IDs to associate with the workgroup. 393 func (o WorkgroupOutput) SecurityGroupIds() pulumi.StringArrayOutput { 394 return o.ApplyT(func(v *Workgroup) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) 395 } 396 397 // An array of VPC subnet IDs to associate with the workgroup. When set, must contain at least three subnets spanning three Availability Zones. A minimum number of IP addresses is required and scales with the Base Capacity. For more information, see the following [AWS document](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-known-issues.html). 398 func (o WorkgroupOutput) SubnetIds() pulumi.StringArrayOutput { 399 return o.ApplyT(func(v *Workgroup) pulumi.StringArrayOutput { return v.SubnetIds }).(pulumi.StringArrayOutput) 400 } 401 402 // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 403 func (o WorkgroupOutput) Tags() pulumi.StringMapOutput { 404 return o.ApplyT(func(v *Workgroup) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 405 } 406 407 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 408 // 409 // Deprecated: Please use `tags` instead. 410 func (o WorkgroupOutput) TagsAll() pulumi.StringMapOutput { 411 return o.ApplyT(func(v *Workgroup) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 412 } 413 414 // The Redshift Workgroup ID. 415 func (o WorkgroupOutput) WorkgroupId() pulumi.StringOutput { 416 return o.ApplyT(func(v *Workgroup) pulumi.StringOutput { return v.WorkgroupId }).(pulumi.StringOutput) 417 } 418 419 // The name of the workgroup. 420 // 421 // The following arguments are optional: 422 func (o WorkgroupOutput) WorkgroupName() pulumi.StringOutput { 423 return o.ApplyT(func(v *Workgroup) pulumi.StringOutput { return v.WorkgroupName }).(pulumi.StringOutput) 424 } 425 426 type WorkgroupArrayOutput struct{ *pulumi.OutputState } 427 428 func (WorkgroupArrayOutput) ElementType() reflect.Type { 429 return reflect.TypeOf((*[]*Workgroup)(nil)).Elem() 430 } 431 432 func (o WorkgroupArrayOutput) ToWorkgroupArrayOutput() WorkgroupArrayOutput { 433 return o 434 } 435 436 func (o WorkgroupArrayOutput) ToWorkgroupArrayOutputWithContext(ctx context.Context) WorkgroupArrayOutput { 437 return o 438 } 439 440 func (o WorkgroupArrayOutput) Index(i pulumi.IntInput) WorkgroupOutput { 441 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Workgroup { 442 return vs[0].([]*Workgroup)[vs[1].(int)] 443 }).(WorkgroupOutput) 444 } 445 446 type WorkgroupMapOutput struct{ *pulumi.OutputState } 447 448 func (WorkgroupMapOutput) ElementType() reflect.Type { 449 return reflect.TypeOf((*map[string]*Workgroup)(nil)).Elem() 450 } 451 452 func (o WorkgroupMapOutput) ToWorkgroupMapOutput() WorkgroupMapOutput { 453 return o 454 } 455 456 func (o WorkgroupMapOutput) ToWorkgroupMapOutputWithContext(ctx context.Context) WorkgroupMapOutput { 457 return o 458 } 459 460 func (o WorkgroupMapOutput) MapIndex(k pulumi.StringInput) WorkgroupOutput { 461 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Workgroup { 462 return vs[0].(map[string]*Workgroup)[vs[1].(string)] 463 }).(WorkgroupOutput) 464 } 465 466 func init() { 467 pulumi.RegisterInputType(reflect.TypeOf((*WorkgroupInput)(nil)).Elem(), &Workgroup{}) 468 pulumi.RegisterInputType(reflect.TypeOf((*WorkgroupArrayInput)(nil)).Elem(), WorkgroupArray{}) 469 pulumi.RegisterInputType(reflect.TypeOf((*WorkgroupMapInput)(nil)).Elem(), WorkgroupMap{}) 470 pulumi.RegisterOutputType(WorkgroupOutput{}) 471 pulumi.RegisterOutputType(WorkgroupArrayOutput{}) 472 pulumi.RegisterOutputType(WorkgroupMapOutput{}) 473 }