Cisco-UCS
view release on metacpan or search on metacpan
lib/Cisco/UCS/Fault.pm view on Meta::CPAN
package Cisco::UCS::Fault;
use strict;
use warnings;
use Carp qw(croak);
use Scalar::Util qw(weaken);
our $VERSION = '0.51';
our @ATTRIBUTES = qw(ack code cause created dn id occur rule severity tags
type);
our %ATTRIBUTES = (
last_transition => 'lastTransition',
highest_severity => 'highestSeverity',
original_severity => 'origSeverity',
previous_severity => 'prevSeverity',
desc => 'descr'
);
sub new {
my ( $class, %args ) = @_;
my $self = {};
bless $self, $class;
defined $args{dn}
? $self->{dn} = $args{dn}
: croak 'dn not defined';
defined $args{ucs}
? weaken($self->{ucs} = $args{ucs})
: croak 'ucs not defined';
my %attr = %{ $self->{ucs}->resolve_dn(
dn => $self->{dn}
)->{outConfig}->{faultInst}};
while ( my ($k, $v) = each %attr ) { $self->{$k} = $v }
return $self
}
{
no strict 'refs';
while ( my ( $pseudo, $attribute ) = each %ATTRIBUTES ) {
*{ __PACKAGE__ . '::' . $pseudo } = sub {
my $self = shift;
return $self->{$attribute}
}
}
foreach my $attribute ( @ATTRIBUTES ) {
*{ __PACKAGE__ . '::' . $attribute } = sub {
my $self = shift;
return $self->{$attribute}
}
}
}
1;
__END__
=pod
=head1 NAME
Cisco::UCS::Fault - Class for operations with Cisco UCS fault instances.
=head1 SYNOPSIS
foreach my $error ( $ucs->get_errors ) {
print "-"x50 . "\n" .
"Error : " . $error->id . "\n" .
"Created : " . $error->created . "\n" .
"Severity : " . $error->severity . "\n" .
"Description : " . $error->desc . "\n";
}
=head1 DESCRIPTION
Cisco::UCS::Fault is a class providing operations with Cisco UCS fault
instances (errors).
Note that you are not supposed to call the constructor yourself, rather
Cisco::UCS::Fault objects are created for you automatically by calls to
methods in Cisco::UCS.
=head1 METHODS
( run in 0.459 second using v1.01-cache-2.11-cpan-d8267643d1d )