For the complete documentation index, see llms.txt. This page is also available as Markdown.

Partially modify Network Load Balancers

Update the properties of the specified Network Load Balancer within the data center.

patch
Authorizations
AuthorizationstringRequired

You will need to base64 encode the string containing your credentials.

Note:

  • 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.
Separate your username and password with a colon, i.e., username:password and send it as 'Authorization' request header. More details: https://en.wikipedia.org/wiki/Basic_access_authentication
Path parameters
datacenterIdstringRequired

The unique ID of the data center.

networkLoadBalancerIdstringRequired

The unique ID of the Network Load Balancer.

Query parameters
prettybooleanOptional

Controls whether the response is pretty-printed (with indentations and new lines).

Default: true
depthinteger · int32 · max: 10Optional

Controls 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

Default: 0
Header parameters
X-Contract-Numberinteger · int32Optional

Users with multiple contracts must provide the contract number, for which all API requests are to be executed.

Body
namestringRequired

The name of the Network Load Balancer.

Example: My Network Load Balancer
listenerLanintegerRequired

ID of the listening LAN (inbound).

Example: 1
ipsstring[]Optional

Collection 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.

Example: ["81.173.1.2","22.231.2.2","22.231.2.3"]
targetLanintegerRequired

ID of the balanced private target LAN (outbound).

Example: 2
lbPrivateIpsstring[]Optional

Collection 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.

Example: ["81.173.1.5/24","22.231.2.5/24"]
centralLoggingbooleanOptional

Turn logging on and off for this product. Default value is 'false'.

Example: true
loggingFormatstringOptional

Specifies the format of the logs.

Example: %{+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
tierstringOptional

The 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.

Responses
202

Successful operation

application/json
patch/datacenters/{datacenterId}/networkloadbalancers/{networkLoadBalancerId}
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?