diff options
-rw-r--r-- | manifests/definitions/dhcp-shared-network.pp | 22 | ||||
-rw-r--r-- | templates/shared-network.erb | 7 |
2 files changed, 29 insertions, 0 deletions
diff --git a/manifests/definitions/dhcp-shared-network.pp b/manifests/definitions/dhcp-shared-network.pp new file mode 100644 index 0000000..9e1e779 --- /dev/null +++ b/manifests/definitions/dhcp-shared-network.pp @@ -0,0 +1,22 @@ +/* + +== Definition: dhcp::shared-network +Creates a shared-network + +Arguments: + *$subnets* : subnet list to be included in the shared-network + +Warnings: +- subnets must exists +- subnets must have $is_shared set to true (default is false) + +*/ +define dhcp::shared-network($ensure=present, $subnets=[]) { + include dhcp::params + common::concatfilepart {"shared-${name}": + ensure => $ensure, + file => "${dhcp::params::config_dir}/dhcpd.conf", + content => template("dhcp/shared-network.erb"), + require => Dhcp::Subnet[$subnets], + } +} diff --git a/templates/shared-network.erb b/templates/shared-network.erb new file mode 100644 index 0000000..99a7aca --- /dev/null +++ b/templates/shared-network.erb @@ -0,0 +1,7 @@ +#### dhcp::shared-network <%= name %> +shared-network <%= name %> { +<% subnets.each do |subnet| -%> + include "<%= scope.lookupvar("dhcp::params::config_dir") %>/subnets/<%= subnet %>.conf"; +<% end -%> +} +#### END <%= name %> |