BigIP::ParseConfig - F5/BigIP configuration parser
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' );
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.
Create a new BigIP::ParseConfig object.
FILE refers to the bigip.conf configuration file, usually found at /config/bigip.conf.
FILE
Example
$bip = BigIP::ParseConfig->new( '/config/bigip.conf' );
List the names of all found objects of the referring method.
Examples
@pools = $bip->pools(); @virtuals = $bip->virtuals();
Return a hash of the object specified.
%sschneid = $bip->user( 'sschneid' ); $monitor = $bip->pool( 'Production_LDAP_pool')->{'monitor'};
List the members of a specified pool.
@members = $bip->members( 'Production_LDAP_pool' );
Note that this is identical to using the pool method:
@members = @{$bip->pool( 'Production_LDAP_pool' )->{'members'}};
Modify the attributes of a specified object. The following options are required:
The type of object being modified. Allowed types are: monitor, node, partition, pool, profile, route, user, virtual.
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.
$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 out a new configuration file. FILE refers to the bigip.conf configuration file, usually found at /config/bigip.conf.
$bip->write( '/config/bigip.conf.new' );
Scott Schneider <sschneid@gmail.com>
To install BigIP::ParseConfig, copy and paste the appropriate command in to your terminal.
cpanm
cpanm BigIP::ParseConfig
CPAN shell
perl -MCPAN -e shell install BigIP::ParseConfig
For more information on module installation, please visit the detailed CPAN module installation guide.