-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathexample.tf
68 lines (58 loc) · 1.97 KB
/
example.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
// Brightbox terraform example.
// Builds a Web server and a MySQL server, gives them both Cloud IPs and sets up firewalling.
// See https://www.brightbox.com/docs/guides/terraform/getting-started for more details
data "brightbox_image" "webserver" {
name = "${var.image_desc}"
arch = "x86_64"
official = true
most_recent = true
}
resource "brightbox_cloudip" "webip" {
target = brightbox_server.webserver.interface
name = "web ip"
}
resource "brightbox_server" "webserver" {
name = "web server"
image = data.brightbox_image.webserver.id
type = var.webserver_type
server_groups = [brightbox_server_group.webservers.id]
depends_on = [brightbox_firewall_policy.webservers]
}
resource "brightbox_server_group" "webservers" {
name = "web servers"
}
resource "brightbox_cloudip" "db" {
target = brightbox_database_server.db.id
name = "db ip"
}
resource "brightbox_database_server" "db" {
name = "db server"
database_engine = "mysql"
database_version = "8.0"
maintenance_weekday = 6
maintenance_hour = 2
allow_access = [brightbox_server_group.webservers.id]
}
resource "brightbox_firewall_policy" "webservers" {
name = "web servers"
server_group = brightbox_server_group.webservers.id
}
resource "brightbox_firewall_rule" "webservers_ssh" {
destination_port = 22
protocol = "tcp"
source = "any"
description = "SSH access from anywhere"
firewall_policy = brightbox_firewall_policy.webservers.id
}
resource "brightbox_firewall_rule" "webservers_web" {
destination_port = "80,443"
protocol = "tcp"
source = "any"
description = "HTTP/S access from anywhere"
firewall_policy = brightbox_firewall_policy.webservers.id
}
resource "brightbox_firewall_rule" "webservers_outbound" {
destination = "any"
description = "Outbound internet access"
firewall_policy = brightbox_firewall_policy.webservers.id
}