github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/opsworks/ecsClusterLayer.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 opsworks 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 OpsWorks ECS Cluster layer resource. 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/opsworks" 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 := opsworks.NewEcsClusterLayer(ctx, "example", &opsworks.EcsClusterLayerArgs{ 33 // StackId: pulumi.Any(exampleAwsOpsworksStack.Id), 34 // EcsClusterArn: pulumi.Any(exampleAwsEcsCluster.Arn), 35 // }) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 type EcsClusterLayer struct { 46 pulumi.CustomResourceState 47 48 // The Amazon Resource Name(ARN) of the layer. 49 Arn pulumi.StringOutput `pulumi:"arn"` 50 // Whether to automatically assign an elastic IP address to the layer's instances. 51 AutoAssignElasticIps pulumi.BoolPtrOutput `pulumi:"autoAssignElasticIps"` 52 // For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances. 53 AutoAssignPublicIps pulumi.BoolPtrOutput `pulumi:"autoAssignPublicIps"` 54 // Whether to enable auto-healing for the layer. 55 AutoHealing pulumi.BoolPtrOutput `pulumi:"autoHealing"` 56 CloudwatchConfiguration EcsClusterLayerCloudwatchConfigurationPtrOutput `pulumi:"cloudwatchConfiguration"` 57 CustomConfigureRecipes pulumi.StringArrayOutput `pulumi:"customConfigureRecipes"` 58 CustomDeployRecipes pulumi.StringArrayOutput `pulumi:"customDeployRecipes"` 59 // The ARN of an IAM profile that will be used for the layer's instances. 60 CustomInstanceProfileArn pulumi.StringPtrOutput `pulumi:"customInstanceProfileArn"` 61 // Custom JSON attributes to apply to the layer. 62 CustomJson pulumi.StringPtrOutput `pulumi:"customJson"` 63 // Ids for a set of security groups to apply to the layer's instances. 64 CustomSecurityGroupIds pulumi.StringArrayOutput `pulumi:"customSecurityGroupIds"` 65 CustomSetupRecipes pulumi.StringArrayOutput `pulumi:"customSetupRecipes"` 66 CustomShutdownRecipes pulumi.StringArrayOutput `pulumi:"customShutdownRecipes"` 67 CustomUndeployRecipes pulumi.StringArrayOutput `pulumi:"customUndeployRecipes"` 68 // Whether to enable Elastic Load Balancing connection draining. 69 DrainElbOnShutdown pulumi.BoolPtrOutput `pulumi:"drainElbOnShutdown"` 70 // `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances. 71 EbsVolumes EcsClusterLayerEbsVolumeArrayOutput `pulumi:"ebsVolumes"` 72 // The ECS Cluster ARN of the layer. 73 EcsClusterArn pulumi.StringOutput `pulumi:"ecsClusterArn"` 74 // Name of an Elastic Load Balancer to attach to this layer 75 ElasticLoadBalancer pulumi.StringPtrOutput `pulumi:"elasticLoadBalancer"` 76 // Whether to install OS and package updates on each instance when it boots. 77 InstallUpdatesOnBoot pulumi.BoolPtrOutput `pulumi:"installUpdatesOnBoot"` 78 // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. 79 InstanceShutdownTimeout pulumi.IntPtrOutput `pulumi:"instanceShutdownTimeout"` 80 LoadBasedAutoScaling EcsClusterLayerLoadBasedAutoScalingOutput `pulumi:"loadBasedAutoScaling"` 81 // A human-readable name for the layer. 82 Name pulumi.StringOutput `pulumi:"name"` 83 // ID of the stack the layer will belong to. 84 StackId pulumi.StringOutput `pulumi:"stackId"` 85 // Names of a set of system packages to install on the layer's instances. 86 SystemPackages pulumi.StringArrayOutput `pulumi:"systemPackages"` 87 // A mapping of tags to assign to the resource. 88 // 89 // The following extra optional arguments, all lists of Chef recipe names, allow 90 // custom Chef recipes to be applied to layer instances at the five different 91 // lifecycle events, if custom cookbooks are enabled on the layer's stack: 92 Tags pulumi.StringMapOutput `pulumi:"tags"` 93 // Deprecated: Please use `tags` instead. 94 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 95 // Whether to use EBS-optimized instances. 96 UseEbsOptimizedInstances pulumi.BoolPtrOutput `pulumi:"useEbsOptimizedInstances"` 97 } 98 99 // NewEcsClusterLayer registers a new resource with the given unique name, arguments, and options. 100 func NewEcsClusterLayer(ctx *pulumi.Context, 101 name string, args *EcsClusterLayerArgs, opts ...pulumi.ResourceOption) (*EcsClusterLayer, error) { 102 if args == nil { 103 return nil, errors.New("missing one or more required arguments") 104 } 105 106 if args.EcsClusterArn == nil { 107 return nil, errors.New("invalid value for required argument 'EcsClusterArn'") 108 } 109 if args.StackId == nil { 110 return nil, errors.New("invalid value for required argument 'StackId'") 111 } 112 opts = internal.PkgResourceDefaultOpts(opts) 113 var resource EcsClusterLayer 114 err := ctx.RegisterResource("aws:opsworks/ecsClusterLayer:EcsClusterLayer", name, args, &resource, opts...) 115 if err != nil { 116 return nil, err 117 } 118 return &resource, nil 119 } 120 121 // GetEcsClusterLayer gets an existing EcsClusterLayer resource's state with the given name, ID, and optional 122 // state properties that are used to uniquely qualify the lookup (nil if not required). 123 func GetEcsClusterLayer(ctx *pulumi.Context, 124 name string, id pulumi.IDInput, state *EcsClusterLayerState, opts ...pulumi.ResourceOption) (*EcsClusterLayer, error) { 125 var resource EcsClusterLayer 126 err := ctx.ReadResource("aws:opsworks/ecsClusterLayer:EcsClusterLayer", name, id, state, &resource, opts...) 127 if err != nil { 128 return nil, err 129 } 130 return &resource, nil 131 } 132 133 // Input properties used for looking up and filtering EcsClusterLayer resources. 134 type ecsClusterLayerState struct { 135 // The Amazon Resource Name(ARN) of the layer. 136 Arn *string `pulumi:"arn"` 137 // Whether to automatically assign an elastic IP address to the layer's instances. 138 AutoAssignElasticIps *bool `pulumi:"autoAssignElasticIps"` 139 // For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances. 140 AutoAssignPublicIps *bool `pulumi:"autoAssignPublicIps"` 141 // Whether to enable auto-healing for the layer. 142 AutoHealing *bool `pulumi:"autoHealing"` 143 CloudwatchConfiguration *EcsClusterLayerCloudwatchConfiguration `pulumi:"cloudwatchConfiguration"` 144 CustomConfigureRecipes []string `pulumi:"customConfigureRecipes"` 145 CustomDeployRecipes []string `pulumi:"customDeployRecipes"` 146 // The ARN of an IAM profile that will be used for the layer's instances. 147 CustomInstanceProfileArn *string `pulumi:"customInstanceProfileArn"` 148 // Custom JSON attributes to apply to the layer. 149 CustomJson *string `pulumi:"customJson"` 150 // Ids for a set of security groups to apply to the layer's instances. 151 CustomSecurityGroupIds []string `pulumi:"customSecurityGroupIds"` 152 CustomSetupRecipes []string `pulumi:"customSetupRecipes"` 153 CustomShutdownRecipes []string `pulumi:"customShutdownRecipes"` 154 CustomUndeployRecipes []string `pulumi:"customUndeployRecipes"` 155 // Whether to enable Elastic Load Balancing connection draining. 156 DrainElbOnShutdown *bool `pulumi:"drainElbOnShutdown"` 157 // `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances. 158 EbsVolumes []EcsClusterLayerEbsVolume `pulumi:"ebsVolumes"` 159 // The ECS Cluster ARN of the layer. 160 EcsClusterArn *string `pulumi:"ecsClusterArn"` 161 // Name of an Elastic Load Balancer to attach to this layer 162 ElasticLoadBalancer *string `pulumi:"elasticLoadBalancer"` 163 // Whether to install OS and package updates on each instance when it boots. 164 InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` 165 // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. 166 InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` 167 LoadBasedAutoScaling *EcsClusterLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` 168 // A human-readable name for the layer. 169 Name *string `pulumi:"name"` 170 // ID of the stack the layer will belong to. 171 StackId *string `pulumi:"stackId"` 172 // Names of a set of system packages to install on the layer's instances. 173 SystemPackages []string `pulumi:"systemPackages"` 174 // A mapping of tags to assign to the resource. 175 // 176 // The following extra optional arguments, all lists of Chef recipe names, allow 177 // custom Chef recipes to be applied to layer instances at the five different 178 // lifecycle events, if custom cookbooks are enabled on the layer's stack: 179 Tags map[string]string `pulumi:"tags"` 180 // Deprecated: Please use `tags` instead. 181 TagsAll map[string]string `pulumi:"tagsAll"` 182 // Whether to use EBS-optimized instances. 183 UseEbsOptimizedInstances *bool `pulumi:"useEbsOptimizedInstances"` 184 } 185 186 type EcsClusterLayerState struct { 187 // The Amazon Resource Name(ARN) of the layer. 188 Arn pulumi.StringPtrInput 189 // Whether to automatically assign an elastic IP address to the layer's instances. 190 AutoAssignElasticIps pulumi.BoolPtrInput 191 // For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances. 192 AutoAssignPublicIps pulumi.BoolPtrInput 193 // Whether to enable auto-healing for the layer. 194 AutoHealing pulumi.BoolPtrInput 195 CloudwatchConfiguration EcsClusterLayerCloudwatchConfigurationPtrInput 196 CustomConfigureRecipes pulumi.StringArrayInput 197 CustomDeployRecipes pulumi.StringArrayInput 198 // The ARN of an IAM profile that will be used for the layer's instances. 199 CustomInstanceProfileArn pulumi.StringPtrInput 200 // Custom JSON attributes to apply to the layer. 201 CustomJson pulumi.StringPtrInput 202 // Ids for a set of security groups to apply to the layer's instances. 203 CustomSecurityGroupIds pulumi.StringArrayInput 204 CustomSetupRecipes pulumi.StringArrayInput 205 CustomShutdownRecipes pulumi.StringArrayInput 206 CustomUndeployRecipes pulumi.StringArrayInput 207 // Whether to enable Elastic Load Balancing connection draining. 208 DrainElbOnShutdown pulumi.BoolPtrInput 209 // `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances. 210 EbsVolumes EcsClusterLayerEbsVolumeArrayInput 211 // The ECS Cluster ARN of the layer. 212 EcsClusterArn pulumi.StringPtrInput 213 // Name of an Elastic Load Balancer to attach to this layer 214 ElasticLoadBalancer pulumi.StringPtrInput 215 // Whether to install OS and package updates on each instance when it boots. 216 InstallUpdatesOnBoot pulumi.BoolPtrInput 217 // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. 218 InstanceShutdownTimeout pulumi.IntPtrInput 219 LoadBasedAutoScaling EcsClusterLayerLoadBasedAutoScalingPtrInput 220 // A human-readable name for the layer. 221 Name pulumi.StringPtrInput 222 // ID of the stack the layer will belong to. 223 StackId pulumi.StringPtrInput 224 // Names of a set of system packages to install on the layer's instances. 225 SystemPackages pulumi.StringArrayInput 226 // A mapping of tags to assign to the resource. 227 // 228 // The following extra optional arguments, all lists of Chef recipe names, allow 229 // custom Chef recipes to be applied to layer instances at the five different 230 // lifecycle events, if custom cookbooks are enabled on the layer's stack: 231 Tags pulumi.StringMapInput 232 // Deprecated: Please use `tags` instead. 233 TagsAll pulumi.StringMapInput 234 // Whether to use EBS-optimized instances. 235 UseEbsOptimizedInstances pulumi.BoolPtrInput 236 } 237 238 func (EcsClusterLayerState) ElementType() reflect.Type { 239 return reflect.TypeOf((*ecsClusterLayerState)(nil)).Elem() 240 } 241 242 type ecsClusterLayerArgs struct { 243 // Whether to automatically assign an elastic IP address to the layer's instances. 244 AutoAssignElasticIps *bool `pulumi:"autoAssignElasticIps"` 245 // For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances. 246 AutoAssignPublicIps *bool `pulumi:"autoAssignPublicIps"` 247 // Whether to enable auto-healing for the layer. 248 AutoHealing *bool `pulumi:"autoHealing"` 249 CloudwatchConfiguration *EcsClusterLayerCloudwatchConfiguration `pulumi:"cloudwatchConfiguration"` 250 CustomConfigureRecipes []string `pulumi:"customConfigureRecipes"` 251 CustomDeployRecipes []string `pulumi:"customDeployRecipes"` 252 // The ARN of an IAM profile that will be used for the layer's instances. 253 CustomInstanceProfileArn *string `pulumi:"customInstanceProfileArn"` 254 // Custom JSON attributes to apply to the layer. 255 CustomJson *string `pulumi:"customJson"` 256 // Ids for a set of security groups to apply to the layer's instances. 257 CustomSecurityGroupIds []string `pulumi:"customSecurityGroupIds"` 258 CustomSetupRecipes []string `pulumi:"customSetupRecipes"` 259 CustomShutdownRecipes []string `pulumi:"customShutdownRecipes"` 260 CustomUndeployRecipes []string `pulumi:"customUndeployRecipes"` 261 // Whether to enable Elastic Load Balancing connection draining. 262 DrainElbOnShutdown *bool `pulumi:"drainElbOnShutdown"` 263 // `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances. 264 EbsVolumes []EcsClusterLayerEbsVolume `pulumi:"ebsVolumes"` 265 // The ECS Cluster ARN of the layer. 266 EcsClusterArn string `pulumi:"ecsClusterArn"` 267 // Name of an Elastic Load Balancer to attach to this layer 268 ElasticLoadBalancer *string `pulumi:"elasticLoadBalancer"` 269 // Whether to install OS and package updates on each instance when it boots. 270 InstallUpdatesOnBoot *bool `pulumi:"installUpdatesOnBoot"` 271 // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. 272 InstanceShutdownTimeout *int `pulumi:"instanceShutdownTimeout"` 273 LoadBasedAutoScaling *EcsClusterLayerLoadBasedAutoScaling `pulumi:"loadBasedAutoScaling"` 274 // A human-readable name for the layer. 275 Name *string `pulumi:"name"` 276 // ID of the stack the layer will belong to. 277 StackId string `pulumi:"stackId"` 278 // Names of a set of system packages to install on the layer's instances. 279 SystemPackages []string `pulumi:"systemPackages"` 280 // A mapping of tags to assign to the resource. 281 // 282 // The following extra optional arguments, all lists of Chef recipe names, allow 283 // custom Chef recipes to be applied to layer instances at the five different 284 // lifecycle events, if custom cookbooks are enabled on the layer's stack: 285 Tags map[string]string `pulumi:"tags"` 286 // Whether to use EBS-optimized instances. 287 UseEbsOptimizedInstances *bool `pulumi:"useEbsOptimizedInstances"` 288 } 289 290 // The set of arguments for constructing a EcsClusterLayer resource. 291 type EcsClusterLayerArgs struct { 292 // Whether to automatically assign an elastic IP address to the layer's instances. 293 AutoAssignElasticIps pulumi.BoolPtrInput 294 // For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances. 295 AutoAssignPublicIps pulumi.BoolPtrInput 296 // Whether to enable auto-healing for the layer. 297 AutoHealing pulumi.BoolPtrInput 298 CloudwatchConfiguration EcsClusterLayerCloudwatchConfigurationPtrInput 299 CustomConfigureRecipes pulumi.StringArrayInput 300 CustomDeployRecipes pulumi.StringArrayInput 301 // The ARN of an IAM profile that will be used for the layer's instances. 302 CustomInstanceProfileArn pulumi.StringPtrInput 303 // Custom JSON attributes to apply to the layer. 304 CustomJson pulumi.StringPtrInput 305 // Ids for a set of security groups to apply to the layer's instances. 306 CustomSecurityGroupIds pulumi.StringArrayInput 307 CustomSetupRecipes pulumi.StringArrayInput 308 CustomShutdownRecipes pulumi.StringArrayInput 309 CustomUndeployRecipes pulumi.StringArrayInput 310 // Whether to enable Elastic Load Balancing connection draining. 311 DrainElbOnShutdown pulumi.BoolPtrInput 312 // `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances. 313 EbsVolumes EcsClusterLayerEbsVolumeArrayInput 314 // The ECS Cluster ARN of the layer. 315 EcsClusterArn pulumi.StringInput 316 // Name of an Elastic Load Balancer to attach to this layer 317 ElasticLoadBalancer pulumi.StringPtrInput 318 // Whether to install OS and package updates on each instance when it boots. 319 InstallUpdatesOnBoot pulumi.BoolPtrInput 320 // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. 321 InstanceShutdownTimeout pulumi.IntPtrInput 322 LoadBasedAutoScaling EcsClusterLayerLoadBasedAutoScalingPtrInput 323 // A human-readable name for the layer. 324 Name pulumi.StringPtrInput 325 // ID of the stack the layer will belong to. 326 StackId pulumi.StringInput 327 // Names of a set of system packages to install on the layer's instances. 328 SystemPackages pulumi.StringArrayInput 329 // A mapping of tags to assign to the resource. 330 // 331 // The following extra optional arguments, all lists of Chef recipe names, allow 332 // custom Chef recipes to be applied to layer instances at the five different 333 // lifecycle events, if custom cookbooks are enabled on the layer's stack: 334 Tags pulumi.StringMapInput 335 // Whether to use EBS-optimized instances. 336 UseEbsOptimizedInstances pulumi.BoolPtrInput 337 } 338 339 func (EcsClusterLayerArgs) ElementType() reflect.Type { 340 return reflect.TypeOf((*ecsClusterLayerArgs)(nil)).Elem() 341 } 342 343 type EcsClusterLayerInput interface { 344 pulumi.Input 345 346 ToEcsClusterLayerOutput() EcsClusterLayerOutput 347 ToEcsClusterLayerOutputWithContext(ctx context.Context) EcsClusterLayerOutput 348 } 349 350 func (*EcsClusterLayer) ElementType() reflect.Type { 351 return reflect.TypeOf((**EcsClusterLayer)(nil)).Elem() 352 } 353 354 func (i *EcsClusterLayer) ToEcsClusterLayerOutput() EcsClusterLayerOutput { 355 return i.ToEcsClusterLayerOutputWithContext(context.Background()) 356 } 357 358 func (i *EcsClusterLayer) ToEcsClusterLayerOutputWithContext(ctx context.Context) EcsClusterLayerOutput { 359 return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerOutput) 360 } 361 362 // EcsClusterLayerArrayInput is an input type that accepts EcsClusterLayerArray and EcsClusterLayerArrayOutput values. 363 // You can construct a concrete instance of `EcsClusterLayerArrayInput` via: 364 // 365 // EcsClusterLayerArray{ EcsClusterLayerArgs{...} } 366 type EcsClusterLayerArrayInput interface { 367 pulumi.Input 368 369 ToEcsClusterLayerArrayOutput() EcsClusterLayerArrayOutput 370 ToEcsClusterLayerArrayOutputWithContext(context.Context) EcsClusterLayerArrayOutput 371 } 372 373 type EcsClusterLayerArray []EcsClusterLayerInput 374 375 func (EcsClusterLayerArray) ElementType() reflect.Type { 376 return reflect.TypeOf((*[]*EcsClusterLayer)(nil)).Elem() 377 } 378 379 func (i EcsClusterLayerArray) ToEcsClusterLayerArrayOutput() EcsClusterLayerArrayOutput { 380 return i.ToEcsClusterLayerArrayOutputWithContext(context.Background()) 381 } 382 383 func (i EcsClusterLayerArray) ToEcsClusterLayerArrayOutputWithContext(ctx context.Context) EcsClusterLayerArrayOutput { 384 return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerArrayOutput) 385 } 386 387 // EcsClusterLayerMapInput is an input type that accepts EcsClusterLayerMap and EcsClusterLayerMapOutput values. 388 // You can construct a concrete instance of `EcsClusterLayerMapInput` via: 389 // 390 // EcsClusterLayerMap{ "key": EcsClusterLayerArgs{...} } 391 type EcsClusterLayerMapInput interface { 392 pulumi.Input 393 394 ToEcsClusterLayerMapOutput() EcsClusterLayerMapOutput 395 ToEcsClusterLayerMapOutputWithContext(context.Context) EcsClusterLayerMapOutput 396 } 397 398 type EcsClusterLayerMap map[string]EcsClusterLayerInput 399 400 func (EcsClusterLayerMap) ElementType() reflect.Type { 401 return reflect.TypeOf((*map[string]*EcsClusterLayer)(nil)).Elem() 402 } 403 404 func (i EcsClusterLayerMap) ToEcsClusterLayerMapOutput() EcsClusterLayerMapOutput { 405 return i.ToEcsClusterLayerMapOutputWithContext(context.Background()) 406 } 407 408 func (i EcsClusterLayerMap) ToEcsClusterLayerMapOutputWithContext(ctx context.Context) EcsClusterLayerMapOutput { 409 return pulumi.ToOutputWithContext(ctx, i).(EcsClusterLayerMapOutput) 410 } 411 412 type EcsClusterLayerOutput struct{ *pulumi.OutputState } 413 414 func (EcsClusterLayerOutput) ElementType() reflect.Type { 415 return reflect.TypeOf((**EcsClusterLayer)(nil)).Elem() 416 } 417 418 func (o EcsClusterLayerOutput) ToEcsClusterLayerOutput() EcsClusterLayerOutput { 419 return o 420 } 421 422 func (o EcsClusterLayerOutput) ToEcsClusterLayerOutputWithContext(ctx context.Context) EcsClusterLayerOutput { 423 return o 424 } 425 426 // The Amazon Resource Name(ARN) of the layer. 427 func (o EcsClusterLayerOutput) Arn() pulumi.StringOutput { 428 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 429 } 430 431 // Whether to automatically assign an elastic IP address to the layer's instances. 432 func (o EcsClusterLayerOutput) AutoAssignElasticIps() pulumi.BoolPtrOutput { 433 return o.ApplyT(func(v *EcsClusterLayer) pulumi.BoolPtrOutput { return v.AutoAssignElasticIps }).(pulumi.BoolPtrOutput) 434 } 435 436 // For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances. 437 func (o EcsClusterLayerOutput) AutoAssignPublicIps() pulumi.BoolPtrOutput { 438 return o.ApplyT(func(v *EcsClusterLayer) pulumi.BoolPtrOutput { return v.AutoAssignPublicIps }).(pulumi.BoolPtrOutput) 439 } 440 441 // Whether to enable auto-healing for the layer. 442 func (o EcsClusterLayerOutput) AutoHealing() pulumi.BoolPtrOutput { 443 return o.ApplyT(func(v *EcsClusterLayer) pulumi.BoolPtrOutput { return v.AutoHealing }).(pulumi.BoolPtrOutput) 444 } 445 446 func (o EcsClusterLayerOutput) CloudwatchConfiguration() EcsClusterLayerCloudwatchConfigurationPtrOutput { 447 return o.ApplyT(func(v *EcsClusterLayer) EcsClusterLayerCloudwatchConfigurationPtrOutput { 448 return v.CloudwatchConfiguration 449 }).(EcsClusterLayerCloudwatchConfigurationPtrOutput) 450 } 451 452 func (o EcsClusterLayerOutput) CustomConfigureRecipes() pulumi.StringArrayOutput { 453 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringArrayOutput { return v.CustomConfigureRecipes }).(pulumi.StringArrayOutput) 454 } 455 456 func (o EcsClusterLayerOutput) CustomDeployRecipes() pulumi.StringArrayOutput { 457 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringArrayOutput { return v.CustomDeployRecipes }).(pulumi.StringArrayOutput) 458 } 459 460 // The ARN of an IAM profile that will be used for the layer's instances. 461 func (o EcsClusterLayerOutput) CustomInstanceProfileArn() pulumi.StringPtrOutput { 462 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringPtrOutput { return v.CustomInstanceProfileArn }).(pulumi.StringPtrOutput) 463 } 464 465 // Custom JSON attributes to apply to the layer. 466 func (o EcsClusterLayerOutput) CustomJson() pulumi.StringPtrOutput { 467 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringPtrOutput { return v.CustomJson }).(pulumi.StringPtrOutput) 468 } 469 470 // Ids for a set of security groups to apply to the layer's instances. 471 func (o EcsClusterLayerOutput) CustomSecurityGroupIds() pulumi.StringArrayOutput { 472 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringArrayOutput { return v.CustomSecurityGroupIds }).(pulumi.StringArrayOutput) 473 } 474 475 func (o EcsClusterLayerOutput) CustomSetupRecipes() pulumi.StringArrayOutput { 476 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringArrayOutput { return v.CustomSetupRecipes }).(pulumi.StringArrayOutput) 477 } 478 479 func (o EcsClusterLayerOutput) CustomShutdownRecipes() pulumi.StringArrayOutput { 480 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringArrayOutput { return v.CustomShutdownRecipes }).(pulumi.StringArrayOutput) 481 } 482 483 func (o EcsClusterLayerOutput) CustomUndeployRecipes() pulumi.StringArrayOutput { 484 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringArrayOutput { return v.CustomUndeployRecipes }).(pulumi.StringArrayOutput) 485 } 486 487 // Whether to enable Elastic Load Balancing connection draining. 488 func (o EcsClusterLayerOutput) DrainElbOnShutdown() pulumi.BoolPtrOutput { 489 return o.ApplyT(func(v *EcsClusterLayer) pulumi.BoolPtrOutput { return v.DrainElbOnShutdown }).(pulumi.BoolPtrOutput) 490 } 491 492 // `ebsVolume` blocks, as described below, will each create an EBS volume and connect it to the layer's instances. 493 func (o EcsClusterLayerOutput) EbsVolumes() EcsClusterLayerEbsVolumeArrayOutput { 494 return o.ApplyT(func(v *EcsClusterLayer) EcsClusterLayerEbsVolumeArrayOutput { return v.EbsVolumes }).(EcsClusterLayerEbsVolumeArrayOutput) 495 } 496 497 // The ECS Cluster ARN of the layer. 498 func (o EcsClusterLayerOutput) EcsClusterArn() pulumi.StringOutput { 499 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringOutput { return v.EcsClusterArn }).(pulumi.StringOutput) 500 } 501 502 // Name of an Elastic Load Balancer to attach to this layer 503 func (o EcsClusterLayerOutput) ElasticLoadBalancer() pulumi.StringPtrOutput { 504 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringPtrOutput { return v.ElasticLoadBalancer }).(pulumi.StringPtrOutput) 505 } 506 507 // Whether to install OS and package updates on each instance when it boots. 508 func (o EcsClusterLayerOutput) InstallUpdatesOnBoot() pulumi.BoolPtrOutput { 509 return o.ApplyT(func(v *EcsClusterLayer) pulumi.BoolPtrOutput { return v.InstallUpdatesOnBoot }).(pulumi.BoolPtrOutput) 510 } 511 512 // The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event. 513 func (o EcsClusterLayerOutput) InstanceShutdownTimeout() pulumi.IntPtrOutput { 514 return o.ApplyT(func(v *EcsClusterLayer) pulumi.IntPtrOutput { return v.InstanceShutdownTimeout }).(pulumi.IntPtrOutput) 515 } 516 517 func (o EcsClusterLayerOutput) LoadBasedAutoScaling() EcsClusterLayerLoadBasedAutoScalingOutput { 518 return o.ApplyT(func(v *EcsClusterLayer) EcsClusterLayerLoadBasedAutoScalingOutput { return v.LoadBasedAutoScaling }).(EcsClusterLayerLoadBasedAutoScalingOutput) 519 } 520 521 // A human-readable name for the layer. 522 func (o EcsClusterLayerOutput) Name() pulumi.StringOutput { 523 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 524 } 525 526 // ID of the stack the layer will belong to. 527 func (o EcsClusterLayerOutput) StackId() pulumi.StringOutput { 528 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringOutput { return v.StackId }).(pulumi.StringOutput) 529 } 530 531 // Names of a set of system packages to install on the layer's instances. 532 func (o EcsClusterLayerOutput) SystemPackages() pulumi.StringArrayOutput { 533 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringArrayOutput { return v.SystemPackages }).(pulumi.StringArrayOutput) 534 } 535 536 // A mapping of tags to assign to the resource. 537 // 538 // The following extra optional arguments, all lists of Chef recipe names, allow 539 // custom Chef recipes to be applied to layer instances at the five different 540 // lifecycle events, if custom cookbooks are enabled on the layer's stack: 541 func (o EcsClusterLayerOutput) Tags() pulumi.StringMapOutput { 542 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 543 } 544 545 // Deprecated: Please use `tags` instead. 546 func (o EcsClusterLayerOutput) TagsAll() pulumi.StringMapOutput { 547 return o.ApplyT(func(v *EcsClusterLayer) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 548 } 549 550 // Whether to use EBS-optimized instances. 551 func (o EcsClusterLayerOutput) UseEbsOptimizedInstances() pulumi.BoolPtrOutput { 552 return o.ApplyT(func(v *EcsClusterLayer) pulumi.BoolPtrOutput { return v.UseEbsOptimizedInstances }).(pulumi.BoolPtrOutput) 553 } 554 555 type EcsClusterLayerArrayOutput struct{ *pulumi.OutputState } 556 557 func (EcsClusterLayerArrayOutput) ElementType() reflect.Type { 558 return reflect.TypeOf((*[]*EcsClusterLayer)(nil)).Elem() 559 } 560 561 func (o EcsClusterLayerArrayOutput) ToEcsClusterLayerArrayOutput() EcsClusterLayerArrayOutput { 562 return o 563 } 564 565 func (o EcsClusterLayerArrayOutput) ToEcsClusterLayerArrayOutputWithContext(ctx context.Context) EcsClusterLayerArrayOutput { 566 return o 567 } 568 569 func (o EcsClusterLayerArrayOutput) Index(i pulumi.IntInput) EcsClusterLayerOutput { 570 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EcsClusterLayer { 571 return vs[0].([]*EcsClusterLayer)[vs[1].(int)] 572 }).(EcsClusterLayerOutput) 573 } 574 575 type EcsClusterLayerMapOutput struct{ *pulumi.OutputState } 576 577 func (EcsClusterLayerMapOutput) ElementType() reflect.Type { 578 return reflect.TypeOf((*map[string]*EcsClusterLayer)(nil)).Elem() 579 } 580 581 func (o EcsClusterLayerMapOutput) ToEcsClusterLayerMapOutput() EcsClusterLayerMapOutput { 582 return o 583 } 584 585 func (o EcsClusterLayerMapOutput) ToEcsClusterLayerMapOutputWithContext(ctx context.Context) EcsClusterLayerMapOutput { 586 return o 587 } 588 589 func (o EcsClusterLayerMapOutput) MapIndex(k pulumi.StringInput) EcsClusterLayerOutput { 590 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EcsClusterLayer { 591 return vs[0].(map[string]*EcsClusterLayer)[vs[1].(string)] 592 }).(EcsClusterLayerOutput) 593 } 594 595 func init() { 596 pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerInput)(nil)).Elem(), &EcsClusterLayer{}) 597 pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerArrayInput)(nil)).Elem(), EcsClusterLayerArray{}) 598 pulumi.RegisterInputType(reflect.TypeOf((*EcsClusterLayerMapInput)(nil)).Elem(), EcsClusterLayerMap{}) 599 pulumi.RegisterOutputType(EcsClusterLayerOutput{}) 600 pulumi.RegisterOutputType(EcsClusterLayerArrayOutput{}) 601 pulumi.RegisterOutputType(EcsClusterLayerMapOutput{}) 602 }