NAME
BigIP::ParseConfig - F5/BigIP configuration parser
SYNOPSIS
use BigIP::ParseConfig;
# Module initialization
my $bip = new BigIP::ParseConfig( '/config/bigip.conf' );
# Iterate over pools
foreach my $pool ( $bip->pools() ) {
# Iterate over pool members
foreach my $member ( $bip->members( $pool ) ) {
# Change port from 80 to 443
if ( $member /^(\d+\.\d+\.\d+\.\d+):80/ ) {
push @members, "$1:443";
my $change = 1;
}
}
# Commit the change above (80->443)
if ( $change ) {
$bip->modify(
type => 'pool',
key => $pool,
members => [ @members ]
);
}
}
# Write out a new config file
# $bip->write( '/config/bigip.conf.new' );
DESCRIPTION
BigIP::ParseConfig provides a Perl interface to reading, writing, and manipulating configuration files used on F5 (BigIP) LTM network devices.
This module is currently a work-in-progress. Please e-mail with problems, bug fixes, comments and complaints.
CONSTRUCTOR
- new ( FILE )
-
Create a new BigIP::ParseConfig object.
FILE
refers to the bigip.conf configuration file, usually found at /config/bigip.conf.Example
$bip = BigIP::ParseConfig->new( '/config/bigip.conf' );
METHODS
- monitors
- nodes
- partitions
- pools
- profiles
- routes
- rules
- users
- virtuals
-
List the names of all found objects of the referring method.
Examples
@pools = $bip->pools(); @virtuals = $bip->virtuals();
- monitor ( MONITOR )
- node ( NODE )
- partition ( PARTITION )
- pool ( POOL )
- profile ( PROFILE )
- route ( ROUTE )
- rule ( RULE )
- user ( USER )
- virtual ( VIRTUAL )
-
Return a hash of the object specified.
Examples
%sschneid = $bip->user( 'sschneid' ); $monitor = $bip->pool( 'Production_LDAP_pool')->{'monitor'};
- members ( POOL )
-
List the members of a specified pool.
Example
@members = $bip->members( 'Production_LDAP_pool' );
Note that this is identical to using the pool method:
@members = @{$bip->pool( 'Production_LDAP_pool' )->{'members'}};
- modify ( OPTIONS )
-
Modify the attributes of a specified object. The following options are required:
- type
-
The type of object being modified. Allowed types are: monitor, node, partition, pool, profile, route, user, virtual.
- key
-
The key (name) of the object being modified.
Following type and key should be a string or a reference to an array of strings. See the example below for more details.
Examples
$bip->modify( type => 'virtual', key => 'Production_LDAP_vip', persist => 'cookie' ); $bip->modify( type => 'pool', key => 'Production_LDAP_pool', members => [ '192.168.0.1:636', '192.168.0.2:636' ] );
- write ( FILE )
-
Write out a new configuration file.
FILE
refers to the bigip.conf configuration file, usually found at /config/bigip.conf.Example
$bip->write( '/config/bigip.conf.new' );
AUTHOR
Scott Schneider <sschneid@gmail.com>