My customer has a question after using the SDK.
Below is the output of the API script as well as the script’s code. Can someone please provide some guidance if he is doing something wrong?
"Basically, I would like to pull the system information by invoking API “system-get-info”, and down to children get from “system-info”. Unfortunately, I am getting the hash element but the system does not return any output when I try to call the child_get_string under system-info."
Output of the script:
XX11p00XX-storagedb001:/api_script => ./api_test
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
System Name
System Model
======================
Script’s code:
#!/usr/bin/perl
use lib "/Netapp/lib/perl/NetApp";
use NaServer;
use NaElement;
use Path::Class;
use autodie;
use Time::Piece;
use MIME::Lite;
# Variable declaration
my $user = dfmuser;
my $pw = xxxxxx;
my $filer = "XX11p08XX-filerm08512";
my $s = NaServer->new ($filer, 1, 13);
my $response = $s->set_style(LOGIN);
if (ref ($response) eq "NaElement" && $response->results_errno != 0)
{
my $r = $response->results_reason();
print "Unable to set authentication style $r\n";
exit 2;
}
$s->set_admin_user($user, $pw);
$response = $s->set_transport_type("HTTPS");
$s->set_port(443);
if (ref ($response) eq "NaElement" && $response->results_errno != 0)
{
my $r = $response->results_reason();
print "Unable to set HTTPs transport $r\n";
exit 2;
}
my $out = $s->invoke("system-get-info");
if ($out->results_status() eq "failed"){
print($out->results_reason() ."\n");
exit (-2);
}
my $status = $out->child_get("system-info");
if ($status == "")
{
print " status_children_get was empty\n";
exit (0);
}
@result = $status->children_get();
foreach $line (@result)
{
print "System Name ";
print (" ");
print ($line->child_get_string("system-name"));
print " \n";
print "System Model ";
print (" ");
print ($line->child_get_string("system-model"));
print "\n";
}