github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/emr/instanceGroup.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 emr 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 // Provides an Elastic MapReduce Cluster Instance Group configuration. 16 // See [Amazon Elastic MapReduce Documentation](https://aws.amazon.com/documentation/emr/) for more information. 17 // 18 // > **NOTE:** At this time, Instance Groups cannot be destroyed through the API nor 19 // web interface. Instance Groups are destroyed when the EMR Cluster is destroyed. 20 // this provider will resize any Instance Group to zero when destroying the resource. 21 // 22 // ## Example Usage 23 // 24 // <!--Start PulumiCodeChooser --> 25 // ```go 26 // package main 27 // 28 // import ( 29 // 30 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr" 31 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 32 // 33 // ) 34 // 35 // func main() { 36 // pulumi.Run(func(ctx *pulumi.Context) error { 37 // _, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{ 38 // ClusterId: pulumi.Any(tf_test_cluster.Id), 39 // InstanceCount: pulumi.Int(1), 40 // InstanceType: pulumi.String("m5.xlarge"), 41 // Name: pulumi.String("my little instance group"), 42 // }) 43 // if err != nil { 44 // return err 45 // } 46 // return nil 47 // }) 48 // } 49 // 50 // ``` 51 // <!--End PulumiCodeChooser --> 52 // 53 // ## Import 54 // 55 // Using `pulumi import`, import EMR task instance group using their EMR Cluster id and Instance Group id separated by a forward-slash `/`. For example: 56 // 57 // ```sh 58 // $ pulumi import aws:emr/instanceGroup:InstanceGroup task_group j-123456ABCDEF/ig-15EK4O09RZLNR 59 // ``` 60 type InstanceGroup struct { 61 pulumi.CustomResourceState 62 63 // The autoscaling policy document. This is a JSON formatted string. See [EMR Auto Scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html) 64 AutoscalingPolicy pulumi.StringPtrOutput `pulumi:"autoscalingPolicy"` 65 // If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances. 66 BidPrice pulumi.StringPtrOutput `pulumi:"bidPrice"` 67 // ID of the EMR Cluster to attach to. Changing this forces a new resource to be created. 68 ClusterId pulumi.StringOutput `pulumi:"clusterId"` 69 // A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later. 70 // 71 // <!--Start PulumiCodeChooser --> 72 // ```go 73 // package main 74 // 75 // import ( 76 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr" 77 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 78 // ) 79 // 80 // func main() { 81 // pulumi.Run(func(ctx *pulumi.Context) error { 82 // _, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{ 83 // ConfigurationsJson: pulumi.String(`[ 84 // { 85 // "Classification": "hadoop-env", 86 // "Configurations": [ 87 // { 88 // "Classification": "export", 89 // "Properties": { 90 // "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" 91 // } 92 // } 93 // ], 94 // "Properties": {} 95 // } 96 // ] 97 // `), 98 // }) 99 // if err != nil { 100 // return err 101 // } 102 // return nil 103 // }) 104 // } 105 // ``` 106 // <!--End PulumiCodeChooser --> 107 ConfigurationsJson pulumi.StringPtrOutput `pulumi:"configurationsJson"` 108 // One or more `ebsConfig` blocks as defined below. Changing this forces a new resource to be created. 109 EbsConfigs InstanceGroupEbsConfigArrayOutput `pulumi:"ebsConfigs"` 110 // Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created. 111 EbsOptimized pulumi.BoolPtrOutput `pulumi:"ebsOptimized"` 112 // target number of instances for the instance group. defaults to 0. 113 InstanceCount pulumi.IntOutput `pulumi:"instanceCount"` 114 // The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created. 115 InstanceType pulumi.StringOutput `pulumi:"instanceType"` 116 // Human friendly name given to the instance group. Changing this forces a new resource to be created. 117 Name pulumi.StringOutput `pulumi:"name"` 118 // The number of instances currently running in this instance group. 119 RunningInstanceCount pulumi.IntOutput `pulumi:"runningInstanceCount"` 120 // The current status of the instance group. 121 Status pulumi.StringOutput `pulumi:"status"` 122 } 123 124 // NewInstanceGroup registers a new resource with the given unique name, arguments, and options. 125 func NewInstanceGroup(ctx *pulumi.Context, 126 name string, args *InstanceGroupArgs, opts ...pulumi.ResourceOption) (*InstanceGroup, error) { 127 if args == nil { 128 return nil, errors.New("missing one or more required arguments") 129 } 130 131 if args.ClusterId == nil { 132 return nil, errors.New("invalid value for required argument 'ClusterId'") 133 } 134 if args.InstanceType == nil { 135 return nil, errors.New("invalid value for required argument 'InstanceType'") 136 } 137 opts = internal.PkgResourceDefaultOpts(opts) 138 var resource InstanceGroup 139 err := ctx.RegisterResource("aws:emr/instanceGroup:InstanceGroup", name, args, &resource, opts...) 140 if err != nil { 141 return nil, err 142 } 143 return &resource, nil 144 } 145 146 // GetInstanceGroup gets an existing InstanceGroup resource's state with the given name, ID, and optional 147 // state properties that are used to uniquely qualify the lookup (nil if not required). 148 func GetInstanceGroup(ctx *pulumi.Context, 149 name string, id pulumi.IDInput, state *InstanceGroupState, opts ...pulumi.ResourceOption) (*InstanceGroup, error) { 150 var resource InstanceGroup 151 err := ctx.ReadResource("aws:emr/instanceGroup:InstanceGroup", name, id, state, &resource, opts...) 152 if err != nil { 153 return nil, err 154 } 155 return &resource, nil 156 } 157 158 // Input properties used for looking up and filtering InstanceGroup resources. 159 type instanceGroupState struct { 160 // The autoscaling policy document. This is a JSON formatted string. See [EMR Auto Scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html) 161 AutoscalingPolicy *string `pulumi:"autoscalingPolicy"` 162 // If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances. 163 BidPrice *string `pulumi:"bidPrice"` 164 // ID of the EMR Cluster to attach to. Changing this forces a new resource to be created. 165 ClusterId *string `pulumi:"clusterId"` 166 // A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later. 167 // 168 // <!--Start PulumiCodeChooser --> 169 // ```go 170 // package main 171 // 172 // import ( 173 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr" 174 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 175 // ) 176 // 177 // func main() { 178 // pulumi.Run(func(ctx *pulumi.Context) error { 179 // _, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{ 180 // ConfigurationsJson: pulumi.String(`[ 181 // { 182 // "Classification": "hadoop-env", 183 // "Configurations": [ 184 // { 185 // "Classification": "export", 186 // "Properties": { 187 // "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" 188 // } 189 // } 190 // ], 191 // "Properties": {} 192 // } 193 // ] 194 // `), 195 // }) 196 // if err != nil { 197 // return err 198 // } 199 // return nil 200 // }) 201 // } 202 // ``` 203 // <!--End PulumiCodeChooser --> 204 ConfigurationsJson *string `pulumi:"configurationsJson"` 205 // One or more `ebsConfig` blocks as defined below. Changing this forces a new resource to be created. 206 EbsConfigs []InstanceGroupEbsConfig `pulumi:"ebsConfigs"` 207 // Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created. 208 EbsOptimized *bool `pulumi:"ebsOptimized"` 209 // target number of instances for the instance group. defaults to 0. 210 InstanceCount *int `pulumi:"instanceCount"` 211 // The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created. 212 InstanceType *string `pulumi:"instanceType"` 213 // Human friendly name given to the instance group. Changing this forces a new resource to be created. 214 Name *string `pulumi:"name"` 215 // The number of instances currently running in this instance group. 216 RunningInstanceCount *int `pulumi:"runningInstanceCount"` 217 // The current status of the instance group. 218 Status *string `pulumi:"status"` 219 } 220 221 type InstanceGroupState struct { 222 // The autoscaling policy document. This is a JSON formatted string. See [EMR Auto Scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html) 223 AutoscalingPolicy pulumi.StringPtrInput 224 // If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances. 225 BidPrice pulumi.StringPtrInput 226 // ID of the EMR Cluster to attach to. Changing this forces a new resource to be created. 227 ClusterId pulumi.StringPtrInput 228 // A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later. 229 // 230 // <!--Start PulumiCodeChooser --> 231 // ```go 232 // package main 233 // 234 // import ( 235 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr" 236 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 237 // ) 238 // 239 // func main() { 240 // pulumi.Run(func(ctx *pulumi.Context) error { 241 // _, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{ 242 // ConfigurationsJson: pulumi.String(`[ 243 // { 244 // "Classification": "hadoop-env", 245 // "Configurations": [ 246 // { 247 // "Classification": "export", 248 // "Properties": { 249 // "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" 250 // } 251 // } 252 // ], 253 // "Properties": {} 254 // } 255 // ] 256 // `), 257 // }) 258 // if err != nil { 259 // return err 260 // } 261 // return nil 262 // }) 263 // } 264 // ``` 265 // <!--End PulumiCodeChooser --> 266 ConfigurationsJson pulumi.StringPtrInput 267 // One or more `ebsConfig` blocks as defined below. Changing this forces a new resource to be created. 268 EbsConfigs InstanceGroupEbsConfigArrayInput 269 // Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created. 270 EbsOptimized pulumi.BoolPtrInput 271 // target number of instances for the instance group. defaults to 0. 272 InstanceCount pulumi.IntPtrInput 273 // The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created. 274 InstanceType pulumi.StringPtrInput 275 // Human friendly name given to the instance group. Changing this forces a new resource to be created. 276 Name pulumi.StringPtrInput 277 // The number of instances currently running in this instance group. 278 RunningInstanceCount pulumi.IntPtrInput 279 // The current status of the instance group. 280 Status pulumi.StringPtrInput 281 } 282 283 func (InstanceGroupState) ElementType() reflect.Type { 284 return reflect.TypeOf((*instanceGroupState)(nil)).Elem() 285 } 286 287 type instanceGroupArgs struct { 288 // The autoscaling policy document. This is a JSON formatted string. See [EMR Auto Scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html) 289 AutoscalingPolicy *string `pulumi:"autoscalingPolicy"` 290 // If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances. 291 BidPrice *string `pulumi:"bidPrice"` 292 // ID of the EMR Cluster to attach to. Changing this forces a new resource to be created. 293 ClusterId string `pulumi:"clusterId"` 294 // A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later. 295 // 296 // <!--Start PulumiCodeChooser --> 297 // ```go 298 // package main 299 // 300 // import ( 301 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr" 302 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 303 // ) 304 // 305 // func main() { 306 // pulumi.Run(func(ctx *pulumi.Context) error { 307 // _, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{ 308 // ConfigurationsJson: pulumi.String(`[ 309 // { 310 // "Classification": "hadoop-env", 311 // "Configurations": [ 312 // { 313 // "Classification": "export", 314 // "Properties": { 315 // "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" 316 // } 317 // } 318 // ], 319 // "Properties": {} 320 // } 321 // ] 322 // `), 323 // }) 324 // if err != nil { 325 // return err 326 // } 327 // return nil 328 // }) 329 // } 330 // ``` 331 // <!--End PulumiCodeChooser --> 332 ConfigurationsJson *string `pulumi:"configurationsJson"` 333 // One or more `ebsConfig` blocks as defined below. Changing this forces a new resource to be created. 334 EbsConfigs []InstanceGroupEbsConfig `pulumi:"ebsConfigs"` 335 // Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created. 336 EbsOptimized *bool `pulumi:"ebsOptimized"` 337 // target number of instances for the instance group. defaults to 0. 338 InstanceCount *int `pulumi:"instanceCount"` 339 // The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created. 340 InstanceType string `pulumi:"instanceType"` 341 // Human friendly name given to the instance group. Changing this forces a new resource to be created. 342 Name *string `pulumi:"name"` 343 } 344 345 // The set of arguments for constructing a InstanceGroup resource. 346 type InstanceGroupArgs struct { 347 // The autoscaling policy document. This is a JSON formatted string. See [EMR Auto Scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html) 348 AutoscalingPolicy pulumi.StringPtrInput 349 // If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances. 350 BidPrice pulumi.StringPtrInput 351 // ID of the EMR Cluster to attach to. Changing this forces a new resource to be created. 352 ClusterId pulumi.StringInput 353 // A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later. 354 // 355 // <!--Start PulumiCodeChooser --> 356 // ```go 357 // package main 358 // 359 // import ( 360 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr" 361 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 362 // ) 363 // 364 // func main() { 365 // pulumi.Run(func(ctx *pulumi.Context) error { 366 // _, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{ 367 // ConfigurationsJson: pulumi.String(`[ 368 // { 369 // "Classification": "hadoop-env", 370 // "Configurations": [ 371 // { 372 // "Classification": "export", 373 // "Properties": { 374 // "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" 375 // } 376 // } 377 // ], 378 // "Properties": {} 379 // } 380 // ] 381 // `), 382 // }) 383 // if err != nil { 384 // return err 385 // } 386 // return nil 387 // }) 388 // } 389 // ``` 390 // <!--End PulumiCodeChooser --> 391 ConfigurationsJson pulumi.StringPtrInput 392 // One or more `ebsConfig` blocks as defined below. Changing this forces a new resource to be created. 393 EbsConfigs InstanceGroupEbsConfigArrayInput 394 // Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created. 395 EbsOptimized pulumi.BoolPtrInput 396 // target number of instances for the instance group. defaults to 0. 397 InstanceCount pulumi.IntPtrInput 398 // The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created. 399 InstanceType pulumi.StringInput 400 // Human friendly name given to the instance group. Changing this forces a new resource to be created. 401 Name pulumi.StringPtrInput 402 } 403 404 func (InstanceGroupArgs) ElementType() reflect.Type { 405 return reflect.TypeOf((*instanceGroupArgs)(nil)).Elem() 406 } 407 408 type InstanceGroupInput interface { 409 pulumi.Input 410 411 ToInstanceGroupOutput() InstanceGroupOutput 412 ToInstanceGroupOutputWithContext(ctx context.Context) InstanceGroupOutput 413 } 414 415 func (*InstanceGroup) ElementType() reflect.Type { 416 return reflect.TypeOf((**InstanceGroup)(nil)).Elem() 417 } 418 419 func (i *InstanceGroup) ToInstanceGroupOutput() InstanceGroupOutput { 420 return i.ToInstanceGroupOutputWithContext(context.Background()) 421 } 422 423 func (i *InstanceGroup) ToInstanceGroupOutputWithContext(ctx context.Context) InstanceGroupOutput { 424 return pulumi.ToOutputWithContext(ctx, i).(InstanceGroupOutput) 425 } 426 427 // InstanceGroupArrayInput is an input type that accepts InstanceGroupArray and InstanceGroupArrayOutput values. 428 // You can construct a concrete instance of `InstanceGroupArrayInput` via: 429 // 430 // InstanceGroupArray{ InstanceGroupArgs{...} } 431 type InstanceGroupArrayInput interface { 432 pulumi.Input 433 434 ToInstanceGroupArrayOutput() InstanceGroupArrayOutput 435 ToInstanceGroupArrayOutputWithContext(context.Context) InstanceGroupArrayOutput 436 } 437 438 type InstanceGroupArray []InstanceGroupInput 439 440 func (InstanceGroupArray) ElementType() reflect.Type { 441 return reflect.TypeOf((*[]*InstanceGroup)(nil)).Elem() 442 } 443 444 func (i InstanceGroupArray) ToInstanceGroupArrayOutput() InstanceGroupArrayOutput { 445 return i.ToInstanceGroupArrayOutputWithContext(context.Background()) 446 } 447 448 func (i InstanceGroupArray) ToInstanceGroupArrayOutputWithContext(ctx context.Context) InstanceGroupArrayOutput { 449 return pulumi.ToOutputWithContext(ctx, i).(InstanceGroupArrayOutput) 450 } 451 452 // InstanceGroupMapInput is an input type that accepts InstanceGroupMap and InstanceGroupMapOutput values. 453 // You can construct a concrete instance of `InstanceGroupMapInput` via: 454 // 455 // InstanceGroupMap{ "key": InstanceGroupArgs{...} } 456 type InstanceGroupMapInput interface { 457 pulumi.Input 458 459 ToInstanceGroupMapOutput() InstanceGroupMapOutput 460 ToInstanceGroupMapOutputWithContext(context.Context) InstanceGroupMapOutput 461 } 462 463 type InstanceGroupMap map[string]InstanceGroupInput 464 465 func (InstanceGroupMap) ElementType() reflect.Type { 466 return reflect.TypeOf((*map[string]*InstanceGroup)(nil)).Elem() 467 } 468 469 func (i InstanceGroupMap) ToInstanceGroupMapOutput() InstanceGroupMapOutput { 470 return i.ToInstanceGroupMapOutputWithContext(context.Background()) 471 } 472 473 func (i InstanceGroupMap) ToInstanceGroupMapOutputWithContext(ctx context.Context) InstanceGroupMapOutput { 474 return pulumi.ToOutputWithContext(ctx, i).(InstanceGroupMapOutput) 475 } 476 477 type InstanceGroupOutput struct{ *pulumi.OutputState } 478 479 func (InstanceGroupOutput) ElementType() reflect.Type { 480 return reflect.TypeOf((**InstanceGroup)(nil)).Elem() 481 } 482 483 func (o InstanceGroupOutput) ToInstanceGroupOutput() InstanceGroupOutput { 484 return o 485 } 486 487 func (o InstanceGroupOutput) ToInstanceGroupOutputWithContext(ctx context.Context) InstanceGroupOutput { 488 return o 489 } 490 491 // The autoscaling policy document. This is a JSON formatted string. See [EMR Auto Scaling](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html) 492 func (o InstanceGroupOutput) AutoscalingPolicy() pulumi.StringPtrOutput { 493 return o.ApplyT(func(v *InstanceGroup) pulumi.StringPtrOutput { return v.AutoscalingPolicy }).(pulumi.StringPtrOutput) 494 } 495 496 // If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances. 497 func (o InstanceGroupOutput) BidPrice() pulumi.StringPtrOutput { 498 return o.ApplyT(func(v *InstanceGroup) pulumi.StringPtrOutput { return v.BidPrice }).(pulumi.StringPtrOutput) 499 } 500 501 // ID of the EMR Cluster to attach to. Changing this forces a new resource to be created. 502 func (o InstanceGroupOutput) ClusterId() pulumi.StringOutput { 503 return o.ApplyT(func(v *InstanceGroup) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) 504 } 505 506 // A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later. 507 // 508 // <!--Start PulumiCodeChooser --> 509 // ```go 510 // package main 511 // 512 // import ( 513 // 514 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr" 515 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 516 // 517 // ) 518 // 519 // func main() { 520 // pulumi.Run(func(ctx *pulumi.Context) error { 521 // _, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{ 522 // ConfigurationsJson: pulumi.String(`[ 523 // 524 // { 525 // "Classification": "hadoop-env", 526 // "Configurations": [ 527 // { 528 // "Classification": "export", 529 // "Properties": { 530 // "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" 531 // } 532 // } 533 // ], 534 // "Properties": {} 535 // } 536 // ] 537 // `), 538 // 539 // }) 540 // if err != nil { 541 // return err 542 // } 543 // return nil 544 // }) 545 // } 546 // 547 // ``` 548 // <!--End PulumiCodeChooser --> 549 func (o InstanceGroupOutput) ConfigurationsJson() pulumi.StringPtrOutput { 550 return o.ApplyT(func(v *InstanceGroup) pulumi.StringPtrOutput { return v.ConfigurationsJson }).(pulumi.StringPtrOutput) 551 } 552 553 // One or more `ebsConfig` blocks as defined below. Changing this forces a new resource to be created. 554 func (o InstanceGroupOutput) EbsConfigs() InstanceGroupEbsConfigArrayOutput { 555 return o.ApplyT(func(v *InstanceGroup) InstanceGroupEbsConfigArrayOutput { return v.EbsConfigs }).(InstanceGroupEbsConfigArrayOutput) 556 } 557 558 // Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created. 559 func (o InstanceGroupOutput) EbsOptimized() pulumi.BoolPtrOutput { 560 return o.ApplyT(func(v *InstanceGroup) pulumi.BoolPtrOutput { return v.EbsOptimized }).(pulumi.BoolPtrOutput) 561 } 562 563 // target number of instances for the instance group. defaults to 0. 564 func (o InstanceGroupOutput) InstanceCount() pulumi.IntOutput { 565 return o.ApplyT(func(v *InstanceGroup) pulumi.IntOutput { return v.InstanceCount }).(pulumi.IntOutput) 566 } 567 568 // The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created. 569 func (o InstanceGroupOutput) InstanceType() pulumi.StringOutput { 570 return o.ApplyT(func(v *InstanceGroup) pulumi.StringOutput { return v.InstanceType }).(pulumi.StringOutput) 571 } 572 573 // Human friendly name given to the instance group. Changing this forces a new resource to be created. 574 func (o InstanceGroupOutput) Name() pulumi.StringOutput { 575 return o.ApplyT(func(v *InstanceGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 576 } 577 578 // The number of instances currently running in this instance group. 579 func (o InstanceGroupOutput) RunningInstanceCount() pulumi.IntOutput { 580 return o.ApplyT(func(v *InstanceGroup) pulumi.IntOutput { return v.RunningInstanceCount }).(pulumi.IntOutput) 581 } 582 583 // The current status of the instance group. 584 func (o InstanceGroupOutput) Status() pulumi.StringOutput { 585 return o.ApplyT(func(v *InstanceGroup) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) 586 } 587 588 type InstanceGroupArrayOutput struct{ *pulumi.OutputState } 589 590 func (InstanceGroupArrayOutput) ElementType() reflect.Type { 591 return reflect.TypeOf((*[]*InstanceGroup)(nil)).Elem() 592 } 593 594 func (o InstanceGroupArrayOutput) ToInstanceGroupArrayOutput() InstanceGroupArrayOutput { 595 return o 596 } 597 598 func (o InstanceGroupArrayOutput) ToInstanceGroupArrayOutputWithContext(ctx context.Context) InstanceGroupArrayOutput { 599 return o 600 } 601 602 func (o InstanceGroupArrayOutput) Index(i pulumi.IntInput) InstanceGroupOutput { 603 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InstanceGroup { 604 return vs[0].([]*InstanceGroup)[vs[1].(int)] 605 }).(InstanceGroupOutput) 606 } 607 608 type InstanceGroupMapOutput struct{ *pulumi.OutputState } 609 610 func (InstanceGroupMapOutput) ElementType() reflect.Type { 611 return reflect.TypeOf((*map[string]*InstanceGroup)(nil)).Elem() 612 } 613 614 func (o InstanceGroupMapOutput) ToInstanceGroupMapOutput() InstanceGroupMapOutput { 615 return o 616 } 617 618 func (o InstanceGroupMapOutput) ToInstanceGroupMapOutputWithContext(ctx context.Context) InstanceGroupMapOutput { 619 return o 620 } 621 622 func (o InstanceGroupMapOutput) MapIndex(k pulumi.StringInput) InstanceGroupOutput { 623 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InstanceGroup { 624 return vs[0].(map[string]*InstanceGroup)[vs[1].(string)] 625 }).(InstanceGroupOutput) 626 } 627 628 func init() { 629 pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupInput)(nil)).Elem(), &InstanceGroup{}) 630 pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupArrayInput)(nil)).Elem(), InstanceGroupArray{}) 631 pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupMapInput)(nil)).Elem(), InstanceGroupMap{}) 632 pulumi.RegisterOutputType(InstanceGroupOutput{}) 633 pulumi.RegisterOutputType(InstanceGroupArrayOutput{}) 634 pulumi.RegisterOutputType(InstanceGroupMapOutput{}) 635 }