Net-ILO

 view release on metacpan or  search on metacpan

lib/Net/ILO.pm  view on Meta::CPAN

}


sub _generate_cmd {

    my ($self, $command) = @_;

    my %commands = (

        'get_embedded_health'   => qq( <SERVER_INFO MODE="read">
                                       <GET_EMBEDDED_HEALTH/>
                                       </SERVER_INFO> ),

        'get_fw_version'        => qq( <RIB_INFO MODE="read">
                                       <GET_FW_VERSION/>
                                       </RIB_INFO> ),

        'get_global_settings'   => qq( <RIB_INFO MODE="read">
                                       <GET_GLOBAL_SETTINGS/>
                                       </RIB_INFO> ),

lib/Net/ILO.pm  view on Meta::CPAN

    my $ilo_command = $self->_generate_cmd('get_embedded_health');

    my $response    = $self->_send($ilo_command)    or return;
    my $xml         = $self->_serialize($response)  or return;

    if ( my $errmsg = _check_errors($xml) ) {
        $self->error($errmsg);
        return;
    }

    my $fans            = $xml->{GET_EMBEDDED_HEALTH_DATA}->{FANS}->{FAN};
    my $power_supplies  = $xml->{GET_EMBEDDED_HEALTH_DATA}->{POWER_SUPPLIES}->{SUPPLY};
    my $temperatures    = $xml->{GET_EMBEDDED_HEALTH_DATA}->{TEMPERATURE}->{TEMP};

    foreach my $fan (@$fans) {

        my $location = $fan->{ZONE}->{VALUE};
        my $name     = $fan->{LABEL}->{VALUE};
        my $speed    = $fan->{SPEED}->{VALUE};
        my $status   = $fan->{STATUS}->{VALUE};
        my $unit     = $fan->{SPEED}->{UNIT};

        next unless $speed && $speed =~ /^\d+$/;



( run in 0.833 second using v1.01-cache-2.11-cpan-71847e10f99 )