NAME

Varnish::CLI - An interface to the Varnish CLI

VERSION

Version::CLI 0.01

SYNOPSIS

Varnish CLI is a great administration tool, but a bit difficult to script for. This module allows easy script interface to it.

use Varnish::CLI;
my $varnish = Varnish::CLI->new( host    => $host,
                                 port    => $port,
                                 timeout => $timeout,
                                 secret  => $secret,
                            );
$varnish->send( 'url.purge .*' );

The Varnish::CLI can be initialised without any parameters, and will usually work for the default Varnish settings:

my $varnish = Varnish::CLI->new();

If you have started your Varnish CLI with a secret, you must will have to pass the contents of your secret file, otherwise authentication will fail... Makes sense!! :) Remember - complete contents of the secret file (including a newline if it exists!)

my $varnish = Varnish::CLI->new( secret => $secret );

PROPERTIES

has host => ( is => 'ro', isa => 'Str', required => 1, default => 'localhost' );

has port => ( is => 'ro', isa => 'Int', required => 1, default => 6082 );

has timeout => ( is => 'rw', isa => 'Int', required => 1, default => 1 );

has t => ( is => 'rw', isa => 'Net::Telnet', clearer => 'clear_t' );

has secret => ( is => 'rw', isa => 'Str' );

has connected => ( is => 'rw', isa => 'Int', default => 0, required => 1 );

has last_lines => ( is => 'rw', isa => 'ArrayRef', default => sub{ [] } );

has last_status => ( is => 'rw', isa => 'Int', );

SUBROUTINES/METHODS

connect

Connect to the Varnish CLI interface

close

Close the connection to the Varnish CLI interface

send

Send a command to the Varnish CLi

AUTHOR

Robin Clarke, <perl at robinclarke.net>

BUGS

Please report any bugs or feature requests to bug-varnish at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Varnish. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Varnish

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

Copyright 2011 Robin Clarke.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.