App-Validation-Automation

 view release on metacpan or  search on metacpan

lib/App/Validation/Automation.pm  view on Meta::CPAN

package App::Validation::Automation;

use Carp;
use Switch;
use Moose;
use Net::SSH::Perl;
use namespace::autoclean;
use English qw(-no_match_vars);

=head1 NAME

App::Validation::Automation 

=head1 VERSION

Version 0.01

=cut

our $VERSION = '0.01';

=head1 SYNOPSIS

    use App::Validation::Automation;

    my $obj = App::Validation::Automation->new(
        config          => \%config,
        log_file_handle => $log_handle,
        user_name       => $config{'COMMON.USER'},     #Optional Parameter
        password        => $config{'COMMON.PASSWORD'}, #Optional Parameter
        site            => $config{'COMMON.SITE'},     #Optional Parameter
        zone            => $config{'COMMON.ZONE'},     #Optional Parameter
        secret_pphrase  => $secret_pphrase,            #Optional Parameter
    );

    $success = $obj->validate_urls();
    $success = $obj->test_dnsrr_lb();
    $success = $obj->validate_processes_mountpoints();

    #Or, If config is small

    my $obj = App::Validation::Automation->new(
        config          => {
            'COMMON.SSH_PROTO'    => '2,1',
            'COMMON.ID_RSA'       => [
                                        /home/user/.ssh/id_rsa1, 
                                        /home/user/.ssh/id_rsa2
                                     ],
            'COMMON.DEFAULT_HOME' => /home/user/App/Validation,
            'COMMON.LOG_DIR'      => /home/user/App/Validation/log,
            'COMMON.LINK'         => http://ap.xyz.com/loginproxy_servlet,
            'COMMON.PROCESS_TMPL' => ps -eaf |grep -i %s|grep -v grep|wc -l
            'COMMON.FILESYS_TMPL' => cd %s
            'HOSTNAME1.PROCESSES' => [BBL:1, DMADM:],
            'HOSTNAME1.FILE_SYS'  => [/home, /],
            'HOSTNAME2.PROCESSES' => [BL:1, DADM:],
            'HOSTNAME2.FILE_SYS'  => [/home, /],
            'HOSTNAME2.LINKS'     => [
                                        http://hostname2.xyz.com:6666,
                                        http://hostname2.xyz.com:6667, 
                                     ]
        },
        log_file_handle => $log_handle,
        user_name       => $config{'COMMON.USER'},     #Optional Parameter
        password        => $config{'COMMON.PASSWORD'}, #Optional Parameter
        site            => $config{'COMMON.SITE'},     #Optional Parameter
        zone            => $config{'COMMON.ZONE'},     #Optional Parameter



( run in 0.779 second using v1.01-cache-2.11-cpan-39bf76dae61 )