diff modules/firewall/manifests/linux/archlinux.pp @ 39:d6f2a0ee45c0 puppet-3.6

Add "Firewall" module
author IBBoard <dev@ibboard.co.uk>
date Sat, 14 Mar 2015 20:58:03 +0000
parents
children d9352a684e62
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/firewall/manifests/linux/archlinux.pp	Sat Mar 14 20:58:03 2015 +0000
@@ -0,0 +1,43 @@
+# = Class: firewall::linux::archlinux
+#
+# Manages `iptables` and `ip6tables` services, and creates files used for
+# persistence, on Arch Linux systems.
+#
+# == Parameters:
+#
+# [*ensure*]
+#   Ensure parameter passed onto Service[] resources.
+#   Default: running
+#
+# [*enable*]
+#   Enable parameter passed onto Service[] resources.
+#   Default: true
+#
+class firewall::linux::archlinux (
+  $ensure       = 'running',
+  $enable       = true,
+  $service_name = $::firewall::params::service_name,
+  $package_name = $::firewall::params::package_name,
+) inherits ::firewall::params {
+  if $package_name {
+    package { $package_name:
+      ensure => $ensure,
+    }
+  }
+
+  service { $service_name:
+    ensure    => $ensure,
+    enable    => $enable,
+    hasstatus => true,
+  }
+
+  file { '/etc/iptables/iptables.rules':
+    ensure => present,
+    before => Service[$service_name],
+  }
+
+  file { '/etc/iptables/ip6tables.rules':
+    ensure => present,
+    before => Service[$service_name],
+  }
+}