diff --git a/modules/networking/manifests/static.pp b/modules/networking/manifests/static.pp index 018ef89..8110d8a 100644 --- a/modules/networking/manifests/static.pp +++ b/modules/networking/manifests/static.pp @@ -1,10 +1,11 @@ # manage static interfaces define networking::static ( String $type, - Stdlib::IP::Address $ipaddress, Stdlib::IP::Address $netmask = '255.255.255.0', Integer[100-9200] $mtu = 1500, + Boolean $dhcp = false, Optional[Boolean] $forwarding = false, + Optional[Stdlib::IP::Address] $ipaddress = undef, Optional[Stdlib::IP::Address] $gateway = undef, Optional[Array[Stdlib::IP::Address]] $dns = undef, Optional[Array[Stdlib::Fqdn]] $domains = undef, diff --git a/modules/networking/templates/networkd-network.erb b/modules/networking/templates/networkd-network.erb index 298304d..b2ffc1e 100644 --- a/modules/networking/templates/networkd-network.erb +++ b/modules/networking/templates/networkd-network.erb @@ -2,6 +2,9 @@ Name=<%= @title %> [Network] +<% if @dhcp == true -%> +DHCP=yes +<% else -%> <% if @ipaddress && @netmask -%> Address=<%= @ipaddress %>/<%= IPAddr.new(@netmask).to_i.to_s(2).count('1') %> <% end -%> @@ -14,6 +17,7 @@ DNS=<%= Array(@dns).join(' ') %> <% if @domains -%> Domains=<%= Array(@domains).join(' ') %> <% end -%> +<% end -%> <% if @bridge and @bridge != true -%> Bridge=<%= @bridge %> <% end -%>