VMware vSAN SDK for Java
=================================

The VMware vSAN SDK supports the development of programs that manage
vSAN using vSAN Management API.

VMware vSAN runs in conjunction with vCenter and ESXi servers.
Please note that the VMware vSphere Web Services SDK is required as a
a baseline for using vSAN API (i.e. vSphere API should be used
for logging in, retreiving ManagedEntities like vCenter clusters).

VMware vSAN SDK for Java depends on VMware vSphere Web Services
SDK (v7.0.3) - the Java SDK for the VMware vSphere API. Please refer
to http://www.vmware.com/support/developer/vc-sdk/index.html for the SDK
documentation and software.

The vSAN SDK for Java includes the following documentation and software.
*  vSAN API reference - HTML documents in the 'docs' directory
   You can browse it with your browsers by opening the index.html locally.

*  WSDL files - the Web Services Definition Language (WSDL) definitions under
   the 'bindings/wsdl' directory. It allows you to generate the Java bindings
   for accessing the vSAN management APIs.

*  Sample codes - the sample programs, the build and run script and dependent
   libraries under the 'samplecode' directory. To run the sample program,
   firstly you need download the VMware vSphere Web Service SDK and extract
   to get the following directory structure.
    ```
    VMware-vSphere-SDK-x.y.z-build
    |--SDK
        |--vsphere-ws
        |--libs
        |--...
    ```
   Secondly, you need download and extract the VMware vSAN SDK and copy
   the whole Java SDK directory "vsan-sdk-java" into the same directory level
   as 'vsphere-ws' in VMware vSphere Web Service SDK like the following directory
   strucuture.
   ```
   SDK
      |--vsphere-ws
      |--libs
      |--vsan-sdk-java
      |--...
    ```
   Before building the sample code, you need to set environment variable `JAVA_HOME`
   properly with JDK version 1.8, 1.9 or 11.
   Then you can go to directory "vsan-sdk-java/samplecode" to build the sample
   code by running "$PYTHON build.py". (Please note you need to install python 2.7.13
   or above to run the build script.)
   At last, you can run the sample with the "run.sh" or "run.bat" script for
   linux or windows platform respectively.

Sample code usage:
   ./run.sh com.vmware.vsan.samples.VsanApiSample
      --url https://<vc or host address>/sdk
      --username <username>
      --password <password>
      --clustername <cluster-name>

   ./run.sh com.vmware.vsan.samples.VsanIscsiSample
      --url https://<vc or host address>/sdk
      --username <username>
      --password <password>
      --clustername <cluster-name>


* Use "-h" or "--help" to see parameter usage message.
* You can use the sample code to get vSAN Managed Objects on vCenter and
  ESXi servers. It will automatically identify the target server type.
