/usr/share/perl5/NetApp/Snapshot/Schedule.pm is in libnetapp-perl 500.002-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | package NetApp::Snapshot::Schedule;
our $VERSION = '500.002';
$VERSION = eval $VERSION; ## no critic: StringyEval
use strict;
use warnings;
use Carp;
use Class::Std;
use Params::Validate qw( :all );
{
my %parent_of :ATTR( get => 'parent' );
my %weekly_of :ATTR( get => 'weekly' );
my %daily_of :ATTR( get => 'daily' );
my %hourly_of :ATTR( get => 'hourly' );
my %hourlist_of :ATTR;
sub BUILD {
my ($self,$ident,$args_ref) = @_;
my @args = %$args_ref;
my (%args) = validate( @args, {
parent => { type => OBJECT },
weekly => { type => SCALAR },
daily => { type => SCALAR },
hourly => { type => SCALAR },
hourlist => { type => ARRAYREF,
default => [],
optional => 1 },
});
$parent_of{$ident} = $args{parent};
$weekly_of{$ident} = $args{weekly};
$daily_of{$ident} = $args{daily};
$hourly_of{$ident} = $args{hourly};
$hourlist_of{$ident} = $args{hourlist};
}
sub get_hourlist {
return @{ $hourlist_of{ident shift} };
}
}
sub _parse_snap_sched {
my $class = shift;
my $line = shift;
my ($weekly,$daily,$hourly,$hourlist) = (split( /[@\s]+/, $line ))[2..5];
if ( $hourlist ) {
$hourlist = [ split( /,/, $hourlist ) ];
} else {
$hourlist = [];
}
if ( $weekly !~ /^\d+$/ || $daily !~ /^\d+$/ || $hourly !~ /^\d+$/ ) {
croak("Unable to parse snap sched: $line\n");
}
return {
weekly => $weekly,
daily => $daily,
hourly => $hourly,
hourlist => $hourlist,
};
}
1;
|