| BigIP-ParseConfig documentation | view source | Contained in the BigIP-ParseConfig distribution. |
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.
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.
Examples
%sschneid = $bip->user( 'sschneid' );
$monitor = $bip->pool( 'Production_LDAP_pool')->{'monitor'};
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 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.
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 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' );
Scott Schneider <sschneid@gmail.com>
| BigIP-ParseConfig documentation | view source | Contained in the BigIP-ParseConfig distribution. |