NAME
Net::Appliance::Logical::BlueCoat::SGOS - Perl extension for interaction with Bluecoat proxy devices
SYNOPSIS
use Net::Appliance::Logical::BlueCoat::SGOS;
my $sg = Net::Appliance::Logical::BlueCoat::SGOS->new( 'proxy-hostname' );
printf "%s (running version %s) has been up since %s\n",
$sg->platform,
$sg->version,
$sg->started;
$sg->delete_from_cache('http://cpan.perl.org/');
DESCRIPTION
This module is a simple way to interact with BlueCoat SG proxy servers.
NOTES
This code has only been tested on SGOS version 4.x
OBJECT CREATION
- new
-
my $sg = Net::Appliance::Logical::BlueCoat::SGOS->new( $host [ $opts ] );
This class method constructs a new
Net::Appliance::Logical::BlueCoat::SGOS
object. It takes one required option, the hostname or IP of the proxy server, plus any additional options to override the defaults.OPTIONS:
user => Admin username (default: admin) password => Admin password enable => Enable password (currently not used) port => Port for the HTTP admin interface (default: 8081) protocol => Protocol for the HTTP admin interface (default: http) community => SNMP community string (default: public) timeout => How long to wait for an HTTP admin command (default: 10)
- webget
-
my $val = $sg->webget( $path | $actionref , [ $opts ] );
Accepts either a path or a hashref to an action item, plus optional arguments.
You can use this to get specific pages wholesale, for instance:
$sg->webget('OPP/statistics');
Or you can use it to send back a hashref of data, for instance:
my $s = $sg->webget({ path => 'ContentFilter/Status', delim => ':' }); printf "Content-Provider: %s (%s)\n", $s->{Provider}, $s->{Status};
- privcmd
-
my $response = $sg->privcmd('pcap stop'); $response=>{errors} and die "Error: " . $response->{errors}; print $response->{output};
Issues commands to the proxy as if you were logged in via ssh, enabled, and in config mode. Returns a hashref with the number of errors, warnings, and the output of the command.
If you issue an array of commands, they will be executed as separate requests A command that is a listref will be joined with newlines and issued as one command. For instance:
my @commands = ('show ver', 'show clock', 'show disk all', 'restart regular'); my @responses = $sg->privcmd(@commands);
versus
my $commands = [ 'exceptions', 'path http://foo', 'exit', 'load exceptions' ]; my $response = $sg->privcmd($commands);
You would want to use the latter if you have multi-step operations that need to be executed within one command.
- cmd
-
Because of the current implementation, this is the same as privcmd above.
- cpu
- version_string
- server_http_errors
- server_http_requests
- server_http_traffic_in
- server_http_traffic_out
- config
- config_brief
- show_policy_local
- show_policy_central
- show_policy_forward
- show_policy_vpm
-
The above options pretty much do what you would expect.
- uptime
-
$sg->uptime; # 1060242.8
Returns the uptime of the appliance in seconds.
- started
-
$sg->started; # 2006-06-02 10:39:57
Returns the time the system was last re-started as a Class::Date object.
- version
-
$sg->version # 3.2.6.8
Returns the version number of the OS
- platform
-
$sg->platform; # Blue Coat SG800 Series
Returns the platform identifier of the proxy
- smartfilter_version
-
$sg->smartfilter_version; # 937
Returns the running version of the Smartfilter database
- smartfilter_download_date
-
$sg->smartfilter_download_date; # 2006-06-14 01:00:04
- categorize_url
-
my $category = $sg->categorize_url('http://www.bluecoat.com/'); my @categories = $sg->categorize_url('http://www.bluecoat.com/');
Returns content-filter categorization for the argument. Called in list context it returns them as an array.
- current_workers
-
$sg->current_workers; # 42
- object_cache_info
-
$sg->delete_from_cache( $uri );
Deletes a URI from the cache. Returns true on success, false on failure.
- delete_from_cache
-
$sg->delete_from_cache( $uri );
Deletes a URI from the cache. Returns true on success, false on failure.
- conf_net
-
$sg->conf_net( $url );
Loads a config from a specified URL
AUTHOR
Christopher Heschong, <chris@wiw.org>, with assistance from Sam McLane
LICENSE
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 527:
You forgot a '=back' before '=head1'