feat: enable use of dhcp addresses in networkd

- change ipaddress to be optional
- add dhcp option
This commit is contained in:
Ben Vincent 2025-05-03 23:46:51 +10:00
parent 1b8f50786f
commit cfb430cba1
2 changed files with 6 additions and 1 deletions

View File

@ -1,10 +1,11 @@
# manage static interfaces # manage static interfaces
define networking::static ( define networking::static (
String $type, String $type,
Stdlib::IP::Address $ipaddress,
Stdlib::IP::Address $netmask = '255.255.255.0', Stdlib::IP::Address $netmask = '255.255.255.0',
Integer[100-9200] $mtu = 1500, Integer[100-9200] $mtu = 1500,
Boolean $dhcp = false,
Optional[Boolean] $forwarding = false, Optional[Boolean] $forwarding = false,
Optional[Stdlib::IP::Address] $ipaddress = undef,
Optional[Stdlib::IP::Address] $gateway = undef, Optional[Stdlib::IP::Address] $gateway = undef,
Optional[Array[Stdlib::IP::Address]] $dns = undef, Optional[Array[Stdlib::IP::Address]] $dns = undef,
Optional[Array[Stdlib::Fqdn]] $domains = undef, Optional[Array[Stdlib::Fqdn]] $domains = undef,

View File

@ -2,6 +2,9 @@
Name=<%= @title %> Name=<%= @title %>
[Network] [Network]
<% if @dhcp == true -%>
DHCP=yes
<% else -%>
<% if @ipaddress && @netmask -%> <% if @ipaddress && @netmask -%>
Address=<%= @ipaddress %>/<%= IPAddr.new(@netmask).to_i.to_s(2).count('1') %> Address=<%= @ipaddress %>/<%= IPAddr.new(@netmask).to_i.to_s(2).count('1') %>
<% end -%> <% end -%>
@ -14,6 +17,7 @@ DNS=<%= Array(@dns).join(' ') %>
<% if @domains -%> <% if @domains -%>
Domains=<%= Array(@domains).join(' ') %> Domains=<%= Array(@domains).join(' ') %>
<% end -%> <% end -%>
<% end -%>
<% if @bridge and @bridge != true -%> <% if @bridge and @bridge != true -%>
Bridge=<%= @bridge %> Bridge=<%= @bridge %>
<% end -%> <% end -%>