Vmware Vcenter
The VMWare vCenter connector allows for seamless integration with VMWare's virtualization management platform, enabling automated interactions with virtual machines and their operating systems.
VMware vCenter is a centralized management platform for VMware vSphere environments, designed to simplify virtual infrastructure management. This connector enables Swimlane Turbine users to automate key virtual machine operations such as retrieving guest identities, managing power states, and querying guest OS processes. By integrating with VMware vCenter, users can enhance their security automation workflows, ensuring efficient VM management and rapid response to security incidents within their virtualized environments.
Prerequisites
To effectively utilize the VMWare vCenter connector with Swimlane Turbine, ensure you have the following prerequisites:
- Custom authentication with the following parameters:
- URL: The endpoint URL for the VMWare vCenter API.
- Grant Type: The OAuth grant type used for authorization.
- Subject Token: The subject token required for obtaining an access token.
- Subject Token Type: The type of the subject token provided for authentication.
Capabilities
This connector provides the following capabilities:
- Get Guest Identity
- Get Guest Power
- Get VM PID Processes
- List Guest Process
- Reboot Guest Power
- Shutdown Guest Power
- Standby Guest Power
- VM Get Guest Local FileSystem
- VM Get Guest Networking
- VM Get Guest Operations
Notes
Configurations
VMware vCenter OAuth Authentication
Configuration Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
url | A URL to the target host. | string | Required |
grant_type | The grant type | string | Required |
resource | The resource. | string | Optional |
audience | The audience. | string | Optional |
scope | The scope. | string | Optional |
requested_token_type | The requested token type. | string | Optional |
subject_token | The subject token. | string | Required |
subject_token_type | The subject token type. | string | Required |
actor_token | The actor token. | string | Optional |
actor_token_type | The actor token type. | string | Optional |
Actions
Get Guest Identity
Retrieve detailed identity information for a specified virtual machine (VM) in VMWare vCenter using the VM path parameter.
Endpoint
- URL: /api/vcenter/vm/{{vm}}/guest/identity
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.vm | string | Required | Virtual machine ID. The parameter must be an identifier for the resource type. |
Input Example
{"path_parameters":{"vm":"vmware_name"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
name | string | Name of the resource |
family | string | Output field: family |
full_name | object | Name of the resource |
full_name.id | string | Unique identifier |
full_name.default_message | string | Name of the resource |
full_name.args | array | Name of the resource |
full_name.localized | string | Name of the resource |
host_name | string | Name of the resource |
ip_address | string | Output field: ip_address |
Output Example
{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"name":"string","family":"string","full_name":{"id":"string","default_message":"string","args":[],"localized":"string"},"host_name":"string","ip_address":"string"}}
Get Guest Power
Retrieve the power state of a guest operating system in VMWare vCenter, requiring the virtual machine identifier.
Endpoint
- URL: /api/vcenter/vm/{{vm}}/guest/power
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.vm | string | Required | Virtual machine ID. The parameter must be an identifier for the resource type. |
Input Example
{"path_parameters":{"vm":"vmware_name"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
state | string | Output field: state |
operations_ready | boolean | Output field: operations_ready |
Output Example
{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"state":"string","operations_ready":false}}
Get VM PID Processes
Retrieve the status of processes running on a guest OS in VMWare vCenter, identified by VM and PID, using specified credentials.
Endpoint
- URL: /api/vcenter/vm/{{vm}}/guest/processes/{{pid}}__action=get
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.vm | string | Required | Virtual machine to perform the operation on. The parameter must be an identifier for the resource type. |
path_parameters.pid | string | Required | Specifies the process to query. |
credentials | object | Optional | Parameter for Get VM PID Processes |
credentials.interactive_session | boolean | Required | If set, the operation will interact with the logged-in desktop session in the guest. |
credentials.type | string | Required | Types of guest credentials |
credentials.user_name | string | Optional | Guest user to be associated with the credentials. |
credentials.password | string | Optional | This field is optional and it is only relevant when the value of Credentials. |
credentials.saml_token | string | Optional | This field is optional and it is only relevant when the value of Credentials. |
Input Example
{"json_body":{"credentials":{"interactive_session":false,"type":"string","user_name":"string","password":"string","saml_token":"string"}},"path_parameters":{"vm":"vm_name","pid":"query"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
name | string | Name of the resource |
owner | string | Output field: owner |
command | string | Output field: command |
started | string | Output field: started |
finished | string | Output field: finished |
exit_code | number | Output field: exit_code |
Output Example
{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"name":"string","owner":"string","command":"string","started":"string","finished":"string","exit_code":0}}
List Guest Process
Lists all processes running in a specified VM's guest OS, including those initiated by Processes, requiring VM identifier and credentials.
Endpoint
- URL: /api/vcenter/vm/{{vm}}/guest/processes__action=list
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.vm | string | Required | Virtual machine ID. The parameter must be an identifier for the resource type |
credentials | object | Optional | The guest authentication data. |
credentials.interactive_session | boolean | Required | The operation will interact with the logged-in desktop session in the guest. |
credentials.type | string | Required | Types of guest credentials. |
credentials.user_name | string | Optional | The guest user to be associated with the credentials. |
credentials.password | string | Optional | Only relevant when the value of Credentials. |
credentials.saml_token | string | Optional | SAML Bearer Token This field is optional and it is only relevant when the value of Credentials. |
Input Example
{"json_body":{"credentials":{"interactive_session":false,"type":"string","user_name":"string","password":"string","saml_token":"string"}},"path_parameters":{"vm":"vmware_name"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{},"reason":"OK","json_body":[{"name":"string","pid":0,"owner":"string","command":"string","started":"string"}]}
Reboot Guest Power
Issues a reboot request to the guest operating system in VMWare vCenter, targeting the virtual machine specified by the 'vm' path parameter.
Endpoint
- URL: /api/vcenter/vm/{{vm}}/guest/power__action=reboot
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.vm | string | Required | Identifier of the virtual machine. The parameter must be an identifier for the resource type. |
Input Example
{"path_parameters":{"vm":"vmware_name"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":204,"response_headers":{},"reason":"OK","json_body":{}}
Shutdown Guest Power
Issues a clean shutdown request to the guest operating system in VMWare vCenter, targeting the specified virtual machine.
Endpoint
- URL: /api/vcenter/vm/{{vm}}/guest/power__action=shutdown
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.vm | string | Required | Identifier of the virtual machine. The parameter must be an identifier for the resource type. |
Input Example
{"path_parameters":{"vm":"vmware_name"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":204,"response_headers":{},"reason":"OK","json_body":{}}
Standby Guest Power
Issues a suspend operation request to the guest OS in VMWare vCenter, requiring the virtual machine identifier.
Endpoint
- URL: /api/vcenter/vm/{{vm}}/guest/power__action=standby
- Method: POST
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.vm | string | Required | Identifier of the virtual machine. The parameter must be an identifier for the resource type. |
Input Example
{"path_parameters":{"vm":"vmware_name"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":204,"response_headers":{},"reason":"OK","json_body":{}}
VM Get Guest Local FileSystem
Retrieve details of the local file systems within a specified guest operating system in VMWare vCenter.
Endpoint
- URL: /api/vcenter/vm/{{vm}}/guest/local-filesystem
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.vm | string | Required | Identifier of the virtual machine. The parameter must be an identifier for the resource type. |
Input Example
{"path_parameters":{"vm":"vmware_name"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
Output Example
{"status_code":200,"response_headers":{},"reason":"OK","json_body":{}}
VM Get Guest Networking
Retrieves network configuration details from the guest operating system for a specified VM in VMWare vCenter.
Endpoint
- URL: /api/vcenter/vm/{{vm}}/guest/networking
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.vm | string | Required | Identifier of the virtual machine. The parameter must be an identifier for the resource type. |
Input Example
{"path_parameters":{"vm":"vmware_name"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
dns_values | object | Value for the parameter |
dns_values.host_name | string | Name of the resource |
dns_values.domain_name | string | Name of the resource |
dns | object | Output field: dns |
dns.ip_addresses | array | Output field: dns.ip_addresses |
dns.search_domains | array | Output field: dns.search_domains |
Output Example
{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"dns_values":{"host_name":"string","domain_name":"string"},"dns":{"ip_addresses":[],"search_domains":[]}}}
VM Get Guest Operations
Retrieve the current status of guest operations for a specified virtual machine in VMWare vCenter.
Endpoint
- URL: /api/vcenter/vm/{{vm}}/guest/operations
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
path_parameters.vm | string | Required | Identifier of the virtual machine. The parameter must be an identifier for the resource type. |
Input Example
{"path_parameters":{"vm":"vmware_name"}}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
guest_operations_ready | boolean | Output field: guest_operations_ready |
interactive_guest_operations_ready | boolean | Output field: interactive_guest_operations_ready |
Output Example
{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"guest_operations_ready":false,"interactive_guest_operations_ready":false}}
Response Headers
Header | Description | Example |
|---|---|---|
Content-Type | The media type of the resource | application/json |
Date | The date and time at which the message was originated | Thu, 01 Jan 2024 00:00:00 GMT |