APIs#

This section contains the API documentation for Dynamic Power Software (DPS).

Interacting with the gRPC API#

Using dpsctl#

Configure client access for your server’s setup using Configure Server Authentication. The following dpsctl example uses LDAP username/password login:

LDAP Login and API Requests
# Authenticate with DPS
dpsctl login --username alice

# List all topologies
dpsctl topology list

# Get server version
dpsctl server-version

# List resource groups
dpsctl resource-group list

# Check system status
dpsctl verify --dps-server

Using grpcurl#

For direct gRPC API access, use grpcurl. The following example obtains a DPS-issued token from an LDAP deployment. For OIDC, obtain the token from your identity provider as described in Configure OIDC Mode.

Prepare a request file through your secret-management workflow. Include a passwordCredential object with username and password fields. The following command reads that file from standard input.

LDAP Token Retrieval and gRPC Requests
# Get a token first
grpcurl -d @ \
  api.dps.your.domain:443 \
  nvidia.dcpower.v1.AuthService/Token \
  < /path/to/password-credential.json

# Supply the returned access token through your secret-management workflow.
# The following requests use DPS_ACCESS_TOKEN.

# List all available services
grpcurl -H "authorization: Bearer $DPS_ACCESS_TOKEN" \
  api.dps.your.domain:443 \
  list

# Get server version
grpcurl -H "authorization: Bearer $DPS_ACCESS_TOKEN" \
  api.dps.your.domain:443 \
  nvidia.dcpower.v1.VersionService/GetVersion

# List topologies
grpcurl -H "authorization: Bearer $DPS_ACCESS_TOKEN" \
  api.dps.your.domain:443 \
  nvidia.dcpower.v1.TopologyManagementService/ListTopologies