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
- Authorization
- Data Model
- Types
- Release Notes
Installation
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
- Make sure the user's role has the Manage user's own API token right.
- 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.
- 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 atPOST /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.AccountNamewhen theAccountNametoggle 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
DISABLEDand 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.
Roles
RBAC roles that must be assigned to the integration principal.
Show Roles (1)
Organization User or Organization Administrator (the query returns the VMs the user can view)
Endpoints
API endpoints that the integration makes requests to.
Show Endpoints (9)
GET https://{apiHost}/api/query?type=vmGET https://{apiHost}/cloudapi/1.0.0/edgeGatewaysGET https://{apiHost}/cloudapi/1.0.0/edgeGateways/{gatewayId}/firewall/rulesGET https://{apiHost}/cloudapi/1.0.0/orgVdcNetworksGET https://{apiHost}/cloudapi/1.0.0/orgsGET https://{apiHost}/cloudapi/1.0.0/rolesGET https://{apiHost}/cloudapi/1.0.0/usersGET https://{apiHost}/cloudapi/1.0.0/vdcGroupsGET https://{apiHost}/cloudapi/1.0.0/vdcs
Documentation Links
Links to provider documentation relevant to setup and configuration.
Show Documentation Links (9)
- https://developer.broadcom.com/xapis/vmware-cloud-director-api/latest/doc/queries/vm.html
- https://developer.broadcom.com/xapis/vmware-cloud-director-openapi/39.0/cloudapi/1.0.0/edgeGateways/gatewayId/firewall/rules/get/
- https://developer.broadcom.com/xapis/vmware-cloud-director-openapi/latest/cloudapi/1.0.0/edgeGateways/get/
- https://developer.broadcom.com/xapis/vmware-cloud-director-openapi/latest/cloudapi/1.0.0/orgVdcNetworks/get/
- https://developer.broadcom.com/xapis/vmware-cloud-director-openapi/latest/cloudapi/1.0.0/orgs/get/
- https://developer.broadcom.com/xapis/vmware-cloud-director-openapi/latest/cloudapi/1.0.0/roles/get/
- https://developer.broadcom.com/xapis/vmware-cloud-director-openapi/latest/cloudapi/1.0.0/users/get/
- https://developer.broadcom.com/xapis/vmware-cloud-director-openapi/latest/cloudapi/1.0.0/vdcGroups/get/
- https://developer.broadcom.com/xapis/vmware-cloud-director-openapi/latest/cloudapi/1.0.0/vdcs/get/
Per-Step Breakdown
Detailed authorization requirements for each ingestion step.
Show all steps (7)
| Step | Roles | Endpoints |
|---|---|---|
| Fetch Edge Gateways | - | GET https://{apiHost}/cloudapi/1.0.0/edgeGateways |
| Fetch Firewall Rules | - | GET https://{apiHost}/cloudapi/1.0.0/edgeGateways/{gatewayId}/firewall/rules |
| Fetch Networks | - | GET https://{apiHost}/cloudapi/1.0.0/orgVdcNetworks |
| Fetch Users | - | GET https://{apiHost}/cloudapi/1.0.0/users |
| Fetch VDC Groups | - | GET https://{apiHost}/cloudapi/1.0.0/vdcGroups |
| Fetch Virtual Datacenters | - | GET https://{apiHost}/cloudapi/1.0.0/vdcs |
| Fetch Virtual Machines | Organization User or Organization Administrator (the query returns the VMs the user can view) | GET https://{apiHost}/api/query?type=vm |
Entities
The following entities are created:
| Resources | Entity _type | Entity _class |
|---|---|---|
| Account | vmware_cloud_director_account | Account |
| EdgeGateway | vmware_cloud_director_edge_gateway | Gateway |
| FirewallRule | vmware_cloud_director_firewall_rule | Rule |
| Network | vmware_cloud_director_network | Network |
| Organization | vmware_cloud_director_org | Organization |
| Role | vmware_cloud_director_role | AccessRole |
| Service | vmware_cloud_director_service | Service |
| User | vmware_cloud_director_user | User |
| Vdc | vmware_cloud_director_vdc | Group |
| VdcGroup | vmware_cloud_director_vdc_group | Group |
| VirtualMachine | vmware_cloud_director_virtual_machine | Workload |
Relationships
The following relationships are created:
Source Entity _type | Relationship _class | Target Entity _type |
|---|---|---|
vmware_cloud_director_account | HAS | vmware_cloud_director_service |
vmware_cloud_director_account | HAS | vmware_cloud_director_org |
vmware_cloud_director_account | HAS | vmware_cloud_director_role |
vmware_cloud_director_edge_gateway | CONNECTS | vmware_cloud_director_network |
vmware_cloud_director_edge_gateway | HAS | vmware_cloud_director_firewall_rule |
vmware_cloud_director_org | HAS | vmware_cloud_director_user |
vmware_cloud_director_org | HAS | vmware_cloud_director_vdc |
vmware_cloud_director_org | HAS | vmware_cloud_director_vdc_group |
vmware_cloud_director_user | ASSIGNED | vmware_cloud_director_role |
vmware_cloud_director_vdc | HAS | vmware_cloud_director_edge_gateway |
vmware_cloud_director_vdc | CONTAINS | vmware_cloud_director_network |
vmware_cloud_director_vdc | CONTAINS | vmware_cloud_director_virtual_machine |
vmware_cloud_director_vdc_group | CONTAINS | vmware_cloud_director_vdc |
vmware_cloud_director_vdc_group | HAS | vmware_cloud_director_edge_gateway |
Vmware Cloud Director Account
vmware_cloud_director_account inherits from Account
| Property | Type | Description | Specifications |
|---|---|---|---|
apiHost * | string | The hostname of the VMware Cloud Director API endpoint. |
Vmware Cloud Director Edge Gateway
vmware_cloud_director_edge_gateway inherits from Gateway
| Property | Type | Description | Specifications |
|---|---|---|---|
backingId * | string | null | The identifier of the underlying NSX backing object for the gateway. | |
deploymentMode * | string | null | The deployment topology of the edge gateway (e.g. STANDARD, ACTIVE_STANDBY). | |
gatewayType * | string | null | The backing gateway type reported by VCD (e.g. NSXT_BACKED, NSXV_BACKED). | |
isDistributedRoutingEnabled * | boolean | null | Whether distributed routing is enabled on the edge gateway. | |
isUniversalVdcGroupEdge * | boolean | null | Whether the edge gateway belongs to a universal VDC group. | |
orgVdcNetworkCount * | number | null | The number of org VDC networks attached to the edge gateway. |
Vmware Cloud Director Firewall Rule
vmware_cloud_director_firewall_rule inherits from Rule
| Property | Type | Description | Specifications |
|---|---|---|---|
action * | string | null | The action taken when the rule matches (ALLOW, DROP, REJECT). Sourced from actionValue with a fallback to the deprecated action field on older VCD versions. | |
direction * | string | null | The traffic direction the rule applies to (IN, OUT, IN_OUT). | |
ipProtocol * | string | null | The IP protocol family the rule applies to (IPV4, IPV6, IPV4_IPV6). | |
isLoggingEnabled * | boolean | null | Whether matches against the rule are logged. | |
ruleCategory * | string | Whether the rule is system-managed, a tenant default, or user-defined (SYSTEM, DEFAULT, USER). |
Vmware Cloud Director Network
vmware_cloud_director_network inherits from Network
| Property | Type | Description | Specifications |
|---|---|---|---|
connectionType * | string | null | How the network connects to its upstream router (INTERNAL, DISTRIBUTED, NON_DISTRIBUTED). | |
dnsServer1 * | string | null | The primary DNS server distributed to clients on the network. | |
dnsServer2 * | string | null | The secondary DNS server distributed to clients on the network. | |
gateway * | string | null | The IP address of the primary subnet gateway. | |
isRouteAdvertised * | boolean | null | Whether routes for the network are advertised to upstream gateways. | |
isShared * | boolean | null | Whether the network is shared with other VDCs. | |
networkType * | string | null | The type of org VDC network (NAT_ROUTED, ISOLATED, DIRECT, CROSS_VDC, OPAQUE). | |
prefixLength * | number | null | The CIDR prefix length of the primary subnet. | |
totalIpCount * | number | null | The total number of IP addresses available in the network. | |
usedIpCount * | number | null | The number of IP addresses currently allocated from the network. |
Vmware Cloud Director Org
vmware_cloud_director_org inherits from Organization
| Property | Type | Description | Specifications |
|---|---|---|---|
catalogCount * | number | null | The number of catalogs in the organization. | |
isManageOrgsAllowed * | boolean | null | Whether this organization can manage other organizations. | |
isPublishAllowed * | boolean | null | Whether this organization can publish catalogs. | |
orgVdcCount * | number | null | The number of VDCs that belong to the organization. | |
runningVMCount * | number | null | The number of currently running VMs in the organization. | |
userCount * | number | null | The number of users in the organization. | |
vappCount * | number | null | The number of vApps in the organization. |
Vmware Cloud Director Role
vmware_cloud_director_role inherits from AccessRole
| Property | Type | Description | Specifications |
|---|---|---|---|
bundleKey * | string | null | The localization bundle key used by the VCD UI to display the role name. |
Vmware Cloud Director Service
vmware_cloud_director_service inherits from Service
Vmware Cloud Director User
vmware_cloud_director_user inherits from User
| Property | Type | Description | Specifications |
|---|---|---|---|
deployedVmQuota * | number | null | The maximum number of VMs the user is allowed to keep deployed concurrently. | |
isGroupRole * | boolean | null | Whether the user inherits its role assignments from a group rather than directly. | |
isLocked * | boolean | null | Whether the user account is locked out, typically after failed sign-in attempts. | |
isStranded * | boolean | null | Whether the user is in a stranded state (no longer linked to its identity provider). | |
providerType * | string | null | The identity provider type for the user (e.g. INTEGRATED, SAML, LDAP). | |
storedVmQuota * | number | null | The maximum number of VMs the user is allowed to keep stored. |
Vmware Cloud Director Vdc
vmware_cloud_director_vdc inherits from Group
| Property | Type | Description | Specifications |
|---|---|---|---|
allocationType * | string | null | The allocation model for the VDC (AllocationVApp, AllocationPool, ReservationPool, Flex). | |
isNetworkingTenancyEnabled * | boolean | null | Whether NSX-T multi-tenant networking is enabled for the VDC. |
Vmware Cloud Director Vdc Group
vmware_cloud_director_vdc_group inherits from Group
| Property | Type | Description | Specifications |
|---|---|---|---|
groupType * | string | null | The scope of the VDC group (LOCAL or UNIVERSAL). | |
isDfwEnabled * | boolean | null | Whether the NSX-T Distributed Firewall is enabled on the group. | |
isUniversalNetworkingEnabled * | boolean | null | Whether universal (cross-site) networking is enabled on the group. | |
networkProviderType * | string | null | The network provider type backing the group (NSX_T, NSXV). | |
participatingVdcCount * | number | null | The number of organization VDCs that participate in the group. |
Vmware Cloud Director Virtual Machine
vmware_cloud_director_virtual_machine inherits from Workload
| Property | Type | Description | Specifications |
|---|---|---|---|
detectedGuestOs * | string | null | The guest operating system detected by VMware Tools, when reported. | |
firmware * | string | null | The firmware type of the VM (for example bios or efi). | |
guestOs * | string | null | The guest operating system configured for the VM. | |
hardwareVersion * | number | null | The virtual hardware version of the VM. | |
ipAddress * | string | null | The IP address of the VM on its primary network. | |
isDeleted * | boolean | null | Whether the VM is marked as deleted. | |
isDeployed * | boolean | null | Whether the VM is deployed. | |
isEncrypted * | boolean | null | Whether the VM is encrypted. | |
isExpired * | boolean | null | Whether the storage lease of the parent vApp has expired. | |
isTpmPresent * | boolean | null | Whether the VM has a virtual TPM device. | |
memoryMb * | number | null | The memory size of the VM, in MB. | |
networkName * | string | null | The name of the primary network the VM is connected to. | |
numberOfCpus * | number | null | The number of virtual CPUs. | |
storageProfileName * | string | null | The name of the storage policy used by the VM. | |
vAppName * | string | null | The name of the vApp that contains the VM. | |
vmToolsStatus * | string | null | The VMware Tools status of the VM. |
Release Notes
- 2026-05-07 — Added initial VMware Cloud Director integration, ingesting organizations, roles, users, vApps, virtual machines, and networks.