Below are descriptions of the different input points in the API for the OVHcloud Load Balancer.
In Practice
Manage your OVHcloud Load Balancer service via the API
Details of the API functionality for the OVHcloud Load Balancer
- All API calls are made in the section /ipLoadbalancing available here.
Services and zones
OVHcloud Load Balancer
List active services
List the zones available for the OVHcloud Load Balancer
GET /ipLoadbalancing/availableZones
Return details of an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}
Parameters:
serviceName *
The identifier of your Load Balancer, ex: IP-1.2.3.4 (String of characters)
Modify an OVHcloud Load Balancer service
PUT /ipLoadbalancing/{serviceName}
Parameters:
serviceName *
The identifier of your Load Balancer, ex: IP-1.2.3.4 (String of characters)
Ip *
displayName
The name you want to give to the service (String of characters)
sslConfiguration
The SSL configuration you want to assign to the service (Value)
List existing server clusters and their type
GET /ipLoadbalancing/{serviceName}/definedFarms
Parameters:
serviceName *
The identifier of your Load Balancer, ex: IP-1.2.3.4 (String of characters)
vrackNetworkId
Allows filtering according to the vRack network
List the different probes that can be used
GET /ipLoadbalancing/{serviceName}/availableFarmProbes
Parameters:
serviceName *
The identifier of your Load Balancer, ex: IP-1.2.3.4 (String of characters)
List the different types of server clusters that can be used
GET /ipLoadbalancing/{serviceName}/availableFarmType
Parameters:
serviceName *
The identifier of your Load Balancer, ex: IP-1.2.3.4 (String of characters)
List the different types of front-ends that can be used
GET /ipLoadbalancing/{serviceName}/availableFrontendType
Parameters:
serviceName *
The identifier of your Load Balancer, ex: IP-1.2.3.4 (String of characters)
List the different types of routing actions that can be used
GET /ipLoadbalancing/{serviceName}/availableRouteActions
Parameters:
serviceName *
The identifier of your Load Balancer, ex: IP-1.2.3.4 (String of characters)
List the different types of routing rules that can be used
GET /ipLoadbalancing/{serviceName}/availableRouteRules
Parameters:
serviceName *
The identifier of your Load Balancer, ex: IP-1.2.3.4 (String of characters)
Service
Get service information
GET /ipLoadbalancing/{serviceName}/serviceInfos
Parameters:
serviceName *
The identifier of your Load Balancer, ex: IP-1.2.3.4 (String of characters)
Modify service information
PUT /ipLoadbalancing/{serviceName}/serviceInfos
Parameters:
serviceName *
The identifier of your Load Balancer, ex: IP-1.2.3.4 (String of characters)
Service *
automatic
Enables automatic service renewal (Boolean))
deleteAtExpiration
Enables the deletion of the service upon expiration. (Boolean)
forced
Forces automatic renewal (Boolean)
period
Fill in the renewal term (String of characters)
Zones
List active zones for an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}/zone
Parameters:
serviceName *
The identifier of your Load Balancer, ex. : IP-1.2.3.4 (String of characters)
Get the details of a zone
GET /ipLoadbalancing/{serviceName}/zone/{name}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
name *
The name of the requested zone
Delete a zone
The service will be discontinued on the expiry date.
POST /ipLoadbalancing/{serviceName}/zone/{name}/terminate
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
name *
The service will be discontinued on the expiry date.
Undo the deletion of a zone
POST /ipLoadbalancing/{serviceName}/zone/{name}/cancelTermination
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
name *
The name of the zone to be deleted
HTTP Protocol
Accessing HTTP protocol-related elements (Front-end, Firmware, etc.).
HTTP server clusters
List HTTP server clusters attached to an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}/http/farm
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
zone
The name of the zone (String of characters)
Adding a new HTTP server cluster to an OVHcloud Load Balancer service
POST /ipLoadbalancing/{serviceName}/http/farm
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
zone *
The name of the zone (String of characters)
displayName
The name you wish to give to your server cluster (String of characters)
balance
Your server cluster's load distribution method (Value)
port
The listening port on your server cluster. Inherited from the front-end if undefined (Number, 1..65535)
stickiness
The type of connection persistence to use for your server cluster (Value)
probe
The type of probe to use on your server cluster (Probe HTTP)
- forceSsl
SSL activation is forced for the probe (Boolean)
- interval
The interval in seconds between each probe test. Must be greater than 30. Default is 30. (Number)
- match
The method of correspondence used. default' uses the standard behavior of HAProxy. status' is only supported for HTTP probes (value) [contains, default, internal, matches, status]
- negate
The behavior of the 'match' operator is reversed (Boolean)
- method
The HTTP method used in type 'http'. HEAD' can save bandwidth. GET' by default (Value) [HEAD, GET, OPTIONS, internal]
- pattern
The format of the server response when "UP". Empty for 'default', comma separated status list for 'status', text for 'contains', regular expression for 'matches' (String of characters)
- port
The port that the probe should use to test the servers attached to your server cluster. Ignored for 'oco' probes. If not defined, the server cluster port is used (Number)
- type
The type of the probe; its operation (Value) [HTTP, internal, MySQL, OCO, PgSQL, SMTP, TCP]
- url
The address to be used by the probe for HTTP type probes. The type is ignored if this parameter is set to (String of characters)
Getting the details of an HTTP server cluster
GET /ipLoadbalancing/{serviceName}/http/farm/{farmId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
farmId *
The identifier of your HTTP server cluster (Number)
Modify the properties of an HTTP server cluster
PUT /ipLoadbalancing/{serviceName}/http/farm/{farmId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
farmId *
The identifier of your HTTP server cluster (Number)
BackendHttp *
displayName
The name of the server cluster (String of characters)
balance
The type of load distribution (Value)
port
The server cluster's listening port (Number, 1..65000)
probe
The type of probe to be used (HTTP probe)
stickiness
The type of connection persistence (Value)
Delete an HTTP server cluster
DELETE /ipLoadbalancing/{serviceName}/http/farm/{farmId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
farmId *
The identifier of your HTTP server cluster (Number)
HTTP Servers
List the servers linked to the HTTP server cluster
GET /ipLoadbalancing/{serviceName}/http/farm/{farmId}/server
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
farmId *
The identifier of your HTTP server cluster (Number)
cookie
Filter Values by Cookie (String of characters)
address
Filter Values by IPv4 address (IPv4)
status
Filter Values by server status (Value)
Adding a server to an HTTP server cluster
POST /ipLoadbalancing/{serviceName}/http/farm/{farmId}/server
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
farmId *
The identifier of your server cluster (Number)
address *
The IPv4 address of your server (IPv4)
backup
If your server is configured as a backup server (Boolean)
chain
The Value of the Intermediate SSL Certificate (String of characters)
cookie
The Value of your Cookie (String of characters)
displayName
The name given to your server (String of characters)
port
The listening port of your server. Inherited from your server cluster if not defined (Number, 1..65535)
probe
The type of probe to be used (Value)
proxyProtocolVersion
The proxyProtocol version to use, see http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt (Value)
ssl *
If the requests sent to your servers need to be encrypted with SSL (Boolean)
weight *
The weight of your server for your server cluster. A server with high weight receives more requests (Number)
status *
If your server is activated or not (Boolean)
Get the details of a server linked to an HTTP server cluster
GET /ipLoadbalancing/{serviceName}/http/farm/{farmId}/server/{serverId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
serverId *
The identifier of your server (Number)
farmId *
The identifier of your server cluster (Number)
Modify the properties of an HTTP server
PUT /ipLoadbalancing/{serviceName}/http/farm/{farmId}/server/{serverId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
serverId *
The identifier of your server-link (Number)
farmId *
The identifier of your server cluster (Number)
BackendHttpServer *
backup
If your server is configured as a backup server (Boolean)
chain
The Value of the Intermediate SSL Certificate (String of characters)
cookie
The Value of your Cookie (String of characters)
displayName
The name of your server (String of characters)
port
The listening port of your server (Number, 1..65535)
probe
The type of probe to be used (Value)
proxyProtocolVersion
The proxyProtocol version to use, see http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt (Value)
ssl
If the requests sent to your servers need to be encrypted with SSL (Boolean)
status
If your server is activated or not (Boolean)
weight
The weight of your server for your server cluster (Number)
Removing a server from an HTTP server cluster
DELETE /ipLoadbalancing/{serviceName}/http/farm/{farmId}/server/{serverId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
serverId *
The identifier of your server (Number)
farmId *
The identifier of your server cluster (Number)
Front-ends HTTP
List HTTP front-ends attached to an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}/http/frontend
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
defaultFarmId
The identifier of the HTTP server cluster to which the HTTP front-end is linked (Number)
port
The listening port on your front-end (Number, 1..65535)
zone
The name of your zone, ex: all (String of characters)
Add an HTTP front-end to an OVHcloud Load Balancer service
POST /ipLoadbalancing/{serviceName}/http/frontend
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
allowedSource
The list of client IP addresses that have access to the Load Balancer (IPv4)
NB: the filtering is done at the Load Balancer level, so if the Load Balancer and the servers are not in a vRack, your servers are directly accessible from the Internet.
dedicatedIpfo
The list of IP addresses of the remote servers to which your Load Balancer is connected (IPv4[])
defaultFarmId
The default HTTP server cluster identifier for your front-end (Number)
defaultSslId
The default SSL Certificate ID (Number)
disabled
If your HTTP front-end is disabled or enabled (Boolean)
displayName
The name of your HTTP front-end (String of characters)
hsts
If support for https strict, HTTP Strict Transport Security is enabled or disabled (Boolean)
httpHeader
The custom http header to add (String of characters)
port *
The listening port on your front-end (Number, 1..65535)
redirectLocation
The redirection URL http (String of characters)
ssl
Whether requests sent to the HTTP server cluster should be encrypted with SSL or not (Boolean)
zone *
The name of your zone, ex: all (String of characters)
Get the details of an HTTP front-end
GET /ipLoadbalancing/{serviceName}/http/frontend/{frontendId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
frontendId *
The identifier of your HTTP front-end (Number)
Modify the properties of an HTTP front-end
PUT /ipLoadbalancing/{serviceName}/http/frontend/{frontendId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
frontendId *
The identifier of your HTTP frontend (Number)
FrontendHttp *
allowedSource
The list of client IP addresses that have access to the Load Balancer (IPv4[])
NB: the filtering is done at the Load Balancer level, so if the Load Balancer and the servers are not in a vRack, your servers are directly accessible from the Internet.
dedicatedIpfo
The list of IP addresses of the remote servers to which your Load Balancer is connected (IPv4[])
defaultSslId
The default SSL Certificate ID (Number)
disabled
If your HTTP front-end is disabled or enabled (Boolean)
displayName
The name of your HTTP front-end (String of characters)
hsts
If support for https strict, HTTP Strict Transport Security is enabled or disabled (Boolean)
httpHeader
The custom http header to add (String of characters)
ssl
Whether requests sent to the HTTP server cluster should be encrypted with SSL or not (Boolean)
Delete an HTTP front-end
DELETE /ipLoadbalancing/{serviceName}/http/frontend/{frontendId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
frontendId *
The identifier of your front-end (Number)
Routes HTTP
Routes are evaluated one by one, testing their routing rules. The first route validating all its rules sees its action executed, and stops the evaluation of the remaining routes. The order of execution is defined by the type and weight of the route.
List the HTTP routes attached to a Load Balancer service
GET /ipLoadbalancing/{serviceName}/http/route
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
frontendId
The identifier of an HTTP front-end (Number)
Add a new HTTP route to an OVHcloud Load Balancer service
POST /ipLoadbalancing/{serviceName}/http/route
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
action *
The action triggered when all the rules of your route are validated (RouteHttpAction)
- status
The expected HTTP return code (Number)
- target
The server cluster identifier, or the template for the URL (String of characters)
- type
The action on your route (String of characters)
displayName
The name of your route (String of characters)
frontendId
The Identifier of the HTTP front-end for which your route is applied (Number)
weight
The priority of your route. (Number) [0 - 255]
Get the details of an HTTP route
GET /ipLoadbalancing/{serviceName}/http/route/{routeId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your route (number)
Modify the properties of an HTTP route
PUT /ipLoadbalancing/{serviceName}/http/route/{routeId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your route (number)
routeHttp *
action *
The action triggered when all the rules of your route are validated (RouteHttpAction)
- status
The expected HTTP return code (Number)
- target
The server cluster identifier, or the template for the URL (String of characters)
- type
The action on your route (String of characters)
displayName
The name of your route (String of characters)
frontendId
The Identifier of the HTTP front-end for which your route is applied (Number)
weight
The priority of your route. (Number) [0 - 255]
Delete an HTTP route
DELETE /ipLoadbalancing/{serviceName}/http/route/{routeId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your route (number)
Routing rules
List the routing rules attached to an HTTP route
GET /ipLoadbalancing/{serviceName}/http/route/{routeId}/rule
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your HTTP route (Number)
Add routing rules attached to an HTTP route
POST /ipLoadbalancing/{serviceName}/http/route/{routeId}/rule
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your HTTP route (Number)
field *
The name of the field to be tested with the "match" operator (String of characters)
match *
The comparison operator (value) (contains, endsWith, exists, in, internal, is, matches, startsWith)
negate
The behavior of the operator :code:
match
is reversed (Boolean)pattern
The schema or the regular expression used by the "match" operator (Regex / String of characters)
subField
The name of the sub-field, if applicable. Can be a cookie or a header name, for example (string of characters)
Get the details of a routing rule
GET /ipLoadbalancing/{serviceName}/http/route/{routeId}/rule/{ruleId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your HTTP route (Number)
ruleId *
The identifier of your HTTP routing rule (Number)
Modify the properties of a routing rule
PUT /ipLoadbalancing/{serviceName}/http/route/{routeId}/rule/{ruleId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your HTTP route (Number)
ruleId *
The identifier of your HTTP routing rule (Number)
RouteRule *
- field
The name of the field to be tested via the "match" operator (String of characters)
- match
The comparison operator to use (contains, endsWith, exists, in, internal, is, matches, startsWith)
- negate
If the "match" operator is inverted or not (Boolean)
- pattern
The Value or regular expression to use with the "match" operator (Regex / String of characters)
- subField
The name of the sub-field if applicable (String of characters)
Delete a routing rule
DELETE /ipLoadbalancing/{serviceName}/http/route/{routeId}/rule/{ruleId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your HTTP route (Number)
ruleId *
The identifier of your HTTP routing rule (Number)
Protocol TCP
Access the elements related to the TCP protocol (Front-end, Cluster, etc.).
TCP Server clusters
List TCP server clusters attached to an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}/tcp/farm
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
zone
The name of your zone, ex: all (String of characters)
Add a new TCP server cluster to an OVHcloud Load Balancer service
POST /ipLoadbalancing/{serviceName}/tcp/farm
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
balance
Your server cluster's load sharing method (Value)
displayName
The name you wish to give to your server cluster (String of characters)
port
The listening port on your server cluster. Inherited from the front-end if not defined (Number, 1..65535)
probe
The type of probe to use on your server cluster (HTTP probe)
- forceSsl
Activation of the SSL is forced for the probe (Boolean)
- interval
The interval (in seconds) between each probe test. Must be greater than 30. Default is 30 (Number)
- match
The method of correspondence used. default' uses the standard HAProxy behavior. status' is only supported for HTTP probes. (Value) (contains, default, internal, matches, status)
- negate
The behavior of the :code:
match
operator is reversed. (Boolean)
- method
The HTTP method used in :code:
type
'http'. HEAD' can save bandwidth. GET' by default (Value) (HEAD, GET, OPTIONS, internal)
- pattern
server response when "UP". Empty for 'default', comma separated status list for 'status', text for 'contains', regular expression for 'matches'. (String of characters)
- port
The port that the probe should use to test the servers attached to your server cluster. Ignored for 'oco' probes. If not defined, the server cluster port is used (Number)
- type
The type of the probe; its operation (Value) (HTTP, internal, MySQL, OCO, PgSQL, SMTP, or TCP)
- url
The address to be used by the probe for HTTP type probes. The :code:
type
is ignored if this parameter is defined (String of characters)stickiness
The type of connection persistence to use for your server cluster (Value)
zone *
The name of your zone, ex: all (String of characters)
Get the details of a TCP server cluster
GET /ipLoadbalancing/{serviceName}/tcp/farm/{farmId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
farmId *
The identifier of your server cluster (Number)
Modify the properties of a TCP server cluster
PUT /ipLoadbalancing/{serviceName}/tcp/farm/{farmId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
farmId *
The identifier of your server cluster (Number)
BackendTcp *
- balance
The type of load distribution (Value)
- displayName
The name of the server cluster (String of characters)
- port
The server cluster's listening port (Number, 1..65000)
- probe
The type of probe to be used (Sonde TCP)
- stickiness
The type of connection persistence (Value)
Delete a TCP server cluster
DELETE /ipLoadbalancing/{serviceName}/tcp/farm/{farmId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
farmId *
The identifier of your server cluster (Number)
TCP Servers
List the servers linked to the TCP server cluster
GET /ipLoadbalancing/{serviceName}/tcp/farm/{farmId}/server
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
farmId *
The identifier of your server cluster (Number)
cookie
Filter Values by Cookie (String of characters)
address
Filter Values by IPv4 address (IPv4)
status
Filter Values by Server Status (Value)
Add a server to a TCP server cluster
POST /ipLoadbalancing/{serviceName}/tcp/farm/{farmId}/server
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
farmId *
The identifier of your server cluster (Number)
address *
The IPv4 address of your server (IPv4)
backup
If your server is configured as a backup server (Boolean)
chain
The Value of the Intermediate SSL Certificate (String of characters)
displayName
The name given to your server (String of characters)
port
The listening port of your server. Inherited from your server cluster if not defined (Number, 1..65535)
probe
The type of probe to be used (Value)
proxyProtocolVersion
The proxyProtocol version to use, see http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt (Value)
ssl *
If the requests sent to your servers need to be encrypted with SSL (Boolean)
weight *
The weight of your server for your server cluster. A high weight server receives more requests (Number)
status *
If your server is activated or not (Boolean)
Get the details of a server linked to a TCP server cluster
GET /ipLoadbalancing/{serviceName}/tcp/farm/{farmId}/server/{serverId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
serverId *
The identifier of your server (Number)
farmId *
The identifier of your server cluster (Number)
Modify the properties of a TCP server
PUT /ipLoadbalancing/{serviceName}/tcp/farm/{farmId}/server/{serverId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
serverId *
The identifier of your server-link (Number)
farmId *
The identifier of your server cluster (Number)
BackendTcpServer *
- backup
If your server is configured as a backup server (Boolean)
- chain
The Value of the Intermediate SSL Certificate (String of characters)
- displayName
The name of your server (String of characters)
- port
The listening port of your server (Number, 1..65535)
- probe
The type of probe to be used (Value)
- proxyProtocolVersion
The proxyProtocol version to use, see http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt (Value >> )
- ssl
If the requests sent to your servers need to be encrypted with SSL (Boolean)
- status
If your server is activated or not (Boolean)
- weight
The weight of your server for your server cluster (Number)
Delete a server from a TCP server cluster
DELETE /ipLoadbalancing/{serviceName}/tcp/farm/{farmId}/server/{serverId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
serverId *
The identifier of your server (Number)
farmId *
The identifier of your server cluster (Number)
Front-ends TCP
List TCP front-ends attached to an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}/tcp/frontend
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
defaultFarmId
The identifier of the TCP server cluster to which the TCP front-end is linked (Number)
port
The listening port on your front-end (Number, 1..65535)
zone
The name of your zone, ex: all (String of characters)
Add a TCP front-end to an OVHcloud Load Balancer service
POST /ipLoadbalancing/{serviceName}/tcp/frontend
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
allowedSource
The list of client IP addresses that have access to the Load Balancer (IPv4)
dedicatedIpfo
The list of IP addresses of the remote servers to which your Load Balancer is connected (IPv4[])
defaultFarmId
The default TCP server cluster identifier for your front-end (Number)
defaultSslId
The default SSL Certificate ID (Number)
disabled
If your TCP front-end is disabled or enabled (Boolean)
displayName
The name of your TCP front-end (String of characters)
port *
The listening port on your front-end (Number, 1..65535)
ssl
Whether requests sent to the TCP server cluster should be encrypted with SSL or not (Boolean)
zone *
The name of your zone, ex: all (String of characters)
Get the details of a TCP front-end
GET /ipLoadbalancing/{serviceName}/tcp/frontend/{frontendId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
frontendId *
The identifier of your front-end TCP (Number)
Modify the properties of a TCP front-end
PUT /ipLoadbalancing/{serviceName}/tcp/frontend/{frontendId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
frontendId *
The identifier of your front-end TCP (Number)
FrontendTcp *
- allowedSource
The list of client IP addresses that have access to the Load Balancer (IPv4[])
- dedicatedIpfo
The list of IP addresses of the remote servers to which your Load Balancer is connected (IPv4[])
- defaultSslId
The default SSL Certificate ID (Number)
- disabled
If your HTTP front-end is disabled or enabled (Boolean)
- displayName
The name of your HTTP front-end (String of characters)
- ssl
Whether requests sent to the HTTP server cluster should be encrypted with SSL or not (Boolean)
Delete a TCP front-end
DELETE /ipLoadbalancing/{serviceName}/tcp/frontend/{frontendId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
frontendId *
The identifier of your front-end (Number)
Routes TCP
Routes are evaluated one by one, testing their routing rules. The first route validating all its rules sees its action executed, and stops the evaluation of the remaining routes. The order of execution is defined by the type and weight of the route.
List TCP routes attached to an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}/tcp/route
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
frontendId
The identifier of a TCP front-end (Number)
Add a new TCP route to an OVHcloud Load Balancer service
POST /ipLoadbalancing/{serviceName}/tcp/route
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
action *
The action triggered when all the rules of your route are validated (RouteHttpAction)
- target
The server cluster identifier, or the template for the URL (String of characters)
- type
The action on your route (String of characters)
displayName
The name of your route (String of characters)
frontendId
The Identifier of the TCP front-end for which your route is applied (Number)
weight
The priority of your route. (Number) [0 - 255]
Get the details of a TCP route
GET /ipLoadbalancing/{serviceName}/tcp/route/{routeId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your route (number)
Modify the properties of a TCP route
PUT /ipLoadbalancing/{serviceName}/tcp/route/{routeId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your route (number)
routeTcp *
- action
The action to carry out (routeTcpAction)
- target
The server cluster identifier, or the template for the URL (String of characters)
- type
The action on your route (String of characters)
- displayName
The name of your route (String of characters)
- frontendId
The TCP front-end for which your route is applied (Number)
- weight
The priority of your route (Number) [0 - 255]
Delete a TCP route
DELETE /ipLoadbalancing/{serviceName}/tcp/route/{routeId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your route (number)
Routing rules
List the routing rules attached to a TCP route
GET /ipLoadbalancing/{serviceName}/tcp/route/{routeId}/rule
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your TCP route (Number)
Add routing rules attached to a TCP route
POST /ipLoadbalancing/{serviceName}/tcp/route/{routeId}/rule
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your TCP route (Number)
field *
The name of the field to be tested with the "match" operator (String of characters)
match *
The comparison operator (value) (contains, endsWith, exists, in, internal, is, matches, startsWith)
negate
The behavior of the :code:
match
operator is reversed. (Boolean)pattern
The schema or the regular expression used by the "match" operator (Regex / String of characters)
subField
The name of the sub-field, if applicable. Can be a cookie or a header name, for example (string of characters)
Get the details of a routing rule
GET /ipLoadbalancing/{serviceName}/tcp/route/{routeId}/rule/{ruleId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your TCP route (Number)
ruleId *
The identifier of your HTTP routing rule (Number)
Modify the properties of a routing rule
PUT /ipLoadbalancing/{serviceName}/tcp/route/{routeId}/rule/{ruleId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your TCP route (Number)
ruleId *
The identifier of your HTTP routing rule (Number)
RouteRule *
- field
The name of the field to be tested via the "match" operator (String of characters)
- match
The comparison operator to use (contains, endsWith, exists, in, internal, is, matches, startsWith)
- negate
If the "match" operator is inverted or not (Boolean)
- pattern
The Value or regular expression to use with the "match" operator (Regex / String of characters)
- subField
The name of the sub-field if applicable (String of characters)
Delete a routing rule
DELETE /ipLoadbalancing/{serviceName}/tcp/route/{routeId}/rule/{ruleId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
routeId *
The identifier of your TCP route (Number)
ruleId *
The identifier of your HTTP routing rule (Number)
Other features
Additional IP
List Additional IPs routed on an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}/failover
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
Service Status
List the instance statuses of an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}/instancesState
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
List the output IPs used by OVHcloud for NAT
GET /ipLoadbalancing/{serviceName}/natIp
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
Apply changes to an OVHcloud Load Balancer service
POST /ipLoadbalancing/{serviceName}/refresh
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
SSL Certificates
List SSL certificates of an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}/ssl
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
fingerprint
Lists the fingerprint of the SSL certificate (String of characters)
serial
Lists the identification number of the SSL certificate (String of characters)
type
Type of SSL certificate (Value)
Add a new SSL object
POST /ipLoadbalancing/{serviceName}/ssl
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
certificate *
Adding the SSL certificate (String of characters)
chain
Adding the intermediate SSL certificate (String of characters)
key *
Adding the private key (String of characters)
Get the details of an SSL object
GET /ipLoadbalancing/{serviceName}/ssl/{id}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
id *
The identifier of your SSL certificate (Number)
Delete an SSL object
DELETE /ipLoadbalancing/{serviceName}/ssl/{id}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
id *
The identifier of your SSL certificate (Number)
Tasks
List current tasks for an OVHcloud Load Balancer service
GET /ipLoadbalancing/{serviceName}/task
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
action *
Consultation of available tasks (Values)
Get the details of a task
GET /ipLoadbalancing/{serviceName}/task/{id}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
id *
The identifier of your task (Number)
Contact
Initiate a contact change
POST /ipLoadbalancing/{serviceName}/changeContact
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
contactAdmin
The OVHcloud NIC to be configured for the Admin contact of this service (String of characters)
contactBilling
The OVHcloud NIC to be configured for the Admin contact of this service (String of characters)
contactTech
The OVHcloud NIC to be configured for the Admin contact of this service (String of characters)
vRack
Description of the private networks attached to the load balancer
GET /ipLoadbalancing/{serviceName}/vrack/network
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
subnet
Allows to filter according to the network used
vlan
Allows to filter according to the vlan used
Add a private network in the vRack
POST /ipLoadbalancing/{serviceName}/vrack/network
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
displayName
The name you want to give to the network (String of characters)
farmId
Identification table of server clusters that you wish to attach to this private network
natIp
An IP block reserved for the load balancer to reach the servers.
subnet
The IP block of the private network
vlan
Vlan of the private network in the vRack. 0 if the private network is not in a vlan
Retrieve, modify, or delete a private network
GET /ipLoadbalancing/{serviceName}/vrack/network/{vrackNetworkId}
PUT /ipLoadbalancing/{serviceName}/vrack/network/{vrackNetworkId}
DELETE /ipLoadbalancing/{serviceName}/vrack/network/{vrackNetworkId}
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
vrackNetworkId *
The identifier of the private network
Modify the list of server clusters attached to a private network
POST /ipLoadbalancing/{serviceName}/vrack/network/{vrackNetworkId}/updateFarmId
Parameters:
serviceName *
The identifier of your Load Balancer, for example: "loadbalancer-abcdef0123456789" (String of characters)
vrackNetworkId *
The identifier of the private network
farmId *
Table of server cluster identifiers that you wish to attach to this private network. The Value "null" removes the vrack network id from all server clusters where it was configured.
Go further
For more information and tutorials, please see our other OVHcloud Load Balancer guides or explore the guides for other OVHcloud products and services.