Skip to main content

VMware Cloud Director

Visualize VMware Cloud Director organizations, VDCs, VDC groups, edge gateways, networks, firewall rules, virtual machines, users, and roles, and monitor changes through queries and alerts.

Installation​

info

The integration authenticates against the VMware Cloud Director CloudAPI as a tenant-scoped user. System (provider/sysadmin) login is not currently supported, so the configured user only sees the organization it logs in to.

The integration requires VMware Cloud Director 10.6.1 or later (API version 39.1).

The integration supports two authentication methods. Choose one when you create the instance:

  • API Token (recommended): a VMware Cloud Director user API token. No user password is stored, and the organization name has no character restrictions. The API token itself is a long-lived credential: it does not expire unless your VMware Cloud Director administrator configured a maximum API token lifetime, so revoke it in VMware Cloud Director when you no longer use it.
  • Authentication (username and password): a tenant user's username and password.

Configuration in VMware Cloud Director​

You will need a VMware Cloud Director user with read access to the resources you want to ingest (organizations, users, roles, VDCs, VDC groups, edge gateways, networks, firewall rules, and virtual machines).

Collect the API host of your VMware Cloud Director instance, e.g. vcd.example.com, and the organization name the user belongs to. Then collect the credentials for the method you chose.

API Token​

  1. Make sure the user's role has the Manage user's own API token right.
  2. Sign in to the VMware Cloud Director tenant portal as that user, click your user name in the top-right corner, and select User preferences. Under API Tokens, click New.
  3. Give the token a name, click Create, and copy the generated value. VMware Cloud Director shows it only once.

Use a user API token. Service account API tokens are not supported: VMware Cloud Director rotates them on every use, so a stored token stops working after the first exchange. If you enter one, a later run fails with an authentication error saying the token was revoked, expired or is a service account token; generate a user API token and update the integration.

If the integration later fails with an invalid_grant authentication error, the token was revoked or expired. Generate a new user API token and update the integration.

The integration exchanges the API token for a bearer token at POST https://<api-host>/oauth/tenant/<organization-name>/token when a job starts, again as each step begins, and again whenever VMware Cloud Director returns 401. User API tokens are not consumed by these exchanges.

Username and password​

  • The username of the tenant user the integration will sign in as. The value must not contain @ or : characters — VMware Cloud Director uses both as delimiters in the basic-auth credential it accepts at POST /cloudapi/1.0.0/sessions.
  • The password for that user.
  • With this method, the organization name must not contain @ or : characters either.

The integration uses these credentials to obtain a bearer JWT from POST /cloudapi/1.0.0/sessions (returned via the X-VMWARE-VCLOUD-ACCESS-TOKEN response header) and re-mints the token automatically on 401 responses, so long collection runs survive the token's lifetime.

Configuration in JupiterOne​

To install the VMware Cloud Director integration in JupiterOne, navigate to the Integrations tab in JupiterOne and select VMware Cloud Director. Click New Instance to begin configuring your integration.

Creating a VMware Cloud Director instance requires the following:

  • The Account Name used to identify the VMware Cloud Director account in JupiterOne. Ingested entities will have this value stored in tag.AccountName when the AccountName toggle is enabled.

  • Description to assist in identifying the integration instance, if desired.

  • Polling Interval that you feel is sufficient for your monitoring needs. You may leave this as DISABLED and manually execute the integration.

  • The authentication method and its values collected in the previous section:

    • API Token: the API Host, Organization Name, and API Access Token.
    • Authentication: the API Host, Username, Password, and Organization Name.

Click Create once all values are provided to finalize the integration.

Next steps​

Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.