1 # Variables for elastic beanstalk VPC
2 variable "vpc_cidr_block" {
3 description = "The CIDR block for the association."
5 default = "192.168.0.0/24"
8 variable "vpc_enable_dns_hostnames" {
9 description = "Whether or not the VPC has DNS hostname support."
14 variable "vpc_enable_dns_support" {
15 description = "Whether or not the VPC has DNS support."
20 variable "vpc_instance_tenancy" {
21 description = "The allowed tenancy of instances launched into the selected VPC."
26 # Variables for elastic beanstalk Subnet
27 variable "subnet_availability_zone" {
28 description = "AWS availability zone"
30 default = "us-east-1a"
33 # Variables for elastic beanstalk Application
34 variable "environment_application" {
35 description = "The name of the application, must be unique within account."
37 default = "Beanstalk Application"
40 variable "application_description" {
41 description = "Short description of the application."
43 default = "Beanstalk Application"
46 variable "application_name" {
47 description = "The name of the application, must be unique within account."
52 variable "appversion_lifecycle_service_role_arn" {
53 description = "The service role ARN to use for application version cleanup. If left empty, the `appversion_lifecycle` block will not be created."
58 variable "appversion_lifecycle_max_count" {
59 description = "The max number of application versions to keep"
64 variable "appversion_lifecycle_delete_source_from_s3" {
65 description = "Whether to delete application versions from S3 source"
70 # Variables for elastic beanstalk Environment
71 variable "environment_description" {
72 description = "Short description of the environment."
74 default = "Beanstalk Environment"
77 variable "environment_name" {
78 description = "A unique name for this Environment. This name is used in the application URL."
80 default = "Beanstalk-env"
83 variable "environment_solution_stack_name" {
84 description = "A solution stack to base your environment off of."
86 default = "64bit Amazon Linux 2 v3.3.11 running Python 3.8"
89 variable "environment_tier" {
90 description = "The environment tier specified."
95 variable "environment_wait_for_ready_timeout" {
96 description = "The maximum duration to wait for the Elastic Beanstalk Environment to be in a ready state before timing out"
101 variable "environment_version_label" {
102 description = "The name of the Elastic Beanstalk Application Version to use in deployment."
108 variable "instances_instance_types" {
109 description = "Instances type"
111 default = "t3.medium"
115 variable "associate_public_ip_address" {
116 description = "Whether to associate public IP addresses to the instances."
121 variable "elb_scheme" {
122 description = "Specify `internal` if you want to create an internal load balancer in your Amazon VPC so that your Elastic Beanstalk application cannot be accessed from outside your Amazon VPC."
127 # aws:elbv2:listener:default
128 variable "default_listener_enabled" {
129 description = "Set to false to disable the listener. You can use this option to disable the default listener on port 80."
134 # aws:elasticbeanstalk:environment
135 variable "environment_loadbalancer_type" {
136 description = "Load Balancer type, e.g. 'application' or 'classic'."
141 variable "environment_loadbalancer_crosszone" {
142 description = "Configure the classic load balancer to route traffic evenly across all instances in all Availability Zones rather than only within each zone."
147 variable "environment_loadbalancer_security_groups" {
148 description = "Load balancer security groups"
153 variable "environment_loadbalancer_managed_security_group" {
154 description = "Load balancer managed security group"
159 variable "environment_loadbalancer_ssl_certificate_id" {
162 description = "Load Balancer SSL certificate ARN. The certificate must be present in AWS Certificate Manager"
165 variable "loadbalancer_connection_settings_idle_timeout" {
166 description = "Classic load balancer only: Number of seconds that the load balancer waits for any data to be sent or received over the connection. If no data has been sent or received after this time period elapses, the load balancer closes the connection."
171 # aws:elasticbeanstalk:environment:process:default
172 variable "environment_process_default_healthcheck_interval" {
173 description = "The interval of time, in seconds, that Elastic Load Balancing checks the health of the Amazon EC2 instances of your application."
178 variable "environment_process_default_healthy_threshold_count" {
179 description = "The number of consecutive successful requests before Elastic Load Balancing changes the instance health status."
184 variable "environment_process_default_port" {
185 description = "Port application is listening on."
190 variable "environment_process_default_unhealthy_threshold_count" {
191 description = "The number of consecutive unsuccessful requests before Elastic Load Balancing changes the instance health status."
196 # aws:autoscaling:updatepolicy:rollingupdate
197 variable "autoscaling_updatepolicy_rolling_update_enabled" {
198 description = "Whether to enable rolling update."
203 variable "autoscaling_updatepolicy_rolling_update_type" {
204 description = "`Health` or `Immutable`. Set it to `Immutable` to apply the configuration change to a fresh group of instances."
206 default = "Immutable"
209 variable "autoscaling_updatepolicy_min_instance_in_service" {
210 description = "Minimum number of instances in service during update."
215 variable "application_healthcheck_url" {
216 description = "The path where health check requests are sent to."
218 default = "HTTP:5000/"
221 # aws:elasticbeanstalk:command
222 variable "command_deployment_policy" {
223 description = "Use the DeploymentPolicy option to set the deployment type. The following values are supported: `AllAtOnce`, `Rolling`, `RollingWithAdditionalBatch`, `Immutable`, `TrafficSplitting`."
228 # aws:autoscaling:updatepolicy:rollingupdate
229 variable "updatepolicy_max_batch_size" {
230 description = "Maximum number of instances to update at once."
235 # aws:elasticbeanstalk:healthreporting:system
236 variable "healthreporting_system_type" {
237 description = "Whether to enable enhanced health reporting for this environment"
242 # aws:elasticbeanstalk:managedactions
243 variable "managedactions_managed_actions_enabled" {
244 description = "Enable managed platform updates. When you set this to true, you must also specify a `PreferredStartTime` and `UpdateLevel`"
249 variable "managedactions_preferred_start_time" {
250 description = "Configure a maintenance window for managed actions in UTC"
252 default = "Sun:10:00"
255 # aws:elasticbeanstalk:managedactions:platformupdate
256 variable "managedactions_platformupdate_update_level" {
257 description = "The highest level of update to apply with managed platform updates"
262 variable "managedactions_platformupdate_instance_refresh_enabled" {
263 description = "Enable weekly instance replacement."
268 variable "command_ignore_health_check" {
269 description = "Do not cancel a deployment due to failed health checks"
274 # aws:autoscaling:asg
275 variable "autoscaling_asg_minsize" {
276 description = "Minumum instances to launch"
281 variable "autoscaling_asg_maxsize" {
282 description = "Maximum instances to launch"
287 # aws:autoscaling:trigger
288 variable "autoscaling_trigger_measure_name" {
289 description = "Metric used for your Auto Scaling trigger"
291 default = "CPUUtilization"
294 variable "autoscaling_trigger_statistic" {
295 description = "Statistic the trigger should use, such as Average"
300 variable "autoscaling_trigger_unit" {
301 description = "Unit for the trigger measurement, such as Bytes"
306 variable "autoscaling_trigger_lower_threshold" {
307 description = "Minimum level of autoscale metric to remove an instance"
312 variable "autoscaling_trigger_lower_breach_scale_increment" {
313 description = "How many Amazon EC2 instances to remove when performing a scaling activity."
318 variable "autoscaling_trigger_upper_threshold" {
319 description = "Maximum level of autoscale metric to add an instance"
324 variable "autoscaling_trigger_upper_breach_scale_increment" {
325 description = "How many Amazon EC2 instances to add when performing a scaling activity"
330 # aws:elasticbeanstalk:hostmanager
331 variable "hostmanager_log_publication_control" {
332 description = "Copy the log files for your application's Amazon EC2 instances to the Amazon S3 bucket associated with your application"
337 # aws:elasticbeanstalk:cloudwatch:logs
338 variable "cloudwatch_logs_stream_logs" {
339 description = "Whether to create groups in CloudWatch Logs for proxy and deployment logs, and stream logs from each instance in your environment"
344 variable "cloudwatch_logs_delete_on_terminate" {
345 description = "Whether to delete the log groups when the environment is terminated. If false, the logs are kept RetentionInDays days"
350 variable "cloudwatch_logs_retention_in_days" {
351 description = "The number of days to keep log events before they expire."
356 # aws:elasticbeanstalk:cloudwatch:logs:health
357 variable "cloudwatch_logs_health_health_streaming_enabled" {
358 description = "For environments with enhanced health reporting enabled, whether to create a group in CloudWatch Logs for environment health and archive Elastic Beanstalk environment health data. For information about enabling enhanced health, see aws:elasticbeanstalk:healthreporting:system."
363 variable "cloudwatch_logs_health_delete_on_terminate" {
364 description = "Whether to delete the log group when the environment is terminated. If false, the health data is kept RetentionInDays days."
369 variable "cloudwatch_logs_health_retention_in_days" {
370 description = "The number of days to keep the archived health data before it expires."
375 variable "environment_type" {
376 description = "Environment type, e.g. 'LoadBalanced' or 'SingleInstance'. If setting to 'SingleInstance', `rolling_update_type` must be set to 'Time', `updating_min_in_service` must be set to 0, and `loadbalancer_subnets` will be unused (it applies to the ELB, which does not exist in SingleInstance environments)."
378 default = "LoadBalanced"
381 # aws:elasticbeanstalk:application:environment
382 variable "environment_variables" {
383 description = "Map of custom ENV variables to be provided to the application."