NAME

Farly::Remove::Address - Remove an address or network

DESCRIPTION

Farly::Remove::Address removes a specified address or network from the firewall configuration, taking into account configuration dependencies. For example, if a group becomes empty as a result of removing the given IP address then all firewall rules refering to the now empty group willl be removed before the group is removed.

METHODS

new( $list<Object::KVC::List<Object::KVC::Hash>> )

The constructor. A firewall configuration $list must be provided.

$remover = Farly::Remove::Address->new( $list );

remove( $ip<Farly::IPv4::Object> )

Resolves dependencies and removes the specified IP object from the current Farly firewall model.

$remover->remove( $ip );

The remove method may be called for multiple IP addresses.

result()

Returns an Object::KVC::Set<Object::KVC::Hash> object containing all objects which need to be removed from the current Farly firewall model in order to remove all references to the removed addresses.

$remove_result_set = $remover->result();

COPYRIGHT AND LICENCE

Farly::Remove::Address Copyright (C) 2012 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/>.