Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
94341ab
docs: update aiops README to current version
orichter Mar 24, 2026
39df2c8
docs: update clustermgmt README to current version
orichter Mar 24, 2026
1a06ef2
docs: update iam README to current version
orichter Mar 24, 2026
ff9e456
docs: update networking README to current version
orichter Mar 24, 2026
e468d64
docs: update prism README to current version
orichter Mar 24, 2026
fad6141
docs: update vmm README to current version
orichter Mar 24, 2026
98b58e6
docs: add datapolicies README (new namespace)
orichter Mar 24, 2026
b13a3f3
docs: add dataprotection README (new namespace)
orichter Mar 24, 2026
a813bdb
docs: add files README (new namespace)
orichter Mar 24, 2026
2920e3e
docs: add lcm README (new namespace)
orichter Mar 24, 2026
3f15561
docs: add licensing README (new namespace)
orichter Mar 24, 2026
6cd440f
docs: add lifecycle README (new namespace)
orichter Mar 24, 2026
16181c5
docs: add microseg README (new namespace)
orichter Mar 24, 2026
7784cbe
docs: add monitoring README (new namespace)
orichter Mar 24, 2026
7d490f0
docs: add multidomain README (new namespace)
orichter Mar 24, 2026
029a8e7
docs: add objects README (new namespace)
orichter Mar 24, 2026
3b37cbf
docs: add opsmgmt README (new namespace)
orichter Mar 24, 2026
17d9837
docs: add security README (new namespace)
orichter Mar 24, 2026
129b09b
docs: add volumes README (new namespace)
orichter Mar 24, 2026
3f11920
docs: update root README with all 20 namespaces and add discrepancies…
orichter Mar 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions DISCREPANCIES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Source Documentation Discrepancies

Issues found while syncing README documentation from the internal source repository
(`nutanix-core/ntnx-api-java-sdk-external`) to this public repository. These are
flagged for the upstream SDK documentation team.

## 1. `datapolicies` and `dataprotection` share `com.nutanix.dat` import prefix

Both namespace READMEs instruct users to import `com.nutanix.dat.java.client.ApiClient`.
The two are distinguished only by their model packages:

- `com.nutanix.dp1.dat.dataprotection.v4.config.*`
- `com.nutanix.dp1.dat.datapolicies.v4.config.*`

A user who depends on both `datapolicies-java-client` and `dataprotection-java-client`
in the same project will have an `ApiClient` class from each, both in the
`com.nutanix.dat.java.client` package. This may cause classpath conflicts or require
fully-qualified class names. Consider clarifying this in both READMEs.

## 2. `dataprotection` README uses placeholder sample code

The `dataprotection/README.md` "Invoking an operation" section uses generic placeholder
names (`SampleApi`, `SampleGetResponse`, `getSampleByExtId`) instead of real API classes.
All other namespace READMEs use real class names (e.g., `ImagesApi`, `CategoriesApi`).

The README also includes the comment:
```java
// this sample code is not usable directly for real use-case
```

This should be updated to use actual `dataprotection` API classes.

## 3. `ntnxsaas` namespace excluded

The `ntnxsaas` directory exists in the source repo but was excluded from this sync
because:

- It is not published to Maven Central (`com.nutanix.api` namespace has no
`ntnxsaas-java-client` artifact)
- It is not listed in the deployment `manifest.json`

If this namespace is intended to be published in a future release, it should be added
to the manifest first, then synced here.

## 4. `storage` namespace appears stale

The `storage` namespace (API v4.0.a3, package 4.0.2-alpha-3) was last published to
Maven Central in February 2023. The `volumes` namespace (API v4.2, package 4.2.2)
appears to be its successor. Both exist in the source repo and are included in this
sync, but `storage` may need to be deprecated or removed in a future update.

## 5. Source README contains internal staging URLs

The source repo's root `README.md` (which was NOT copied to this repo) contains
internal-facing content including:

- References to `nutanix-core/ntnx-api-java-sdk-external` (internal staging repo)
- POM URL rewriting instructions
- Internal contact list with individual email addresses
- Architecture diagram referencing internal infrastructure

The namespace-level READMEs correctly link to `developers.nutanix.com` and
`search.maven.org` so no URL fixups were needed for those.
80 changes: 48 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,73 +1,87 @@
# Java Client Libraries for Nutanix APIs

This project contains steps for installing and using Java Client Libraries for Nutanix APIs grouped together by their namespace. Clients are currently
available for the following namespaces.

| Namespace | Description |
|--------------|-----------------------------------------------------------------------------------------------------|
| vmm | Manage the life-cycle of virtual machines hosted on Nutanix clusters. |
| prism | Manage Tasks, Category Associations, Alerts, Alert policies, Events and Audits.|
| clustermgmt | Manage Hosts, Clusters, and other Nutanix infrastructure. |
| aiops | Manage Nutanix infrastructure using Analysis, Reporting, Capacity Planning, What if Analysis, VM Rightsizing, Troubleshooting, App Discovery, Broad Observability, and Ops Automation through Playbooks.|
| storage | Manage Volume Groups and Storage Containers hosted on Nutanix clusters. |
| iam | Manage User Identity and Access. |
| lcm | Manage Infrastructure, Software and Firmware Upgrades. |
| files | Manage virtual file servers, create and configure shares for client access, protect them using DR and sync policies, provision storage space and administer security controls.|
| networking | Manage networking configuration on Nutanix clusters, including AHV and advanced networking.|
This project contains steps for installing and using Java Client Libraries for Nutanix APIs grouped together by their namespace. Clients are currently available for the following namespaces.

| Namespace | Description | Package Version |
|-----------|-------------|-----------------|
| vmm | Manage the life-cycle of virtual machines hosted on Nutanix clusters. | 4.2.2 |
| prism | Manage Tasks, Category Associations, Alerts, Alert policies, Events and Audits. | 4.3.1 |
| clustermgmt | Manage Hosts, Clusters, and other Nutanix infrastructure. | 4.2.2 |
| aiops | Manage Nutanix infrastructure using Analysis, Reporting, Capacity Planning, What if Analysis, VM Rightsizing, Troubleshooting, App Discovery, Broad Observability, and Ops Automation through Playbooks. | 4.2.2-beta-1 |
| iam | Manage User Identity and Access. | 4.1.2-beta-2 |
| networking | Manage networking configuration on Nutanix clusters, including AHV and advanced networking. | 4.3.1 |
| dataprotection | Business Continuity with full spectrum of Disaster Recovery and Backup solutions. | 4.3.1 |
| datapolicies | Manage Data Policy configuration. | 4.2.2 |
| microseg | Manage Network Security Policy configuration of Nutanix clusters. | 4.2.2 |
| monitoring | Manage Alerts, Alert policies, Events and Audits. | 4.2.2 |
| volumes | Configure volumes. | 4.2.2 |
| licensing | Manage licenses for clusters and Prism Central. | 4.3.2 |
| lifecycle | Manage Infrastructure, Software and Firmware Upgrades. | 4.2.2 |
| security | Manage security features, such as encryption, certificates, or platform hardening. | 4.1.2 |
| multidomain | Manage all Nutanix services running on the Nutanix Cloud Platform (NCP). | 4.3.1 |
| objects | Manage Petabytes of Unstructured and Machine-generated data using a software-defined Object Store Service. | 4.0.3 |
| opsmgmt | Manage NCM Operation Base Platform. | 4.0.4 |
| files | Manage virtual file servers, create and configure shares for client access, protect them using DR and sync policies. | 4.0.1 |
| lcm | Manage Infrastructure, Software and Firmware Upgrades. | 4.0.1-alpha-1 |
| storage | Manage Volume Groups and Storage Containers hosted on Nutanix clusters. | 4.0.2-alpha-3 |

# Project Structure
Project contains a top level directory corresponding to each namespace as listed above. Each namespace directory contains
a README with instructions for getting started with that client.

Project contains a top level directory corresponding to each namespace as listed above. Each namespace directory contains a README with instructions for getting started with that client.


## Getting Started

The libraries are distributed on [Maven Central](https://mvnrepository.com/repos/central). In order to add it as a dependency, please do the following:
The libraries are distributed on [Maven Central](https://central.sonatype.com/namespace/com.nutanix.api). In order to add it as a dependency, please do the following:

#### Using Maven

In order to use the aiops java client
In order to use the vmm java client

```xml
<dependency>
<groupId>com.nutanix.api</groupId>
<artifactId>aiops-java-client</artifactId>
<version>4.0.2-alpha-1</version>
<artifactId>vmm-java-client</artifactId>
<version>4.2.2</version>
</dependency>
```
and to use the vmm client

and to use the prism client

```xml
<dependency>
<groupId>com.nutanix.api</groupId>
<artifactId>vmm-java-client</artifactId>
<version>4.0.2-alpha-1</version>
<artifactId>prism-java-client</artifactId>
<version>4.3.1</version>
</dependency>
```

and so on...

#### Using Gradle
In order to use the aiops java client

In order to use the vmm java client

```groovy
dependencies {
implementation("com.nutanix.api:aiops-java-client:4.0.1-alpha-1")
implementation("com.nutanix.api:vmm-java-client:4.2.2")
}
```

and to use the vmm client
and to use the prism client

```groovy
dependencies {
implementation("com.nutanix.api:vmm-java-client:4.0.1-alpha-1")
implementation("com.nutanix.api:prism-java-client:4.3.1")
}
```

and so on...


and consume them as:

```java
import com.nutanix.aio.java.client.ApiClient;
import com.nutanix.vmm.java.client.ApiClient;

public class Sample {
public void configureClient() {
Expand All @@ -84,15 +98,17 @@ For detailed instructions on installing individual clients, please refer to the


## Status
These are auto generated Java clients generated from Open API v3.0 yaml specification documents.
Due to the auto-generated nature of these clients, they may contain breaking changes from one release to
the next.

These are auto generated Java clients generated from Open API v3.0 yaml specification documents. Due to the auto-generated nature of these clients, they may contain breaking changes from one release to the next.

## API Reference

These clients have a full set of [API Reference Documentation](https://developers.nutanix.com/). This documentation is auto-generated, and the location may change.

## License

This library is licensed under Nutanix proprietary license. Full license text is available in [LICENSE](https://developers.nutanix.com/license).

## Contact us

In case of issues please reach out to us at the [mailing list](mailto:sdk@nutanix.com).
Loading