-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.tf
More file actions
105 lines (85 loc) · 1.45 KB
/
Copy pathmain.tf
File metadata and controls
105 lines (85 loc) · 1.45 KB
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
//String
variable "myvar" {
type=string
default="Hi from Terraform"
}
//terraform version
//terraform console
//var.myvar
//"${var.myvar}"
//Real Example
variable "private-cidr" {
type = string
default = "10.0.0.0/24"
}
//number
variable "http_port" {
type=number
default=8080
}
//var.set_password
//boolean
variable "set_password" {
default = false
}
//var.set_password
//number and list
variable "docker_ports" {
type = list(object({
internal = number
external = number
protocol = string
}))
default = [
{
internal = 8300
external = 8300
protocol = "tcp"
}
]
}
//MAP
variable "mymap" {
type = map(string)
default = {
mykey = "my value"
}
}
//var.mymap
//$”{var.mymap}”
//var.mymap["mykey"]
//"${var.mymap["mykey"]}"
//Real-World Example
variable "project_tags" {
type = map(string)
default = {
component = "Frontend"
environment = "Production"
}
}
//var.project_tags
//var.project_tags["component"]
//var.project_tags["environment"]
//LIST
variable "mylist" {
type = list
default = [1,2,3]
}
//var.mylist
//var.mylist[0]
//var.mylist[1]
//var.mylist[2]
//Terraform support functions
//element(var.mylist,0)
//element(var.mylist,1)
//element(var.mylist,2)
//slice(var.mylist,0,2)
//Real-world Example
variable "users" {
type = list
default = ["root", "user1", "user2"]
}
//var.users
//var.users[0]
//var.users[1]
//var.users[2]