Cisco-UCS
view release on metacpan or search on metacpan
lib/Cisco/UCS/Blade/Adaptor.pm view on Meta::CPAN
package Cisco::UCS::Blade::Adaptor;
use strict;
use warnings;
use Scalar::Util qw(weaken);
our $VERSION = '0.51';
our %V_MAP = (
'adminPowerState' => 'admin_pwoer_state',
'baseMac' => 'base_mac',
'bladeId' => 'blade_id',
'chassisId' => 'chassis_id',
'connPath' => 'conn_path',
'connStatus' => 'conn_status',
'dn' => 'dn',
'integrated' => 'integrated',
'managingInst' => 'managing_instance',
'model' => 'model',
'operability' => 'operability',
'operState' => 'oper_state',
'pciSlot' => 'pci_slot',
'partNumber' => 'part_number',
'pciAddr' => 'pci_addr',
'perf' => 'perf',
'power' => 'power',
'presence' => 'presence',
'reachability' => 'reachability',
'revision' => 'revision',
'serial' => 'serial',
'thermal' => 'thermal',
'voltage' => 'voltage',
'vendor' => 'vendor'
);
{ no strict 'refs';
while ( my ($attribute, $pseudo) = each %V_MAP ) {
*{ __PACKAGE__ .'::'. $pseudo } = sub {
my $self = shift;
return $self->{$attribute}
}
}
}
sub new {
my ( $class, $ucs, $args ) = @_;
my $self = bless {}, $class;
weaken( $self->{ucs} = $ucs );
foreach my $var ( keys %$args ) {
$self->{ $var } = $args->{ $var };
}
return $self
}
sub env_stats {
my $self = shift;
return Cisco::UCS::Common::EnvironmentalStats->new(
$self->{ucs}->resolve_dn(
dn => "$self->{dn}/env-stats"
)->{outConfig}->{processorEnvStats}
)
}
1;
__END__
=pod
=head1 NAME
Cisco::UCS::Blade::CPU - Class for operations with a Cisco UCS Blade CPUs.
=cut
=head1 SYNOPSIS
# Print all blades in all chassis along with a cacti-style listing of
# the blades current, minimum and maximum power consumption values.
map {
print "Chassis: " . $_->id ."\n";
map { print "\tCommon::PowerStats: "
. $_->id ." - Power consumed -"
. " Current:". $_->power_stats->consumed_power
. " Max:". $_->power_stats->consumed_power_max
. " Min:". $_->power_stats->consumed_power_min ."\n"
}
sort { $a->id <=> $b->id } $_->get_blades
}
sort {
$a->id <=> $b->id
} $ucs->get_chassiss;
# Prints something like:
#
# Chassis: 1
# Blade: 1 - Power consumed - Current:115.656647 Max:120.913757 Min:110.399513
# Blade: 2 - Power consumed - Current:131.427994 Max:139.313675 Min:126.170883
# Blade: 3 - Power consumed - Current:131.427994 Max:157.713593 Min:126.170883
# Blade: 4 - Power consumed - Current:0.000000 Max:0.000000 Min:0.000000
# Blade: 5 - Power consumed - Current:0.000000 Max:0.000000 Min:0.000000
# Blade: 6 - Power consumed - Current:0.000000 Max:0.000000 Min:0.000000
# Blade: 7 - Power consumed - Current:0.000000 Max:0.000000 Min:0.000000
# Blade: 8 - Power consumed - Current:0.000000 Max:0.000000 Min:0.000000
( run in 1.274 second using v1.01-cache-2.11-cpan-600a1bdf6e4 )