Software Development Kit (SDK) and API Discussions

How to get volumelist of storage system with 7 mode using java?

VISHWASTALULE
3,481 Views

  I want to get list of all volumes of storage system. I am using Netapp manageability sdk 5.1- java bindings. I tried to run VolList.java from sample code provided, but unable to get list of volumes.

Ho do I get list of all available volumes on my storage system?

1 ACCEPTED SOLUTION

zulanch
3,481 Views

Only the classes named with *IterStart are iterator APIs. LunListInfo is a regular API, so you'd use the ApiRunner.run() method.

LunListInfoRequest lunListReq = new LunListInfoRequest();

LunListInfoResponse lunListResp = runner.run(lunListReq);

for (LunInfo lun : lunListResp.getLuns()) {

    System.out.println("Lun: " + lun.getPath());

}

Check out the other sample code examples which show how to use some other APIs, including ApiRunner.run().

-Ben

View solution in original post

7 REPLIES 7

zulanch
3,481 Views

I just tested the VolList.java sample code and it worked fine. Can you post the error message you're getting?

-Ben

VISHWASTALULE
3,481 Views

Thanks Ben. Actually I got mistake in my program itself.

I am able to get information about volume. Now I want to get information about LUN, DISK and Aggregates. How can I get this information?

What are possible properties I can get using this?

rle
NetApp Alumni
3,481 Views

Please review the API documentation.  APIs are divided into categories like Volume, LUN, disk, and aggregate.  For example you should find AggrList, DiskList, etc.  The API documentation will inform you about the parameters.  API documentation can be downloaded from http://developer.netapp.com.

Regards,

   - Rick -

VISHWASTALULE
3,481 Views

I want to know what kind of request(which class) do I need to send to get above information?

zulanch
3,481 Views

The  classes in the Java bindings map by name to the API names that are listed in the documentation that Rick pointed you to. For example, if you look at the APIs listed in the lun category, you'll find the lun-list-info API, which gets information on LUNs. You invoke this API using the LunListInfoRequest class in the Java bindings.

So again, please download the API documentation from https://communities.netapp.com/community/interfaces_and_tools/developer/apidoc and refer to it to find the APIs you need. Let us know if you get stuck.

-Ben

VISHWASTALULE
3,481 Views

Thanks Ben. I did it exactly as you told.

But I want to print the result. I tried to use iterator to iterate but not succeed .

Here is a code:

LunListInfoRequest lunreq = new LunListInfoRequest();

System.out.println("luninfo is .. " + lunreq);

Iterator<LunInfo> lunInfoIter = apirunner.iterate(lunreq,10);

In this code I got error to iterate method at line 3.

Is there any alternate way to iterate the object?

zulanch
3,482 Views

Only the classes named with *IterStart are iterator APIs. LunListInfo is a regular API, so you'd use the ApiRunner.run() method.

LunListInfoRequest lunListReq = new LunListInfoRequest();

LunListInfoResponse lunListResp = runner.run(lunListReq);

for (LunInfo lun : lunListResp.getLuns()) {

    System.out.println("Lun: " + lun.getPath());

}

Check out the other sample code examples which show how to use some other APIs, including ApiRunner.run().

-Ben

Public