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