feat: initial commit
- have been working on this for some time now
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
locals {
|
||||
netmask_to_prefix = {
|
||||
"0.0.0.0" = 0
|
||||
"128.0.0.0" = 1
|
||||
"192.0.0.0" = 2
|
||||
"224.0.0.0" = 3
|
||||
"240.0.0.0" = 4
|
||||
"248.0.0.0" = 5
|
||||
"252.0.0.0" = 6
|
||||
"254.0.0.0" = 7
|
||||
"255.0.0.0" = 8
|
||||
"255.128.0.0" = 9
|
||||
"255.192.0.0" = 10
|
||||
"255.224.0.0" = 11
|
||||
"255.240.0.0" = 12
|
||||
"255.248.0.0" = 13
|
||||
"255.252.0.0" = 14
|
||||
"255.254.0.0" = 15
|
||||
"255.255.0.0" = 16
|
||||
"255.255.128.0" = 17
|
||||
"255.255.192.0" = 18
|
||||
"255.255.224.0" = 19
|
||||
"255.255.240.0" = 20
|
||||
"255.255.248.0" = 21
|
||||
"255.255.252.0" = 22
|
||||
"255.255.254.0" = 23
|
||||
"255.255.255.0" = 24
|
||||
"255.255.255.128" = 25
|
||||
"255.255.255.192" = 26
|
||||
"255.255.255.224" = 27
|
||||
"255.255.255.240" = 28
|
||||
"255.255.255.248" = 29
|
||||
"255.255.255.252" = 30
|
||||
"255.255.255.254" = 31
|
||||
"255.255.255.255" = 32
|
||||
}
|
||||
prefix_length = lookup(local.netmask_to_prefix, var.cobbler_netmask, 24)
|
||||
host_bits = 32 - local.prefix_length
|
||||
total_hosts = pow(2, local.host_bits)
|
||||
last_usable_ip = local.total_hosts - 2
|
||||
|
||||
# derive subnet base from instance IP
|
||||
cidr_block = cidrsubnet("${incus_instance.this.ipv4_address}/${local.prefix_length}", 0, 0)
|
||||
|
||||
# get the last usable IP
|
||||
gateway_ip = cidrhost(local.cidr_block, local.last_usable_ip)
|
||||
}
|
||||
Reference in New Issue
Block a user