-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathmain.tf
More file actions
81 lines (69 loc) · 1.81 KB
/
main.tf
File metadata and controls
81 lines (69 loc) · 1.81 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
resource "libvirt_network" "vm_network" {
autostart = var.network_autostart
name = var.network_name
// Waiting on support from upstream
# dnsmasq_options = var.network_dnsmasq_options
domain = {
name = var.network_domain
local_only = var.network_dns_local ? "yes" : "no"
}
forward = {
mode = var.network_mode
}
bridge = {
name = var.network_bridge
}
mtu = {
size = var.network_mtu
}
ips = [
for cidr in var.network_cidr : {
address = split("/", cidr)[0]
prefix = tonumber(split("/", cidr)[1])
dhcp = var.network_dhcp_enabled ? {
ranges = (var.network_dhcp_range_start != null && var.network_dhcp_range_end != null) ? [
{
start = var.network_dhcp_range_start
end = var.network_dhcp_range_end
}
] : null
} : null
}
]
dns = {
enable = var.network_dns_enabled ? "yes" : "no"
# Host entries (Attributes List)
host = [
for hostname, ip in var.network_dns_entries : {
ip = ip
hostnames = [
{ hostname = hostname }
]
}
]
sr_vs = [
for record in var.network_dns_srv_records : {
service = record.service
protocol = record.protocol
domain = record.domain
target = record.target
port = record.port
priority = record.priority
weight = record.weight
}
]
forward_plain_names = null
forwarders = null
tx_ts = null
}
routes = length(var.network_routes) > 0 ? [
for cidr, gateway in var.network_routes : {
address = split("/", cidr)[0]
prefix = tonumber(split("/", cidr)[1])
gateway = gateway
family = null
metric = null
netmask = null
}
] : null
}