# AWS Elastic Beanstalk Construct Library

This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.

```ts
import * as elasticbeanstalk from 'aws-cdk-lib/aws-elasticbeanstalk';
```

There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:

- Search [Construct Hub for ElasticBeanstalk construct libraries](https://constructs.dev/search?q=elasticbeanstalk)
- Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::ElasticBeanstalk resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElasticBeanstalk.html) directly.

There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::ElasticBeanstalk](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ElasticBeanstalk.html).

(Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)

## Types

| Name | Kind | Summary |
| --- | --- | --- |
| [`CfnApplication`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplication) | Construct (L1) | Specify an AWS Elastic Beanstalk application by using the AWS::ElasticBeanstalk::Application resource in an AWS CloudFormation template. |
| [`CfnApplicationVersion`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplicationVersion) | Construct (L1) | Specify an AWS Elastic Beanstalk application version by using the AWS::ElasticBeanstalk::ApplicationVersion resource in an AWS CloudFormation template. |
| [`CfnConfigurationTemplate`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnConfigurationTemplate) | Construct (L1) | Specify an AWS Elastic Beanstalk configuration template by using the AWS::ElasticBeanstalk::ConfigurationTemplate resource in an AWS CloudFormation template. |
| [`CfnEnvironment`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnEnvironment) | Construct (L1) | Specify an AWS Elastic Beanstalk environment by using the AWS::ElasticBeanstalk::Environment resource in an AWS CloudFormation template. |
| [`CfnApplication.ApplicationResourceLifecycleConfigProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplication.ApplicationResourceLifecycleConfigProperty) | Struct | Use the `ApplicationResourceLifecycleConfig` property type to specify lifecycle settings for resources that belong to an AWS Elastic Beanstalk application when defining an AWS::ElasticBeanstalk::Application resource in an AWS CloudFormation template. |
| [`CfnApplication.ApplicationVersionLifecycleConfigProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplication.ApplicationVersionLifecycleConfigProperty) | Struct | Use the `ApplicationVersionLifecycleConfig` property type to specify application version lifecycle settings for an AWS Elastic Beanstalk application when defining an AWS::ElasticBeanstalk::Application resource in an AWS CloudFormation template. |
| [`CfnApplication.MaxAgeRuleProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplication.MaxAgeRuleProperty) | Struct | Use the `MaxAgeRule` property type to specify a max age rule to restrict the length of time that application versions are retained for an AWS Elastic Beanstalk application when defining an AWS::ElasticBeanstalk::Application resource in an AWS CloudFormation template. |
| [`CfnApplication.MaxCountRuleProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplication.MaxCountRuleProperty) | Struct | Use the `MaxAgeRule` property type to specify a max count rule to restrict the number of application versions that are retained for an AWS Elastic Beanstalk application when defining an AWS::ElasticBeanstalk::Application resource in an AWS CloudFormation template. |
| [`CfnApplicationProps`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplicationProps) | Struct | Properties for defining a `CfnApplication`. |
| [`CfnApplicationVersion.BuildConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplicationVersion.BuildConfigurationProperty) | Struct |  |
| [`CfnApplicationVersion.ImageBuildConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplicationVersion.ImageBuildConfigurationProperty) | Struct |  |
| [`CfnApplicationVersion.ImageConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplicationVersion.ImageConfigurationProperty) | Struct |  |
| [`CfnApplicationVersion.ImageSourceProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplicationVersion.ImageSourceProperty) | Struct |  |
| [`CfnApplicationVersion.SourceBundleProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplicationVersion.SourceBundleProperty) | Struct | Use the `SourceBundle` property type to specify the Amazon S3 location of the source bundle for an AWS Elastic Beanstalk application version when defining an AWS::ElasticBeanstalk::ApplicationVersion resource in an AWS CloudFormation template. |
| [`CfnApplicationVersionProps`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnApplicationVersionProps) | Struct | Properties for defining a `CfnApplicationVersion`. |
| [`CfnConfigurationTemplate.ConfigurationOptionSettingProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnConfigurationTemplate.ConfigurationOptionSettingProperty) | Struct | Use the `ConfigurationOptionSetting` property type to specify an option for an AWS Elastic Beanstalk configuration template when defining an AWS::ElasticBeanstalk::ConfigurationTemplate resource in an AWS CloudFormation template. |
| [`CfnConfigurationTemplate.SourceConfigurationProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnConfigurationTemplate.SourceConfigurationProperty) | Struct | Use the `SourceConfiguration` property type to specify another AWS Elastic Beanstalk configuration template as the base to creating a new AWS::ElasticBeanstalk::ConfigurationTemplate resource in an AWS CloudFormation template. |
| [`CfnConfigurationTemplateProps`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnConfigurationTemplateProps) | Struct | Properties for defining a `CfnConfigurationTemplate`. |
| [`CfnEnvironment.OptionSettingProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnEnvironment.OptionSettingProperty) | Struct | Use the `OptionSetting` property type to specify an option for an AWS Elastic Beanstalk environment when defining an AWS::ElasticBeanstalk::Environment resource in an AWS CloudFormation template. |
| [`CfnEnvironment.TierProperty`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnEnvironment.TierProperty) | Struct | Use the `Tier` property type to specify the environment tier for an AWS Elastic Beanstalk environment when defining an AWS::ElasticBeanstalk::Environment resource in an AWS CloudFormation template. |
| [`CfnEnvironmentProps`](/v2/docs/aws-cdk-lib.aws_elasticbeanstalk.CfnEnvironmentProps) | Struct | Properties for defining a `CfnEnvironment`. |
