Revert "fix(jobspec): Delete ipsec nfv density tests"
[csit.git] / fdio.infra.terraform / terraform-aws-elastic-beanstalk-environment / variables.tf
1 # Variables for elastic beanstalk VPC
2 variable "vpc_cidr_block" {
3   description = "The CIDR block for the association."
4   type        = string
5   default     = "10.0.0.0/16"
6 }
7
8 variable "vpc_enable_dns_hostnames" {
9   description = "Whether or not the VPC has DNS hostname support."
10   type        = bool
11   default     = true
12 }
13
14 variable "vpc_enable_dns_support" {
15   description = "Whether or not the VPC has DNS support."
16   type        = bool
17   default     = true
18 }
19
20 variable "vpc_instance_tenancy" {
21   description = "The allowed tenancy of instances launched into the selected VPC."
22   type        = string
23   default     = "default"
24 }
25
26 # Variables for elastic beanstalk Subnet
27 variable "subnet_a_availability_zone" {
28   description = "AZ for the subnet."
29   type        = string
30   default     = "us-east-1a"
31 }
32
33 variable "subnet_a_cidr_block" {
34   description = "The IPv4 CIDR block for the subnet."
35   type        = string
36   default     = "10.0.0.0/20"
37 }
38
39 variable "subnet_b_availability_zone" {
40   description = "AZ for the subnet."
41   type        = string
42   default     = "us-east-1b"
43 }
44
45 variable "subnet_b_cidr_block" {
46   description = "The IPv4 CIDR block for the subnet."
47   type        = string
48   default     = "10.0.16.0/20"
49 }
50
51 # Variables for elastic beanstalk Application
52 variable "environment_application" {
53   description = "The name of the application, must be unique within account."
54   type        = string
55   default     = "Beanstalk Application"
56 }
57
58 variable "application_description" {
59   description = "Short description of the application."
60   type        = string
61   default     = "Beanstalk Application"
62 }
63
64 variable "application_name" {
65   description = "The name of the application, must be unique within account."
66   type        = string
67   default     = "Beanstalk"
68 }
69
70 variable "appversion_lifecycle_service_role_arn" {
71   description = "The service role ARN to use for application version cleanup. If left empty, the `appversion_lifecycle` block will not be created."
72   type        = string
73   default     = ""
74 }
75
76 variable "appversion_lifecycle_max_count" {
77   description = "The max number of application versions to keep"
78   type        = number
79   default     = 2
80 }
81
82 variable "appversion_lifecycle_delete_source_from_s3" {
83   description = "Whether to delete application versions from S3 source"
84   type        = bool
85   default     = false
86 }
87
88 # Variables for elastic beanstalk Environment
89 variable "environment_description" {
90   description = "Short description of the environment."
91   type        = string
92   default     = "Beanstalk Environment"
93 }
94
95 variable "environment_name" {
96   description = "A unique name for this Environment. This name is used in the application URL."
97   type        = string
98   default     = "Beanstalk-env"
99 }
100
101 variable "environment_solution_stack_name" {
102   description = "A solution stack to base your environment off of."
103   type        = string
104   default     = "64bit Amazon Linux 2 v3.3.11 running Python 3.8"
105 }
106
107 variable "environment_tier" {
108   description = "The environment tier specified."
109   type        = string
110   default     = "WebServer"
111 }
112
113 variable "environment_wait_for_ready_timeout" {
114   description = "The maximum duration to wait for the Elastic Beanstalk Environment to be in a ready state before timing out"
115   type        = string
116   default     = "20m"
117 }
118
119 variable "environment_version_label" {
120   description = "The name of the Elastic Beanstalk Application Version to use in deployment."
121   type        = string
122   default     = ""
123 }
124
125 # aws:ec2:instances
126 variable "instances_instance_types" {
127   description = "Instances type"
128   type        = string
129   default     = "t3.medium"
130 }
131
132 # aws:ec2:vpc
133 variable "associate_public_ip_address" {
134   description = "Whether to associate public IP addresses to the instances."
135   type        = bool
136   default     = true
137 }
138
139 variable "elb_scheme" {
140   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."
141   type        = string
142   default     = "public"
143 }
144
145 # aws:elbv2:listener:default
146 variable "default_listener_enabled" {
147   description = "Set to false to disable the listener. You can use this option to disable the default listener on port 80."
148   type        = bool
149   default     = true
150 }
151
152 # aws:elasticbeanstalk:environment
153 variable "environment_loadbalancer_type" {
154   description = "Load Balancer type, e.g. 'application' or 'classic'."
155   type        = string
156   default     = "classic"
157 }
158
159 variable "environment_loadbalancer_security_groups" {
160   description = "Load balancer security groups"
161   type        = list(string)
162   default     = []
163 }
164
165 variable "environment_loadbalancer_managed_security_group" {
166   description = "Load balancer managed security group"
167   type        = string
168   default     = ""
169 }
170
171 variable "environment_loadbalancer_ssl_certificate_id" {
172   type        = string
173   default     = ""
174   description = "Load Balancer SSL certificate ARN. The certificate must be present in AWS Certificate Manager"
175 }
176
177 # aws:elasticbeanstalk:environment:process:default
178 variable "environment_process_default_healthcheck_interval" {
179   description = "The interval of time, in seconds, that Elastic Load Balancing checks the health of the Amazon EC2 instances of your application."
180   type        = number
181   default     = 10
182 }
183
184 variable "environment_process_default_healthy_threshold_count" {
185   description = "The number of consecutive successful requests before Elastic Load Balancing changes the instance health status."
186   type        = number
187   default     = 3
188 }
189
190 variable "environment_process_default_port" {
191   description = "Port application is listening on."
192   type        = number
193   default     = 5000
194 }
195
196 variable "environment_process_default_unhealthy_threshold_count" {
197   description = "The number of consecutive unsuccessful requests before Elastic Load Balancing changes the instance health status."
198   type        = number
199   default     = 3
200 }
201
202 # aws:autoscaling:updatepolicy:rollingupdate
203 variable "autoscaling_updatepolicy_rolling_update_enabled" {
204   description = "Whether to enable rolling update."
205   type        = bool
206   default     = true
207 }
208
209 variable "autoscaling_updatepolicy_rolling_update_type" {
210   description = "`Health` or `Immutable`. Set it to `Immutable` to apply the configuration change to a fresh group of instances."
211   type        = string
212   default     = "Immutable"
213 }
214
215 variable "autoscaling_updatepolicy_min_instance_in_service" {
216   description = "Minimum number of instances in service during update."
217   type        = number
218   default     = 1
219 }
220
221 variable "application_healthcheck_url" {
222   description = "The path where health check requests are sent to."
223   type        = string
224   default     = "/"
225 }
226
227 variable "environment_listener_ssl_policy" {
228   description = "Specify a security policy to apply to the listener. This option is only applicable to environments with an application load balancer."
229   type        = string
230   default     = ""
231 }
232
233 variable "default_matcher_http_code" {
234   description = "List of HTTP codes that indicate that an instance is healthy. Note that this option is only applicable to environments with a network or application load balancer."
235   type        = list(string)
236   default     = ["200"]
237 }
238
239 variable "default_health_check_timeout" {
240   description = "The amount of time, in seconds, to wait for a response during a health check. Note that this option is only applicable to environments with an application load balancer"
241   type        = number
242   default     = 5
243 }
244
245 # aws:elasticbeanstalk:command
246 variable "command_deployment_policy" {
247   description = "Use the DeploymentPolicy option to set the deployment type. The following values are supported: `AllAtOnce`, `Rolling`, `RollingWithAdditionalBatch`, `Immutable`, `TrafficSplitting`."
248   type        = string
249   default     = "Rolling"
250 }
251
252 # aws:autoscaling:updatepolicy:rollingupdate
253 variable "updatepolicy_max_batch_size" {
254   description = "Maximum number of instances to update at once."
255   type        = number
256   default     = 1
257 }
258
259 # aws:elasticbeanstalk:healthreporting:system
260 variable "healthreporting_system_type" {
261   description = "Whether to enable enhanced health reporting for this environment"
262   type        = string
263   default     = "enhanced"
264 }
265
266 # aws:elasticbeanstalk:managedactions
267 variable "managedactions_managed_actions_enabled" {
268   description = "Enable managed platform updates. When you set this to true, you must also specify a `PreferredStartTime` and `UpdateLevel`"
269   type        = bool
270   default     = true
271 }
272
273 variable "managedactions_preferred_start_time" {
274   description = "Configure a maintenance window for managed actions in UTC"
275   type        = string
276   default     = "Sun:10:00"
277 }
278
279 # aws:elasticbeanstalk:managedactions:platformupdate
280 variable "managedactions_platformupdate_update_level" {
281   description = "The highest level of update to apply with managed platform updates"
282   type        = string
283   default     = "minor"
284 }
285
286 variable "managedactions_platformupdate_instance_refresh_enabled" {
287   description = "Enable weekly instance replacement."
288   type        = bool
289   default     = true
290 }
291
292 variable "command_ignore_health_check" {
293   description = "Do not cancel a deployment due to failed health checks"
294   type        = bool
295   default     = true
296 }
297
298 # aws:autoscaling:asg
299 variable "autoscaling_asg_minsize" {
300   description = "Minumum instances to launch"
301   type        = number
302   default     = 1
303 }
304
305 variable "autoscaling_asg_maxsize" {
306   description = "Maximum instances to launch"
307   type        = number
308   default     = 2
309 }
310
311 # aws:autoscaling:trigger
312 variable "autoscaling_trigger_measure_name" {
313   description = "Metric used for your Auto Scaling trigger"
314   type        = string
315   default     = "CPUUtilization"
316 }
317
318 variable "autoscaling_trigger_statistic" {
319   description = "Statistic the trigger should use, such as Average"
320   type        = string
321   default     = "Average"
322 }
323
324 variable "autoscaling_trigger_unit" {
325   description = "Unit for the trigger measurement, such as Bytes"
326   type        = string
327   default     = "Percent"
328 }
329
330 variable "autoscaling_trigger_lower_threshold" {
331   description = "Minimum level of autoscale metric to remove an instance"
332   type        = number
333   default     = 20
334 }
335
336 variable "autoscaling_trigger_lower_breach_scale_increment" {
337   description = "How many Amazon EC2 instances to remove when performing a scaling activity."
338   type        = number
339   default     = -1
340 }
341
342 variable "autoscaling_trigger_upper_threshold" {
343   description = "Maximum level of autoscale metric to add an instance"
344   type        = number
345   default     = 80
346 }
347
348 variable "autoscaling_trigger_upper_breach_scale_increment" {
349   description = "How many Amazon EC2 instances to add when performing a scaling activity"
350   type        = number
351   default     = 1
352 }
353
354 # aws:elasticbeanstalk:hostmanager
355 variable "hostmanager_log_publication_control" {
356   description = "Copy the log files for your application's Amazon EC2 instances to the Amazon S3 bucket associated with your application"
357   type        = bool
358   default     = true
359 }
360
361 # aws:elasticbeanstalk:cloudwatch:logs
362 variable "cloudwatch_logs_stream_logs" {
363   description = "Whether to create groups in CloudWatch Logs for proxy and deployment logs, and stream logs from each instance in your environment"
364   type        = bool
365   default     = true
366 }
367
368 variable "cloudwatch_logs_delete_on_terminate" {
369   description = "Whether to delete the log groups when the environment is terminated. If false, the logs are kept RetentionInDays days"
370   type        = bool
371   default     = true
372 }
373
374 variable "cloudwatch_logs_retention_in_days" {
375   description = "The number of days to keep log events before they expire."
376   type        = number
377   default     = 3
378 }
379
380 # aws:elasticbeanstalk:cloudwatch:logs:health
381 variable "cloudwatch_logs_health_health_streaming_enabled" {
382   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."
383   type        = bool
384   default     = true
385 }
386
387 variable "cloudwatch_logs_health_delete_on_terminate" {
388   description = "Whether to delete the log group when the environment is terminated. If false, the health data is kept RetentionInDays days."
389   type        = bool
390   default     = true
391 }
392
393 variable "cloudwatch_logs_health_retention_in_days" {
394   description = "The number of days to keep the archived health data before it expires."
395   type        = number
396   default     = 3
397 }
398
399 variable "environment_type" {
400   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)."
401   type        = string
402   default     = "LoadBalanced"
403 }
404
405 # aws:elasticbeanstalk:application:environment
406 variable "environment_variables" {
407   description = "Map of custom ENV variables to be provided to the application."
408   type        = map(string)
409   default     = {}
410 }