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