-
Notifications
You must be signed in to change notification settings - Fork 33
/
Copy pathvariables.tf
134 lines (122 loc) · 3.22 KB
/
variables.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
########################################################################################################################
# Application
variable "account" {
type = number
description = "AWS account number"
}
variable "region" {
type = string
description = "region"
}
variable "app_name" {
type = string
description = "Application name"
}
variable "app_services" {
type = list(string)
description = "service name list"
}
variable "env" {
type = string
description = "Environment"
}
########################################################################################################################
# VPC
variable "cidr" {
type = string
description = "VPC CIDR"
}
variable "availability_zones" {
type = list(string)
description = "Availability zones that the services are running"
}
variable "private_subnets" {
type = list(string)
description = "Private subnets"
}
variable "public_subnets" {
type = list(string)
description = "Public subnets"
}
########################################################################################################################
#ALB
variable "internal_alb_config" {
type = object({
name = string
listeners = map(object({
listener_port = number
listener_protocol = string
}))
ingress_rules = list(object({
from_port = number
to_port = number
protocol = string
cidr_blocks = list(string)
}))
egress_rules = list(object({
from_port = number
to_port = number
protocol = string
cidr_blocks = list(string)
}))
})
description = "Internal ALB configuration"
}
variable "internal_url_name" {
type = string
description = "Friendly url name for the internal load balancer DNS"
}
variable "public_alb_config" {
type = object({
name = string
listeners = map(object({
listener_port = number
listener_protocol = string
}))
ingress_rules = list(object({
from_port = number
to_port = number
protocol = string
cidr_blocks = list(string)
}))
egress_rules = list(object({
from_port = number
to_port = number
protocol = string
cidr_blocks = list(string)
}))
})
description = "Public ALB configuration"
}
########################################################################################################################
# ECS
variable "microservice_config" {
type = map(object({
name = string
is_public = bool
container_port = number
host_port = number
cpu = number
memory = number
desired_count = number
alb_target_group = object({
port = number
protocol = string
path_pattern = list(string)
health_check_path = string
priority = number
})
auto_scaling = object({
max_capacity = number
min_capacity = number
cpu = object({
target_value = number
})
memory = object({
target_value = number
})
})
}))
description = "Microservice configuration"
}
########################################################################################################################