All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).
+## [v2.8.1](https://github.com/puppetlabs/puppetlabs-firewall/tree/v2.8.1) (2021-02-08)
+
+[Full Changelog](https://github.com/puppetlabs/puppetlabs-firewall/compare/v2.8.0...v2.8.1)
+
+### Fixed
+
+- \[MODULES-10907\] Do not remove spaces from hex string with ! [\#967](https://github.com/puppetlabs/puppetlabs-firewall/pull/967) ([adrianiurca](https://github.com/adrianiurca))
+
## [v2.8.0](https://github.com/puppetlabs/puppetlabs-firewall/tree/v2.8.0) (2020-12-14)
[Full Changelog](https://github.com/puppetlabs/puppetlabs-firewall/compare/v2.7.0...v2.8.0)
### Fixed
- \(maint\) Use fact.flush only when available [\#906](https://github.com/puppetlabs/puppetlabs-firewall/pull/906) ([Filipovici-Andrei](https://github.com/Filipovici-Andrei))
-- \(MODULES-10358\) - Clarification added to Boolean validation checks [\#886](https://github.com/puppetlabs/puppetlabs-firewall/pull/886) ([david22swan](https://github.com/david22swan))
- Merge and remove duplicate README file, lint code snippets [\#878](https://github.com/puppetlabs/puppetlabs-firewall/pull/878) ([runejuhl](https://github.com/runejuhl))
## [v2.2.0](https://github.com/puppetlabs/puppetlabs-firewall/tree/v2.2.0) (2019-12-09)
### Fixed
+- \(MODULES-10358\) - Clarification added to Boolean validation checks [\#886](https://github.com/puppetlabs/puppetlabs-firewall/pull/886) ([david22swan](https://github.com/david22swan))
- Change - Avoid puppet failures on windows nodes [\#874](https://github.com/puppetlabs/puppetlabs-firewall/pull/874) ([blackknight36](https://github.com/blackknight36))
- Fix parsing iptables rules with hyphen in comments [\#861](https://github.com/puppetlabs/puppetlabs-firewall/pull/861) ([Hexta](https://github.com/Hexta))
- Changed regex for iniface and outiface to allow '@' in interface names [\#791](https://github.com/puppetlabs/puppetlabs-firewall/pull/791) ([GeorgeCox](https://github.com/GeorgeCox))
- \(MODULES-8214\) Handle src\_type and dst\_type as array [\#790](https://github.com/puppetlabs/puppetlabs-firewall/pull/790) ([mateusz-gozdek-sociomantic](https://github.com/mateusz-gozdek-sociomantic))
- \(MODULES-7990\) Merge multiple comments into one while parsing rules [\#789](https://github.com/puppetlabs/puppetlabs-firewall/pull/789) ([mateusz-gozdek-sociomantic](https://github.com/mateusz-gozdek-sociomantic))
+- add -g flag handling in ip6tables.rb provider [\#788](https://github.com/puppetlabs/puppetlabs-firewall/pull/788) ([cestith](https://github.com/cestith))
- \(MODULES-7681\) Add support for bytecode property [\#771](https://github.com/puppetlabs/puppetlabs-firewall/pull/771) ([baurmatt](https://github.com/baurmatt))
### Fixed
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
-\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
+\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
## Classes
-### `firewall`
+### <a name="firewall"></a>`firewall`
Performs the basic setup tasks required for using the firewall resources.
#### Parameters
-The following parameters are available in the `firewall` class.
+The following parameters are available in the `firewall` class:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`ensure_v6`](#ensure_v6)
+* [`pkg_ensure`](#pkg_ensure)
+* [`service_name`](#service_name)
+* [`service_name_v6`](#service_name_v6)
+* [`package_name`](#package_name)
+* [`ebtables_manage`](#ebtables_manage)
+
+##### <a name="ensure"></a>`ensure`
Data type: `Any`
Default value: `running`
-##### `ensure_v6`
+##### <a name="ensure_v6"></a>`ensure_v6`
Data type: `Any`
Default value: ``undef``
-##### `pkg_ensure`
+##### <a name="pkg_ensure"></a>`pkg_ensure`
Data type: `Any`
Default value: `present`
-##### `service_name`
+##### <a name="service_name"></a>`service_name`
Data type: `Any`
Default value: `$firewall::params::service_name`
-##### `service_name_v6`
+##### <a name="service_name_v6"></a>`service_name_v6`
Data type: `Any`
Default value: `$firewall::params::service_name_v6`
-##### `package_name`
+##### <a name="package_name"></a>`package_name`
Data type: `Any`
Default value: `$firewall::params::package_name`
-##### `ebtables_manage`
+##### <a name="ebtables_manage"></a>`ebtables_manage`
Data type: `Any`
## Resource types
-### `firewall`
+### <a name="firewall"></a>`firewall`
**Autorequires:**
The following parameters are available in the `firewall` type.
-##### `line`
+* [`line`](#line)
+* [`name`](#name)
+* [`provider`](#provider)
+
+##### <a name="line"></a>`line`
Read-only property for caching the rule line.
-##### `name`
+##### <a name="name"></a>`name`
Valid values: `%r{^\d+[[:graph:][:space:]]+$}`
Depending on the provider, the name of the rule can be stored using
the comment feature of the underlying firewall subsystem.
-##### `provider`
+##### <a name="provider"></a>`provider`
The specific backend to use for this `firewall` resource. You will seldom need to specify this --- Puppet will usually
discover the appropriate provider for your platform.
-### `firewallchain`
+### <a name="firewallchain"></a>`firewallchain`
Currently this supports only iptables, ip6tables and ebtables on Linux. And
provides support for setting the default policy on chains and tables that
The following parameters are available in the `firewallchain` type.
-##### `ignore`
+* [`ignore`](#ignore)
+* [`ignore_foreign`](#ignore_foreign)
+* [`name`](#name)
+* [`provider`](#provider)
+* [`purge`](#purge)
+
+##### <a name="ignore"></a>`ignore`
Regex to perform on firewall rules to exempt unmanaged rules from purging (when enabled).
This is matched against the output of `iptables-save`.
}
```
-##### `ignore_foreign`
+##### <a name="ignore_foreign"></a>`ignore_foreign`
Valid values: ``false``, ``true``
Default value: ``false``
-##### `name`
+##### <a name="name"></a>`name`
namevar
For iptables the format must be {chain}:{table}:{protocol}.
-##### `provider`
+##### <a name="provider"></a>`provider`
The specific backend to use for this `firewallchain` resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
-##### `purge`
+##### <a name="purge"></a>`purge`
Valid values: ``false``, ``true``