6 use lib '/srv/Intel-AMT/lib/';
7 use Intel::AMT::RemoteControl;
8 use Intel::AMT::NetworkAdministration;
9 use Intel::AMT::EventManager;
10 use Data::Dump qw/dump/;
11 use Regexp::Common qw/net/;
19 my ( $client_ip, $amt ) = @_;
20 return unless $client_ip;
21 $amt ||= client::conf( $client_ip => 'amt' );
22 my ( $passwd, $ip ) = split(/\s+/, $amt);
23 ( $ip, $passwd ) = ( $passwd, $ip ) if $passwd =~ m/$RE{net}{IPv4}/;
27 $ENV{AMT_PASSWORD} = $passwd;
30 my $hostname = client::conf( $client_ip => 'hostname' ) || $client_ip;
32 client::conf( $ip => 'hostname', default => "amt-$hostname" );
38 my $state = eval { Intel::AMT::RemoteControl::SystemPowerState };
39 store::audit('SystemPowerState', { ip => $ENV{AMT_HOST}, SystemPowerState => $state });
45 my $state = power_state;
46 defined $state && ( $state & 0x0f ) == 0;
52 my $amt = eval { Intel::AMT::NetworkAdministration::network_settings };
56 $amt->{ip} = $ENV{AMT_HOST};
57 store::audit('log', $amt );
65 my $amt = eval { Intel::AMT::EventManager::ReadEventLogRecords };
69 $amt->{ip} = $ENV{AMT_HOST};
70 store::audit('log', $amt );
78 eval { Intel::AMT::RemoteControl::run( $command ) };
79 store::audit( $command, { ip => $ENV{AMT_HOST}, error => $@ } );
80 warn "ERROR $@" if $@;