Search Knowledge Base by Keyword

VMware vCenter

< Back

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

Property Value
Identifier VCENTER
Name VMware vCenter
Description VMware vCenter is an advanced server management software that provides a centralized platform for controlling vSphere environments for visibility across hybrid clouds.
Job Types Both Inbound and Outbound
Order 20
Enabled Yes
Locked Yes
Block Update No
Single Authentication No
Windows Only No
Connector Version 2026-06-10
Hooks None
Additional Job Fields None
Image

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.

Method Identifier Base Method Script Order Enabled Config Fields
VMWARE JSON: username / password – return authorization token VCENTER_adb6858644 VCENTER_adb6858644 json_rest_api.php 20 Yes 7

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)

Order Label Type Required Default Max Len Tooltip
10 API Domain text Yes https://VCENTER_FQDN_REPLACE 255 Enter API domain of the Connection
30 Server Temporary Working Path text Yes storage/etl5 255 Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
40 Username text No 1024 Tooltip for Username
50 Password password No 64000 Tooltip for Password
190 Authentication Token End Point text No https://VCENTER_FQDN_REPLACE/api/session 500 Tooltip for Authentication End Point
240 Single Authentication radio Yes 0 Choose if authentication is only to be done once and not on each enumeration or pagination loop
250 Additional Job Fields fields_list No Enter list of additional fields to add to staging data for all jobs

Authentication Configuration

Headers sent on the authentication call:

Header Value Base64
Content-Type: application/json Off
Authorization: Basic %user_name%:%user_pass% On

Headers sent on the data calls:

Header Value Base64
vmware-api-session-id: %auth_data% Off

cURL options:

Option Authentication Call Data Calls
USERAGENT Mozilla/5.0 (Windows NT 6.1 Win64 x64 rv:47.0) Gecko/20100101 Firefox/47.0 Same
SSL_VERIFYHOST false Same
SSL_VERIFYPEER false Same
RETURNTRANSFER true Same
FOLLOWLOCATION true Same
FAILONERROR true Same
POST true Not set
CONNECTTIMEOUT 10 Same

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.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
20 Job Schedule lookup Yes Daily Select frequency Job should run
30 Enabled radio Yes Yes Choose if Job is enabled
40 Use Unparsed Data radio No No Choose if you wish to parse the incoming data, or leave it in its raw format
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
70 Destination Table text Yes Enter name of the destination table
80 Data Identity text No Enter identity of the Job
120 Append New Data to Existing Tables radio No No Choose if new data will append to the existing destination table, or will create a new destination table
130 Fields to Index text No Enter fields to index
170 Method Type select Yes GET Select method type of the Job
190 API End Point text No Enter API end point of the Job
200 API Data Parameters fields_list No Enter API data parameters of the Job
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
220 Raw JSON Body Data textarea No Enter the raw JSON body to send. Do not use body selections in the API Parameters if this is used.
230 API Return Data Node text No Enter API return data node of the Job
250 Pagination Type select No None Select request paging type of the Job
270 API Pagination Node text No Enter API pagination node of the Job
280 Pagination Offset Start text No Enter request paging offset start of the Job
290 Request Limit text No Enter request limit of the Job
300 Pagination Termination Node text No Enter request paging termination node and value of the Job
310 Maximum API Calls text No Enter maximum number of API calls for the Job to make
320 Enumeration 1 Type select No None Enter enumeration level 1 type
330 Enumeration 1 ETL Job lookup No Select ETL job for the enumeration 1 values
340 Enumeration 1 Data Type data_type No Select the data type and fields for enumeration 1 values
350 Enumeration 1 Keys End Point text No Enter enumeration 1 keys end point of the Job
360 Enumeration 1 Node text No Enter enumeration 1 node of the Job
370 Enumeration 1 Fields fields_list No Enter enumeration 1 fields of the Job
380 Enumeration 2 Type select No None Enter enumeration level 2 type
390 Enumeration 2 ETL Job lookup No Select ETL job for the enumeration 2 values
400 Enumeration 2 Data Type data_type No Select the data type and fields for enumeration 2 values
410 Enumeration 2 Keys End Point text No Enter enumeration 2 keys end point of the Job
420 Enumeration 2 Node text No Enter enumeration 2 node of the Job
430 Enumeration 2 Fields fields_list No Enter enumeration 2 fields of the Job
440 Enumeration 3 Type select No None Enter enumeration level 3 type
450 Enumeration 3 ETL Job lookup No Select ETL job for the enumeration 3 values
460 Enumeration 3 Data Type data_type No Select the data type and fields for enumeration 3 values
470 Enumeration 3 Keys End Point text No Enter enumeration 3 keys end point of the Job
480 Enumeration 3 Node text No Enter enumeration 3 node of the Job
490 Enumeration 3 Fields fields_list No Enter enumeration 3 fields of the Job
500 Pause Enumeration text No Enter values for pausing enumeration every X calls for Y seconds
510 Kill Enumeration on Error radio No No Choose to stop the enumeration loop on an error or continue processing the loop
520 Additional Fields fields_list No Enter list of additional fields to add to staging data
550 Retry Pause text No Enter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds.
560 Order text Yes Enter order of the Job

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.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
30 Enabled radio Yes Yes Choose if Job is enabled
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
170 Method Type select Yes GET Select method type of the Job
180 Data Sending Method select Yes JSON Encoded Data Select method for sending the outbound data
190 API End Point text No Enter API end point of the Job
200 API Data Parameters fields_list No Enter API data parameters of the Job
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
260 Return Data Fields List fields_list Yes Enter return data fields of the Job
530 Outbound Fields List fields_list Yes Enter outbound fields of the Job
540 Ignore Empty Outbound Fields radio No Yes Ignore, and do not include, any outbound fields that are empty and have no data
550 Raw JSON Outbound Template textarea No Enter the raw JSON outbound template to send. This will replace any automated structures defined in the outbound fields.
560 Order text Yes Enter order of the Job

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 Description Destination Table API End Point Enabled What It Pulls
1 GET Datacenters vmware_datacenter /rest/vcenter/datacenter Yes The datacenter objects defined in the vCenter inventory, returning each datacenter’s managed object identifier and display name. This is the top of the inventory tree and the natural join key for the datacenter-scoped jobs.
2 GET Datacenters – Soap Enum 1 vmware_datacenter_enum_1 /rest/vcenter/datacenter No A duplicate of GET Datacenters writing to its own staging table, vmware_datacenter_enum_1. It exists so that another job can use this table as an enumeration source rather than competing for the main datacenter table.
3 GET Datacenters – Soap Enum 2 vmware_datacenter_enum_2 /rest/vcenter/datacenter No A second duplicate of GET Datacenters, writing to vmware_datacenter_enum_2, provided for the same enumeration-source purpose.
4 GET Datacenters – Soap Enum 3 vmware_datacenter_enum_3 /rest/vcenter/datacenter No A third duplicate of GET Datacenters, writing to vmware_datacenter_enum_3.
5 GET VM List vmware_vm_list /rest/vcenter/vm/ No Every virtual machine registered in vCenter, with its managed object identifier, name, power state, configured CPU count and memory size. This is the inventory list, not the per-VM configuration detail.
6 GET Clusters vmware_clusters /rest/vcenter/cluster No The DRS and HA clusters defined under each datacenter, returning the cluster managed object identifier, name and DRS and HA enablement state.
7 GET Hosts vmware_hosts /rest/vcenter/host No The ESXi hosts registered with this vCenter, returning the host managed object identifier, name, connection state and power state.
8 GET Networks vmware_network /rest/vcenter/network Yes The networks visible in the inventory, covering standard port groups, distributed port groups and opaque networks, each with its identifier, name and network type.
9 GET Datastores vmware_datastores /rest/vcenter/datastore No The datastores backing the estate, returning the datastore identifier, name, type (VMFS, NFS, vSAN and so on), total capacity and free space.
10 GET Resource Pools vmware_resource_pools /rest/vcenter/resource-pool No The resource pools defined under clusters and standalone hosts, returning the pool identifier and name.
11 GET Datacenters – Soap Enum 4 vmware_datacenter_enum_4 /rest/vcenter/datacenter No A fourth duplicate of GET Datacenters, writing to vmware_datacenter_enum_4.
12 GET Categories vmware_categories /rest/com/vmware/cis/tagging/category No The identifiers of every tag category defined in the CIS tagging service. Categories are the containers that group tags, for example Application, Owner or Environment. This job returns identifiers only, and the names come from GET Category Info.
13 GET Category Info vmware_category_info /rest/com/vmware/cis/tagging/category/id:%enum_id_1% Yes The full definition of one tag category looked up by identifier: its name, description, cardinality (whether one or many tags from the category may be applied to an object) and the inventory object types it may be attached to.
14 GET Tags vmware_tags /rest/com/vmware/cis/tagging/tag No The identifiers of every tag defined in the tagging service. As with categories, this returns identifiers only and the descriptive detail comes from GET Tag Info.
15 GET Tag Info vmware_tag_info /rest/com/vmware/cis/tagging/tag/id:%enum_id_1% Yes The full definition of one tag looked up by identifier: its name, description and the category it belongs to. Joined to GET Tags this turns opaque tag identifiers into readable labels.
16 GET Tags Enum 2 vmware_tags_enum_2 /rest/com/vmware/cis/tagging/tag No A duplicate of GET Tags writing to vmware_tags_enum_2, provided as a separate enumeration source so the tag identifier list can be consumed without contending with the main tag table.
17 POST Tag Associations vmware_tag_associations /rest/com/vmware/cis/tagging/tag-association/id:%enum_id_1%?~action=list-attached-objects Yes For one tag identifier, the list-attached-objects action returns every inventory object that tag is currently applied to, with the object type and managed object identifier. This is the table that turns VMware tags into usable ownership and application attribution across the estate. It ships with a retry setting of one attempt, one second apart, with a one second timeout.

Job Template Configuration

Settings Common to All Seventeen Templates

Setting Value
Job Schedule Daily (15 1 * * *)
Allow Empty Table Yes
Append Files to Same Destination Table No
Append New Data to Existing Tables No
Use Unparsed Data No
Convert UUID-Keyed Objects to Rows No
Ignore XML Attributes No
Log Raw API Calls No
Body Data Sending Method JSON Encoded Data
API Return Data Node value

Settings That Vary by Template

Template ID Order Enabled Destination Table Data Identity Method Type API End Point
GET Datacenters 210 10000 Yes vmware_datacenter vmware_datacenter_info GET /rest/vcenter/datacenter
GET Datacenters – Soap Enum 1 211 10000 No vmware_datacenter_enum_1 vmware_datacenter_info_enum_1 GET /rest/vcenter/datacenter
GET Datacenters – Soap Enum 2 212 10000 No vmware_datacenter_enum_2 vmware_datacenter_info_enum_2 GET /rest/vcenter/datacenter
GET Datacenters – Soap Enum 3 213 10000 No vmware_datacenter_enum_3 vmware_datacenter_info_enum_3 GET /rest/vcenter/datacenter
GET VM List 214 10000 No vmware_vm_list vmware_vm_list GET /rest/vcenter/vm/
GET Clusters 215 10000 No vmware_clusters vmware_clusters GET /rest/vcenter/cluster
GET Hosts 216 10000 No vmware_hosts vmware_hosts GET /rest/vcenter/host
GET Networks 217 10001 Yes vmware_network vmware_network GET /rest/vcenter/network
GET Datastores 218 10002 No vmware_datastores vmware_datastores GET /rest/vcenter/datastore
GET Resource Pools 219 10002 No vmware_resource_pools vmware_resource_pools GET /rest/vcenter/resource-pool
GET Datacenters – Soap Enum 4 220 10003 No vmware_datacenter_enum_4 vmware_datacenter_info_enum_4 GET /rest/vcenter/datacenter
GET Categories 221 10004 No vmware_categories vmware_categories GET /rest/com/vmware/cis/tagging/category
GET Category Info 222 10005 Yes vmware_category_info vmware_category_info GET /rest/com/vmware/cis/tagging/category/id:%enum_id_1%
GET Tags 223 10006 No vmware_tags vmware_tags GET /rest/com/vmware/cis/tagging/tag
GET Tag Info 224 10007 Yes vmware_tag_info vmware_tag_info GET /rest/com/vmware/cis/tagging/tag/id:%enum_id_1%
GET Tags Enum 2 225 10008 No vmware_tags_enum_2 vmware_tags GET /rest/com/vmware/cis/tagging/tag
POST Tag Associations 226 10009 Yes vmware_tag_associations vmware_tag_associations POST /rest/com/vmware/cis/tagging/tag-association/id:%enum_id_1%?~action=list-attached-objects

Settings That Vary by Template (continued)

Template ID Retry Pause
GET Datacenters 210 Not set
GET Datacenters – Soap Enum 1 211 Not set
GET Datacenters – Soap Enum 2 212 Not set
GET Datacenters – Soap Enum 3 213 Not set
GET VM List 214 Not set
GET Clusters 215 Not set
GET Hosts 216 Not set
GET Networks 217 Not set
GET Datastores 218 Not set
GET Resource Pools 219 Not set
GET Datacenters – Soap Enum 4 220 Not set
GET Categories 221 Not set
GET Category Info 222 Not set
GET Tags 223 Not set
GET Tag Info 224 Not set
GET Tags Enum 2 225 Not set
POST Tag Associations 226 1,1,1

Job Parameters and Enumeration

GET Category Info

Enumeration 1 fields:

Name Value
enum_id_1 data

GET Tag Info

Enumeration 1 fields:

Name Value
enum_id_1 data

POST Tag Associations

Enumeration 1 fields:

Name Value
enum_id_1 data

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 Description Method API End Point Enabled What It Does
1 Rest POST API POST Not set No An empty REST POST job with no endpoint set. It carries a single outbound field, record_key, and three return fields for status, message and the echoed record key. Use it as the starting point if you need to push data to a vCenter or vSphere automation endpoint, supplying the endpoint and the payload fields yourself.

Job Template Configuration

Settings

Setting Value
Order 10
Enabled No
Log Raw API Calls No
Method Type POST
Body Data Sending Method JSON Encoded Data
Data Sending Method JSON Encoded Data
Ignore Empty Outbound Fields Yes

Job Parameters and Enumeration

Rest POST API

Outbound fields list:

Label Name Type Required Pattern
Record Key record_key String on

Return data fields:

Label Name
Return Status status
Return Message message
Record Key data.record_key

NOTE: Because the template has no API End Point, it cannot do anything useful until you configure one. It ships disabled for that reason.