1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
# @summary
# Manages `iptables` and `ip6tables` services, and creates files used for persistence, on Arch Linux systems.
#
# @param ensure
# Ensure parameter passed onto Service[] resources. Valid options: 'running' or 'stopped'. Defaults to 'running'.
#
# @param enable
# Enable parameter passed onto Service[] resources. Defaults to 'true'.
#
# @param service_name
# Specify the name of the IPv4 iptables service. Defaults defined in firewall::params.
#
# @param package_name
# Specify the platform-specific package(s) to install. Defaults defined in firewall::params.
#
# @param package_ensure
# Controls the state of the iptables package on your system. Valid options: 'present' or 'latest'. Defaults to 'latest'.
#
# @api private
#
class firewall::linux::archlinux (
Enum[running, stopped, 'running', 'stopped'] $ensure = 'running',
Variant[Boolean, String[1]] $enable = true,
Variant[String[1], Array[String[1]]] $service_name = $firewall::params::service_name,
Optional[Variant[String[1], Array[String[1]]]] $package_name = $firewall::params::package_name,
Enum[present, latest, 'present', 'latest'] $package_ensure = $firewall::params::package_ensure,
) inherits firewall::params {
if $package_name {
package { $package_name:
ensure => $package_ensure,
}
}
service { $service_name:
ensure => $ensure,
enable => $enable,
hasstatus => true,
}
file { '/etc/iptables/iptables.rules':
ensure => file,
before => Service[$service_name],
}
file { '/etc/iptables/ip6tables.rules':
ensure => file,
before => Service[$service_name],
}
}
|