NAME

Farly::Remove::Rule - Removes firewall rule entries from the configuration

DESCRIPTION

Farly::Remove::Rule replaces a firewall rule configuration with the set of firewall rule entries to be kept. i.e. If the firewall configuration rule uses a group, then the configuration rule is removed and the expanded firewall rule entries are used in the configuration.

Farly::Remove::Rule must be provided with the original configuration container and a unique expanded $list<Farly::Object::List> of firewall rule entries where entries to be removed have the 'REMOVE' property set.

The commands needed to remove the 'REMOVE' firewall rule entries from the given firewall configuration will be generated.

METHODS

new( $config<Farly::Object::List> )

The constructor. The firewall configuration container is required.

$remover = Farly::Remove::Rule->new( $config<Farly::Object::List> );

remove( $expanded_rules<Farly::Object::List> )

Removes entries with the 'REMOVE' property from the given Farly firewall $config model.

$remover->remove( $expanded_rules );

Rules entry objects being removed from the config must have the 'REMOVE' property set within $expanded_rules.

result()

Returns a Farly::Object::List<Farly::Object> object containing all objects which need to be removed or added to the current Farly firewall model in order to remove all references to the removed firewall rule entries.

$remove_result_set = $remover->result();

COPYRIGHT AND LICENCE

Farly::Remove::Rule Copyright (C) 2012-2013 Trystan Johnson

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.