Support for Device Details plugins; Web-Plugin-RANCID
This commit is contained in:
97
Web-Plugin-RANCID/lib/App/NetdiscoX/Web/Plugin/RANCID.pm
Normal file
97
Web-Plugin-RANCID/lib/App/NetdiscoX/Web/Plugin/RANCID.pm
Normal file
@@ -0,0 +1,97 @@
|
||||
package App::NetdiscoX::Web::Plugin::RANCID;
|
||||
|
||||
our $VERSION = '2.001001';
|
||||
|
||||
use Dancer ':syntax';
|
||||
use App::Netdisco::Web::Plugin;
|
||||
|
||||
use File::ShareDir 'dist_dir';
|
||||
register_template_path(
|
||||
dist_dir( 'App-NetdiscoX-Web-Plugin-RANCID' ));
|
||||
|
||||
register_device_details({
|
||||
name => 'rancid',
|
||||
label => 'RANCID',
|
||||
default => 'on',
|
||||
});
|
||||
|
||||
=head1 NAME
|
||||
|
||||
App::NetdiscoX::Web::Plugin::RANCID - Link to device backups in RANCID/WebSVN
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
# in your ~/environments/deployment.yml file
|
||||
|
||||
extra_web_plugins:
|
||||
- X::RANCID
|
||||
|
||||
plugin_rancid:
|
||||
location: 'websvn-server.example.com/rancid'
|
||||
open_in_new_window: true
|
||||
|
||||
=head1 Description
|
||||
|
||||
This is a plugin for the L<App::Netdisco> network management application.
|
||||
It adds a row to the Device Details page named "RANCID" with a link to
|
||||
your local RANCID/WebSVN installation hosting the device configuation
|
||||
backups.
|
||||
|
||||
=head1 Configuration
|
||||
|
||||
Create an entry in your C<~/environments/deployment.yml> file named
|
||||
"C<plugin_rancid>", containing the following settings:
|
||||
|
||||
=head2 location
|
||||
|
||||
Value: String, Required.
|
||||
|
||||
Name of the server hosting your local WebSVN installation. This should
|
||||
also include the path under which backup files are stored for the devices.
|
||||
|
||||
=head2 open_in_new_window
|
||||
|
||||
Value: Boolean. Default: false.
|
||||
|
||||
If set to true, the hyperlink is configured to open the WebSVN page in a new
|
||||
browser window or tab.
|
||||
|
||||
=head1 TODO
|
||||
|
||||
At the moment the device name is used in the link. This is kind of useless
|
||||
for most installations. Needs config to control how to specify device in
|
||||
generated link.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Oliver Gorwits <oliver@cpan.org>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
This software is copyright (c) 2013 by The Netdisco Developer Team.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the Netdisco Project nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE NETDISCO DEVELOPER TEAM BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
=cut
|
||||
|
||||
true;
|
||||
Reference in New Issue
Block a user