Overview
VMware vCenter Server is the management plane for a vSphere environment. It sits above the ESXi hypervisors and holds the inventory: datacenters, clusters, hosts, virtual machines, datastores, networks, resource pools and the tags applied to all of them. Anything an administrator sees in the vSphere Client is served from vCenter, and vCenter exposes that same inventory over an HTTP API.
This connector talks to that API over JSON using the json_rest_api.php driver. It opens a session by posting to the vCenter session endpoint with an HTTP Basic credential built from the connection’s username and password, reads the returned session identifier out of the response, and replays it on every subsequent call as the vmware-api-session-id header. Data jobs are plain GET requests against inventory paths such as /rest/vcenter/host and /rest/vcenter/datastore. Each job reads the value node of the response and writes the rows into its own staging table, all prefixed vmware_.
In a ReadyWorks context this is how the virtual estate gets into the data fabric. Datacenter, cluster, host and VM tables give you the placement of every workload, datastore and network tables give you what it depends on, and the tagging tables give you the ownership and application labels your VMware team already maintains. Reconciled against the CMDB and the endpoint inventory, that is what lets you scope a datacenter exit, size a hardware refresh or build migration waves that follow real host and cluster boundaries.
The connector is registered as bidirectional. The inbound side ships seventeen job templates and is where all the usable content is. The outbound side ships a single generic REST POST scaffold with no endpoint configured, disabled by default, so treat this connector as an inbound collector unless you build the outbound job yourself.
NOTE: Two connection fields ship with the literal placeholder host VCENTER_FQDN_REPLACE: the API Domain and the Authentication Token End Point. Both must be pointed at your own vCenter FQDN. Changing only the first leaves authentication aimed at a host that does not exist.
Connector Properties
Authentication Methods
The connector offers one authentication method. It covers the standard vCenter pattern of exchanging a username and password for a session identifier that is then presented on every data call.
NOTE: Both the authentication call and the data calls run with SSL_VERIFYHOST and SSL_VERIFYPEER set to false, so the vCenter certificate is not validated. This accommodates the self-signed certificate a default vCenter install presents. If you have replaced that certificate with one from a trusted CA, be aware that the connection will still not check it.
NOTE: The connection timeout is 10 seconds and redirects are followed automatically.
Method 1: VMWARE JSON: username / password – return authorization token (VCENTER_adb6858644)
Connect to a JSON method API with a username / password retrieving value for authorization token
Sends an Authorization: Basic header built from the Username and Password fields, Base64 encoded at run time, to the Authentication Token End Point. vCenter replies with a session identifier, which the driver extracts and sends on every data call in the vmware-api-session-id header. Use this method with a vCenter local account or an SSO account that has read access to the inventory. A read-only role scoped at the vCenter root is enough for every shipped inbound template.
Connection Configuration Fields (7)
Authentication Configuration
Headers sent on the authentication call:
Headers sent on the data calls:
cURL options:
NOTE: Single Authentication defaults to No, which means the connector logs in again on every pagination and enumeration iteration. See the issues section before running enumerating jobs at scale.
Inbound Job Fields Enabled (44)
Inbound jobs expose the full REST job form: endpoint and method, response node, pagination, three levels of enumeration, retry behaviour and the staging table the rows land in.
NOTE: Pagination Type defaults to None on every shipped template. vCenter list endpoints return the whole collection in a single response, so on a large inventory you should narrow the request with API Data Parameters (for example a datacenter or cluster filter) rather than relying on paging.
Outbound Job Fields Enabled (13)
Outbound jobs expose the endpoint, method and body encoding along with the outbound field list that builds the payload and the return field list that captures the response.
Inbound Job Templates (17)
Seventeen inbound templates ship with the connector. Five of them are enabled on a new connection and the rest are supplied switched off, so review the list and turn on the objects you actually need before the first scheduled run. The set covers core inventory (datacenters, clusters, hosts, VMs, datastores, networks, resource pools) and the CIS tagging service (categories, tags and tag associations). Several templates are duplicates of others that exist purely to feed identifiers to a second job.
Job Template Configuration
Settings Common to All Seventeen Templates
Settings That Vary by Template
Settings That Vary by Template (continued)
Job Parameters and Enumeration
GET Category Info
Enumeration 1 fields:
GET Tag Info
Enumeration 1 fields:
POST Tag Associations
Enumeration 1 fields:
NOTE: The tagging templates are designed as a chain: GET Categories and GET Tags produce identifier lists, and GET Category Info, GET Tag Info and POST Tag Associations expand one identifier at a time. The expanding jobs need an enumeration source configured before they can run. See the issues section.
NOTE: The five templates whose descriptions end in “Soap Enum” or “Enum 2” are duplicates of GET Datacenters and GET Tags. They collect no data of their own and are useful only when you are wiring an enumeration source for another job.
Outbound Job Templates (1)
One outbound template ships, disabled. It is a generic scaffold rather than a ready-made vCenter action.
Job Template Configuration
Settings
Job Parameters and Enumeration
Rest POST API
Outbound fields list:
Return data fields:
NOTE: Because the template has no API End Point, it cannot do anything useful until you configure one. It ships disabled for that reason.