| #include <stdio.h>
#include <netapp_api.h>
int main(int argc, char* argv[])
{
na_server_t* s;
na_elem_t* out;
char err[256];
int use_rpc
= 0;
int rtn
= 0;
char* filername = argv[1];
char* user = argv[2];
char* passwd = argv[3];
char* vol = argv[4];
char* ssname = argv[5];
if (argc < 6) {
fprintf(stderr, "Usage: %s <filername> "
"<user>
<password> "
"<volname>
<newsnapshotname>\n",
argv[0]);
return -1;
}
if (!na_startup(err, sizeof(err))) {
fprintf(stderr, "Error in na_startup:
"
"%s\n", err);
return -2;
}
s = na_server_open(filername, 1, 1);
if ( use_rpc) {
na_server_set_style(s, NA_STYLE_RPC);
}
else {
na_server_set_style(s,
NA_STYLE_LOGIN_PASSWORD);
na_server_adminuser(s, user, passwd);
}
rtn = na_server_set_transport_type(s,
NA_SERVER_TRANSPORT_HTTPS,0);
if (rtn == 0) {
printf("Error setting transport
type");
return -3;
}
out = na_server_invoke(s,
"snapshot-create",
"snapshot",
ssname,
"volume",
vol,
NULL);
if (na_results_status(out) != NA_OK) {
printf("Error %d: %s\n",
na_results_errno(out),
na_results_reason(out));
return -4;
}
else {
na_elem_free(out);
}
return 0;
}
|
use lib '../../../lib/perl/NetApp';
use NaServer;
use NaElement; #optional
my $filer = shift;
my $user = shift;
my $pw = shift;
my $vol = shift;
my $ssname = shift;
if ($ssname eq "") {
print("Usage: snap filer user passwd");
print(" volname newsnapshotname\n");
exit(-1);
}
my $s = NaServer->new($filer, 1, 3);
$s->set_style(LOGIN_PASSWORD);
$s->set_admin_user($user, $pw);
$s->set_transport_type(
NA_SERVER_TRANSPORT_HTTPS);
my $out = $s->invoke(
"snapshot-create",
"snapshot",
$ssname,
"volume",
$vol);
if ($out->results_status() eq "failed") {
print($out->results_reason() . "\n");
exit(-2);
}
0;
|
import java.util.*;
import netapp.manage.*;
public class hello {
public static void main(String[] args) {
NaElement xi;
NaElement xo;
NaServer s;
String filer = args[0];
String user = args[1];
String passwd = args[2];
String vol = args[3];
String ssname = args[4];
if ( args.length < 5 ) {
System.err.print(
"Usage: snap
filer user passwd");
System.err.println(
" volume
snapshotname");
System.exit(-1);
}
s = new NaServer(filer,1,3);
s.setStyle(NaServer.LOGIN_PASSWORD);
s.setAdminUser(user, passwd);
s.setTransportType(
NaServer.NA_SERVER_TRANSPORT_HTTPS);
xi = new NaElement(
"snapshot-create");
xi.addNewChild("volume", vol);
xi.addNewChild("snapshot", ssname);
try {
xo = s.invokeElem(xi);
}
catch (Exception e) {
e.printStackTrace();
System.exit(-3);
}
finally {
s.close();
}
}
}
|