Partially modify Network Load Balancers
Update the properties of the specified Network Load Balancer within the data center.
You will need to base64 encode the string containing your credentials.
- Basic Authentication is supported only when 2-Factor Authentication is not configured.
- Users with 2-Factor Authentication activated must generate new 2FA-secured tokens in the DCD using [Token Manager](https://docs.ionos.com/cloud/set-up-ionos-cloud/management/identity-access-management/token-manager). These tokens do not inherit the 2FA-secured property by default.
- Token deletion is only possible using the Token Manager.
The unique ID of the data center.
The unique ID of the Network Load Balancer.
Controls whether the response is pretty-printed (with indentations and new lines).
trueControls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
0Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
The name of the Network Load Balancer.
My Network Load BalancerID of the listening LAN (inbound).
1Collection of the Network Load Balancer IP addresses. (Inbound and outbound) IPs of the listenerLan must be customer-reserved IPs for public Load Balancers, and private IPs for private Load Balancers.
["81.173.1.2","22.231.2.2","22.231.2.3"]ID of the balanced private target LAN (outbound).
2Collection of private IP addresses with subnet mask of the Network Load Balancer. IPs must contain a valid subnet mask. If no IP is provided, the system will generate an IP with /24 subnet.
["81.173.1.5/24","22.231.2.5/24"]Turn logging on and off for this product. Default value is 'false'.
trueSpecifies the format of the logs.
%{+Q}o %{-Q}ci - - [%trg] %r %ST %B "" "" %cp %ms %ft %b %s %TR %Tw %Tc %Tr %Ta %tsc %ac %fc %bc %sc %rc %sq %bq %CC %CS %hrl %hslThe service tiers a VNF resource can run on. Each names a performance class and a redundancy; the _HA suffix marks the redundant form, and both dimensions are compared by the upgrade-only rule below. What a tier resolves to in cores, memory and machine type is defined per product and is the same in every location.
Which tiers are accepted. A tier the product's catalogue holds no entry for is refused, since nothing then defines what it resolves to. STANDARD_HA is the exception and is accepted whether or not the catalogue holds an entry for it; where it holds none, the resource is sized by the platform's own configuration for that product rather than by a catalogue entry.
Upgrades only. A change that lowers either the performance class or the redundancy of the tier the resource is running is rejected.
Selecting a tier. Naming a tier that differs from the one the resource is running, or on creation naming one other than the tier it would receive anyway, is a selection. A selection requires service tiers to be enabled on both the contract and the cluster, and is refused if either is not. Naming the tier a resource is already running is not a selection and is always accepted, so a resource that has been read can be written back without the feature enabled. Creating a resource on the tier it would receive anyway is likewise not a selection, so a client may equally create one from a resource it has read.
When a selection takes effect. At once. Nothing is queued and nothing waits for the resource's maintenance window, so a resource's tier reports the tier it is running and never one it is moving to.
Omitting the tier. On creation a resource starts on the tier configured as the default for its product, where service tiers are enabled on both the contract and the cluster; otherwise, and where the catalogue marks no default, it starts on STANDARD_HA. On update the resource keeps the tier it is running — an omitted tier is never read as a request to return to the default.
An open set. The set of tiers may grow, so a client generated against this spec must tolerate a tier it does not recognise rather than fail on it. A tier this API does not yet define is still refused on write: an open set describes what a client may one day be told, not what it may send.
Successful operation
Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).
PATCH /cloudapi/v6/datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId} HTTP/1.1
Host: api.ionos.com
Authorization: Basic username:password
Content-Type: */*
Accept: */*
Content-Length: 421
{
"name": "My Network Load Balancer",
"listenerLan": 1,
"ips": [
"81.173.1.2",
"22.231.2.2",
"22.231.2.3"
],
"targetLan": 2,
"lbPrivateIps": [
"81.173.1.5/24",
"22.231.2.5/24"
],
"centralLogging": true,
"loggingFormat": "%{+Q}o %{-Q}ci - - [%trg] %r %ST %B \"\" \"\" %cp %ms %ft %b %s %TR %Tw %Tc %Tr %Ta %tsc %ac %fc %bc %sc %rc %sq %bq %CC %CS %hrl %hsl",
"tier": "ENHANCED_HA",
"maintenanceWindow": {
"dayOfTheWeek": "Monday",
"time": "13:00:00"
}
}{
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "networkloadbalancer",
"href": "<RESOURCE-URI>",
"metadata": {
"etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
"createdDate": "2015-12-04T14:34:09.809Z",
"createdBy": "user@example.com",
"createdByUserId": "user@example.com",
"lastModifiedDate": "2015-12-04T14:34:09.809Z",
"lastModifiedBy": "user@example.com",
"lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
"state": "AVAILABLE"
},
"properties": {
"name": "My Network Load Balancer",
"listenerLan": 1,
"ips": [
"81.173.1.2",
"22.231.2.2",
"22.231.2.3"
],
"targetLan": 2,
"lbPrivateIps": [
"81.173.1.5/24",
"22.231.2.5/24"
],
"centralLogging": true,
"loggingFormat": "%{+Q}o %{-Q}ci - - [%trg] %r %ST %B \"\" \"\" %cp %ms %ft %b %s %TR %Tw %Tc %Tr %Ta %tsc %ac %fc %bc %sc %rc %sq %bq %CC %CS %hrl %hsl",
"tier": "ENHANCED_HA",
"maintenanceWindow": {
"dayOfTheWeek": "Monday",
"time": "13:00:00"
}
},
"entities": {
"flowlogs": {
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "collection",
"href": "<RESOURCE-URI>",
"items": [
{
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "flow-log",
"href": "<RESOURCE-URI>",
"metadata": {
"etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
"createdDate": "2015-12-04T14:34:09.809Z",
"createdBy": "user@example.com",
"createdByUserId": "user@example.com",
"lastModifiedDate": "2015-12-04T14:34:09.809Z",
"lastModifiedBy": "user@example.com",
"lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
"state": "AVAILABLE"
},
"properties": {
"name": "My resource",
"action": "ACCEPTED",
"direction": "INGRESS",
"bucket": "bucketName/key"
}
}
],
"offset": 0,
"limit": 1000,
"_links": {
"prev": "<PREVIOUS-PAGE-URI>",
"self": "<THIS-PAGE-URI>",
"next": "<NEXT-PAGE-URI>"
}
},
"forwardingrules": {
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "collection",
"href": "<RESOURCE-URI>",
"items": [
{
"id": "15f67991-0f51-4efc-a8ad-ef1fb31a480c",
"type": "forwarding-rule",
"href": "<RESOURCE-URI>",
"metadata": {
"etag": "45480eb3fbfc31f1d916c1eaa4abdcc3",
"createdDate": "2015-12-04T14:34:09.809Z",
"createdBy": "user@example.com",
"createdByUserId": "user@example.com",
"lastModifiedDate": "2015-12-04T14:34:09.809Z",
"lastModifiedBy": "user@example.com",
"lastModifiedByUserId": "63cef532-26fe-4a64-a4e0-de7c8a506c90",
"state": "AVAILABLE"
},
"properties": {
"name": "My Network Load Balancer forwarding rule",
"algorithm": "ROUND_ROBIN",
"protocol": "HTTP",
"listenerIp": "81.173.1.2",
"listenerPort": 8080,
"healthCheck": {
"clientTimeout": 50,
"connectTimeout": 5000,
"targetTimeout": 50000,
"retries": 3
},
"targets": [
{
"ip": "22.231.2.2",
"port": 8080,
"weight": 123,
"proxyProtocol": "v1",
"healthCheck": {
"check": true,
"checkInterval": 2000,
"maintenance": true
}
}
]
}
}
],
"offset": 0,
"limit": 1000,
"_links": {
"prev": "<PREVIOUS-PAGE-URI>",
"self": "<THIS-PAGE-URI>",
"next": "<NEXT-PAGE-URI>"
}
}
}
}Last updated
Was this helpful?