Skip to main content

REST API Developer Guide 22.2

Virtual Servers

A virtual server is similar to a workload. It can be assigned labels and has IP addresses, but does not report traffic to the Illumio Core. Each virtual server has only one VIP. The local IP addresses are used as a source IP address for connections to the pool members (backend servers) when the virtual server is operating in SNAT mode or Auto mode. These IP addresses are likely to be shared by multiple virtual servers on the server load balancer.

A discovered virtual server is a server load balancer (SLB) virtual server (IP address and port(s)) that the NEN has discovered when interrogating SLBs managed by the PCE.

For the topic overview and more details see the Security Policy Guide, Load Balancers and Virtual Servers.

Virtual Server Methods

There are two groups of methods used to manage virtual servers:

  • Methods for virtual servers

  • Methods for discovered virtual servers

Virtual Servers
Virtual Server Methods

Functionality

HTTP

URI

Get a list of Virtual Servers

GET

[api_version][org_href]/sec_policy/:version/virtual_servers

Get a specified Virtual Server

GET

[api_version][org_href]/sec_policy/:version/virtual_servers/:uuid

Create a Virtual Server object

POST

[api_version][org_href]/sec_policy/:version/virtual_servers

Modify the enforcement mode, labels, and backend/provider labels of a specified Virtual Server

PUT

[api_version][org_href]/sec_policy/:version/virtual_servers/:uuid

Parameters for Virtual Servers :

Parameter

Description

Type

Required

org_id

(GET, PUT, DELETE) Organization

Integer

Yes

virtual_server_id

(GET, PUT, DELETE) Virtual server UUID

String

Yes

pversion

(GET, PUT, DELETE) Security Policy Version

String

Yes

discovered_virtual_server

(GET, PUT) Corresponding discovered virtual server, server URI

String

No

name

(GET, PUT) The short friendly name of the virtual server

String

No

external_data_reference

(GET) A unique identifier within the external data source

String

No

external_data_set

(GET, PUT) The data source from which a resource originates

String

No

labels

(GET, PUT) 2D array of label URIs, encoded as a JSON string. Filter by virtual server labels.

String

max_results

(GET) Maximum number of discovered virtual servers to return

Integer

No

mode

(GET, PUT) Management mode of the virtual server.

String

No

slb

(GET) URI of Service Load Balancer (SLB) object to filter discovered virtual server(s)

String

No

vip

(GET) Frontend (VIP) address of the discovered virtual server(s). Supports sufix-wildcard matches

String

No

vip_port

Port of frontend VIP of the discovered virtual server(s)

String

No

vip_proto

Protocol of frontend VIP of the discovered virtual server(s)

String

No

Discovered Virtual Servers
Discovered Virtual Servers Methods

You can use only three GET methods for discovered virtual servers

Functionality

HTTP

URI

Get a list of Discovered Virtual Servers

GET

[api_version][org_href]/discovered_virtual_servers

Get a specified Discovered Virtual Server

GET

[api_version][org_href]/discovered_virtual_servers/:uuid

Discovery on-demand: list the discovered virtual servers

GET

[api_version][org_href]/network_enforcement_nodes/virtual_server_discovery_jobs/:uuid

Discovered Virtual Server Parameters

Parameter

Description

Type

Required

org_id

Organization

Integer

Yes

discovered_virtual_server_id

Discovered virtual server UUID, only for

[api_version][org_href]/discovered_virtual_servers/:uuid

Integer

Yes

job_uuid

uuid for the virtual server discovery job

String

Yes

has_virtual_server

Filter discovered virtual server(s) by whether they are managed by a virtual server object

String

No

max_results

Maximum number of discovered virtual servers to return

Integer

No

name

Name of discovered virtual server(s) to return. Supports partial matches

String

No

slb

URI of Service Load Balancer (SLB) object to filter discovered virtual server(s)

String

No

vip

Frontend (VIP) address of the discovered virtual server(s). Supports sufix-wildcard matches

vip_port

Port of frontend VIP of the discovered virtual server(s)

String

No

vip_proto

Protocol of frontend VIP of the discovered virtual server(s)

String

No

virtual_server

URI of virtual server to filter discovered virtual server(s)

String

No

virtual_server_labels

2D array of label URIs, encoded as a JSON string. Filter by virtual server labels. Requires usage of has_virtual_server: true

String

No

virtual_server_mode

Filter discovered virtual server(s) by virtual server mode. Requires usage of has_virtual_server: true

String

No

status

Status can be active, pending, or error.

For the HA pair case, if either one device is in error, then the SLB has the status error. If neither device is in error and one device is pending, the SLB has the status pending. The SLB has the status active if neither device is in error or pending connection state.

String