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