Network Load Balancer

Network Load Balancer

A Network Load Balancer (NLB) is a Layer 4 (TCP/UDP) load balancer that distributes incoming traffic to Compute instances managed by an Instance Pool.

Read more

create-load-balancer

Create a Load Balancer

POST /load-balancer

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
namestringyesLoad Balancer name
descriptionstringnoLoad Balancer description
labelsobjectnoLoad balancer labels
Example
{
  "description": "string",
  "labels": {},
  "name": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for create-load-balancer: golang | Python | Java

CLI: exo api create-load-balancer

get-load-balancer

Retrieve Load Balancer details

GET /load-balancer/{id}

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
created-atstringLoad Balancer creation date
descriptionstringLoad Balancer description
idstringLoad Balancer ID
ipstringLoad Balancer public IP
labelsobjectLoad Balancer Labels
namestringLoad Balancer name
servicesarray of Load Balancer ServiceLoad Balancer Services
statestringLoad Balancer state

Allowed values: creating, migrated, deleting, running, migrating, error.
Example output
{
  "created-at": "2024-01-01T12:00:00Z",
  "description": "string",
  "id": "string",
  "ip": "string",
  "labels": {},
  "name": "string",
  "services": [
    {
      "description": "string",
      "healthcheck": {
        "interval": 0,
        "mode": "tcp",
        "port": 0,
        "retries": 0,
        "timeout": 0,
        "tls-sni": "string",
        "uri": "string"
      },
      "healthcheck-status": [
        {
          "public-ip": "string",
          "status": "failure"
        }
      ],
      "id": "string",
      "instance-pool": {
        "anti-affinity-groups": [
          {
            "description": null,
            "id": null,
            "instances": null,
            "name": null
          }
        ],
        "application-consistent-snapshot-enabled": true,
        "deploy-target": {
          "description": "string",
          "id": "string",
          "name": "string",
          "type": "edge"
        },
        "description": "string",
        "disk-size": 0,
        "elastic-ips": [
          {
            "addressfamily": null,
            "cidr": null,
            "description": null,
            "healthcheck": null,
            "id": null,
            "ip": null,
            "labels": null
          }
        ],
        "id": "string",
        "instance-prefix": "string",
        "instance-type": {
          "authorized": true,
          "cpus": 0,
          "family": "gpu3",
          "gpus": 0,
          "id": "string",
          "memory": 0,
          "size": "large",
          "zones": [
            null
          ]
        },
        "instances": [
          {
            "anti-affinity-groups": null,
            "application-consistent-snapshot-enabled": null,
            "created-at": null,
            "deploy-target": null,
            "disk-size": null,
            "elastic-ips": null,
            "id": null,
            "instance-type": null,
            "ipv6-address": null,
            "labels": null,
            "mac-address": null,
            "manager": null,
            "name": null,
            "private-networks": null,
            "public-ip": null,
            "public-ip-assignment": null,
            "secureboot-enabled": null,
            "security-groups": null,
            "snapshots": null,
            "ssh-key": null,
            "ssh-keys": null,
            "state": null,
            "template": null,
            "tpm-enabled": null,
            "user-data": null
          }
        ],
        "ipv6-enabled": true,
        "labels": {},
        "manager": {
          "id": "string",
          "type": "sks-nodepool"
        },
        "min-available": 0,
        "name": "string",
        "private-networks": [
          {
            "description": null,
            "end-ip": null,
            "id": null,
            "labels": null,
            "leases": null,
            "name": null,
            "netmask": null,
            "options": null,
            "start-ip": null,
            "vni": null
          }
        ],
        "public-ip-assignment": "inet4",
        "security-groups": [
          {
            "description": null,
            "external-sources": null,
            "id": null,
            "name": null,
            "rules": null
          }
        ],
        "size": 0,
        "ssh-key": {
          "fingerprint": "string",
          "name": "string"
        },
        "ssh-keys": [
          {
            "fingerprint": null,
            "name": null
          }
        ],
        "state": "scaling-up",
        "template": {
          "application-consistent-snapshot-enabled": true,
          "boot-mode": "legacy",
          "build": "string",
          "checksum": "string",
          "created-at": "2024-01-01T12:00:00Z",
          "default-user": "string",
          "description": "string",
          "family": "string",
          "id": "string",
          "maintainer": "string",
          "name": "string",
          "password-enabled": true,
          "size": 0,
          "ssh-key-enabled": true,
          "url": "string",
          "version": "string",
          "visibility": "private",
          "zones": [
            null
          ]
        },
        "user-data": "string"
      },
      "name": "string",
      "port": 0,
      "protocol": "tcp",
      "state": "creating",
      "strategy": "round-robin",
      "target-port": 0
    }
  ],
  "state": "creating"
}

SDK reference for get-load-balancer: golang | Python | Java

CLI: exo api get-load-balancer

update-load-balancer

Update a Load Balancer

PUT /load-balancer/{id}

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
descriptionstringnoLoad Balancer description
labelsobjectno
namestringnoLoad Balancer name
Example
{
  "description": "string",
  "labels": {},
  "name": "string"
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for update-load-balancer: golang | Python | Java

CLI: exo api update-load-balancer

delete-load-balancer

Delete a Load Balancer

DELETE /load-balancer/{id}

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-load-balancer: golang | Python | Java

CLI: exo api delete-load-balancer

get-load-balancer-service

Retrieve Load Balancer Service details

GET /load-balancer/{id}/service/{service-id}

Path parameters

NameInDescription
idpath
service-idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
descriptionstringLoad Balancer Service description
healthcheckLoad Balancer Service healthcheckHealthcheck configuration
healthcheck-statusarray of Load Balancer Service statusHealthcheck status per backend server
idstringLoad Balancer Service ID
instance-poolInstance PoolInstance Pool to forward network traffic to
namestringLoad Balancer Service name
portintegerPort exposed on the Load Balancer’s public IP
protocolstringNetwork traffic protocol

Allowed values: tcp, udp.
statestringLoad Balancer Service state

Allowed values: creating, deleting, running, updating, error.
strategystringLoad balancing strategy

Allowed values: round-robin, maglev-hash, source-hash.
target-portintegerPort on which the network traffic will be forwarded to on the receiving instance
Example output
{
  "description": "string",
  "healthcheck": {
    "interval": 0,
    "mode": "tcp",
    "port": 0,
    "retries": 0,
    "timeout": 0,
    "tls-sni": "string",
    "uri": "string"
  },
  "healthcheck-status": [
    {
      "public-ip": "string",
      "status": "failure"
    }
  ],
  "id": "string",
  "instance-pool": {
    "anti-affinity-groups": [
      {
        "description": "string",
        "id": "string",
        "instances": [
          {
            "anti-affinity-groups": null,
            "application-consistent-snapshot-enabled": null,
            "created-at": null,
            "deploy-target": null,
            "disk-size": null,
            "elastic-ips": null,
            "id": null,
            "instance-type": null,
            "ipv6-address": null,
            "labels": null,
            "mac-address": null,
            "manager": null,
            "name": null,
            "private-networks": null,
            "public-ip": null,
            "public-ip-assignment": null,
            "secureboot-enabled": null,
            "security-groups": null,
            "snapshots": null,
            "ssh-key": null,
            "ssh-keys": null,
            "state": null,
            "template": null,
            "tpm-enabled": null,
            "user-data": null
          }
        ],
        "name": "string"
      }
    ],
    "application-consistent-snapshot-enabled": true,
    "deploy-target": {
      "description": "string",
      "id": "string",
      "name": "string",
      "type": "edge"
    },
    "description": "string",
    "disk-size": 0,
    "elastic-ips": [
      {
        "addressfamily": "inet4",
        "cidr": "string",
        "description": "string",
        "healthcheck": {
          "interval": 0,
          "mode": "tcp",
          "port": 0,
          "strikes-fail": 0,
          "strikes-ok": 0,
          "timeout": 0,
          "tls-skip-verify": true,
          "tls-sni": "string",
          "uri": "string"
        },
        "id": "string",
        "ip": "string",
        "labels": {}
      }
    ],
    "id": "string",
    "instance-prefix": "string",
    "instance-type": {
      "authorized": true,
      "cpus": 0,
      "family": "gpu3",
      "gpus": 0,
      "id": "string",
      "memory": 0,
      "size": "large",
      "zones": [
        "ch-dk-2"
      ]
    },
    "instances": [
      {
        "anti-affinity-groups": [
          {
            "description": null,
            "id": null,
            "instances": null,
            "name": null
          }
        ],
        "application-consistent-snapshot-enabled": true,
        "created-at": "2024-01-01T12:00:00Z",
        "deploy-target": {
          "description": "string",
          "id": "string",
          "name": "string",
          "type": "edge"
        },
        "disk-size": 0,
        "elastic-ips": [
          {
            "addressfamily": null,
            "cidr": null,
            "description": null,
            "healthcheck": null,
            "id": null,
            "ip": null,
            "labels": null
          }
        ],
        "id": "string",
        "instance-type": {
          "authorized": true,
          "cpus": 0,
          "family": "gpu3",
          "gpus": 0,
          "id": "string",
          "memory": 0,
          "size": "large",
          "zones": [
            null
          ]
        },
        "ipv6-address": "string",
        "labels": {},
        "mac-address": "string",
        "manager": {
          "id": "string",
          "type": "sks-nodepool"
        },
        "name": "string",
        "private-networks": [
          {
            "id": null,
            "mac-address": null
          }
        ],
        "public-ip": "string",
        "public-ip-assignment": "inet4",
        "secureboot-enabled": true,
        "security-groups": [
          {
            "description": null,
            "external-sources": null,
            "id": null,
            "name": null,
            "rules": null
          }
        ],
        "snapshots": [
          {
            "application-consistent": null,
            "created-at": null,
            "export": null,
            "id": null,
            "instance": null,
            "name": null,
            "size": null,
            "state": null
          }
        ],
        "ssh-key": {
          "fingerprint": "string",
          "name": "string"
        },
        "ssh-keys": [
          {
            "fingerprint": null,
            "name": null
          }
        ],
        "state": "expunging",
        "template": {
          "application-consistent-snapshot-enabled": true,
          "boot-mode": "legacy",
          "build": "string",
          "checksum": "string",
          "created-at": "2024-01-01T12:00:00Z",
          "default-user": "string",
          "description": "string",
          "family": "string",
          "id": "string",
          "maintainer": "string",
          "name": "string",
          "password-enabled": true,
          "size": 0,
          "ssh-key-enabled": true,
          "url": "string",
          "version": "string",
          "visibility": "private",
          "zones": [
            null
          ]
        },
        "tpm-enabled": true,
        "user-data": "string"
      }
    ],
    "ipv6-enabled": true,
    "labels": {},
    "manager": {
      "id": "string",
      "type": "sks-nodepool"
    },
    "min-available": 0,
    "name": "string",
    "private-networks": [
      {
        "description": "string",
        "end-ip": "string",
        "id": "string",
        "labels": {},
        "leases": [
          {
            "instance-id": null,
            "ip": null
          }
        ],
        "name": "string",
        "netmask": "string",
        "options": {
          "dns-servers": [
            null
          ],
          "domain-search": [
            null
          ],
          "ntp-servers": [
            null
          ],
          "routers": [
            null
          ]
        },
        "start-ip": "string",
        "vni": 0
      }
    ],
    "public-ip-assignment": "inet4",
    "security-groups": [
      {
        "description": "string",
        "external-sources": [
          "string"
        ],
        "id": "string",
        "name": "string",
        "rules": [
          {
            "description": null,
            "end-port": null,
            "flow-direction": null,
            "icmp": null,
            "id": null,
            "network": null,
            "protocol": null,
            "security-group": null,
            "start-port": null
          }
        ]
      }
    ],
    "size": 0,
    "ssh-key": {
      "fingerprint": "string",
      "name": "string"
    },
    "ssh-keys": [
      {
        "fingerprint": "string",
        "name": "string"
      }
    ],
    "state": "scaling-up",
    "template": {
      "application-consistent-snapshot-enabled": true,
      "boot-mode": "legacy",
      "build": "string",
      "checksum": "string",
      "created-at": "2024-01-01T12:00:00Z",
      "default-user": "string",
      "description": "string",
      "family": "string",
      "id": "string",
      "maintainer": "string",
      "name": "string",
      "password-enabled": true,
      "size": 0,
      "ssh-key-enabled": true,
      "url": "string",
      "version": "string",
      "visibility": "private",
      "zones": [
        "ch-dk-2"
      ]
    },
    "user-data": "string"
  },
  "name": "string",
  "port": 0,
  "protocol": "tcp",
  "state": "creating",
  "strategy": "round-robin",
  "target-port": 0
}

SDK reference for get-load-balancer-service: golang | Python | Java

CLI: exo api get-load-balancer-service

update-load-balancer-service

Update a Load Balancer Service

PUT /load-balancer/{id}/service/{service-id}

Path parameters

NameInDescription
idpath
service-idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
descriptionstringnoLoad Balancer Service description
healthcheckLoad Balancer Service healthchecknoHealthcheck configuration
namestringnoLoad Balancer Service name
portintegernoPort exposed on the Load Balancer’s public IP
protocolstringnoNetwork traffic protocol

Allowed values: tcp, udp.
strategystringnoLoad balancing strategy

Allowed values: round-robin, maglev-hash, source-hash.
target-portintegernoPort on which the network traffic will be forwarded to on the receiving instance
Example
{
  "description": "string",
  "healthcheck": {
    "interval": 0,
    "mode": "tcp",
    "port": 0,
    "retries": 0,
    "timeout": 0,
    "tls-sni": "string",
    "uri": "string"
  },
  "name": "string",
  "port": 0,
  "protocol": "tcp",
  "strategy": "round-robin",
  "target-port": 0
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for update-load-balancer-service: golang | Python | Java

CLI: exo api update-load-balancer-service

delete-load-balancer-service

Delete a Load Balancer Service

DELETE /load-balancer/{id}/service/{service-id}

Path parameters

NameInDescription
idpath
service-idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-load-balancer-service: golang | Python | Java

CLI: exo api delete-load-balancer-service


Other Operations

reset-load-balancer-field

Reset a Load Balancer field to its default value

DELETE /load-balancer/{id}/{field}

Path parameters

NameInDescription
idpath
fieldpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for reset-load-balancer-field: golang | Python | Java

CLI: exo api reset-load-balancer-field

reset-load-balancer-service-field

Reset a Load Balancer Service field to its default value

DELETE /load-balancer/{id}/service/{service-id}/{field}

Path parameters

NameInDescription
idpath
service-idpath
fieldpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for reset-load-balancer-service-field: golang | Python | Java

CLI: exo api reset-load-balancer-service-field

list-load-balancers

List Load Balancers

GET /load-balancer

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
load-balancersarray of Load Balancer
Example output
{
  "load-balancers": [
    {
      "created-at": "2024-01-01T12:00:00Z",
      "description": "string",
      "id": "string",
      "ip": "string",
      "labels": {},
      "name": "string",
      "services": [
        {
          "description": "string",
          "healthcheck": {
            "interval": null,
            "mode": null,
            "port": null,
            "retries": null,
            "timeout": null,
            "tls-sni": null,
            "uri": null
          },
          "healthcheck-status": [
            null
          ],
          "id": "string",
          "instance-pool": {
            "anti-affinity-groups": null,
            "application-consistent-snapshot-enabled": null,
            "deploy-target": null,
            "description": null,
            "disk-size": null,
            "elastic-ips": null,
            "id": null,
            "instance-prefix": null,
            "instance-type": null,
            "instances": null,
            "ipv6-enabled": null,
            "labels": null,
            "manager": null,
            "min-available": null,
            "name": null,
            "private-networks": null,
            "public-ip-assignment": null,
            "security-groups": null,
            "size": null,
            "ssh-key": null,
            "ssh-keys": null,
            "state": null,
            "template": null,
            "user-data": null
          },
          "name": "string",
          "port": 0,
          "protocol": "tcp",
          "state": "creating",
          "strategy": "round-robin",
          "target-port": 0
        }
      ],
      "state": "creating"
    }
  ]
}

SDK reference for list-load-balancers: golang | Python | Java

CLI: exo api list-load-balancers

add-service-to-load-balancer

Add a Load Balancer Service

POST /load-balancer/{id}/service

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
healthcheckLoad Balancer Service healthcheckyesHealthcheck configuration
instance-poolInstance PoolyesInstance Pool to forward traffic to
namestringyesLoad Balancer Service name
portintegeryesPort exposed on the Load Balancer’s public IP
protocolstringyesNetwork traffic protocol

Allowed values: tcp, udp.
strategystringyesLoad balancing strategy

Allowed values: round-robin, maglev-hash, source-hash.
target-portintegeryesPort on which the network traffic will be forwarded to on the receiving instance
descriptionstringnoLoad Balancer Service description
Example
{
  "description": "string",
  "healthcheck": {
    "interval": 0,
    "mode": "tcp",
    "port": 0,
    "retries": 0,
    "timeout": 0,
    "tls-sni": "string",
    "uri": "string"
  },
  "instance-pool": {
    "anti-affinity-groups": [
      {
        "description": "string",
        "id": "string",
        "instances": [
          {
            "anti-affinity-groups": null,
            "application-consistent-snapshot-enabled": null,
            "created-at": null,
            "deploy-target": null,
            "disk-size": null,
            "elastic-ips": null,
            "id": null,
            "instance-type": null,
            "ipv6-address": null,
            "labels": null,
            "mac-address": null,
            "manager": null,
            "name": null,
            "private-networks": null,
            "public-ip": null,
            "public-ip-assignment": null,
            "secureboot-enabled": null,
            "security-groups": null,
            "snapshots": null,
            "ssh-key": null,
            "ssh-keys": null,
            "state": null,
            "template": null,
            "tpm-enabled": null,
            "user-data": null
          }
        ],
        "name": "string"
      }
    ],
    "application-consistent-snapshot-enabled": true,
    "deploy-target": {
      "description": "string",
      "id": "string",
      "name": "string",
      "type": "edge"
    },
    "description": "string",
    "disk-size": 0,
    "elastic-ips": [
      {
        "addressfamily": "inet4",
        "cidr": "string",
        "description": "string",
        "healthcheck": {
          "interval": 0,
          "mode": "tcp",
          "port": 0,
          "strikes-fail": 0,
          "strikes-ok": 0,
          "timeout": 0,
          "tls-skip-verify": true,
          "tls-sni": "string",
          "uri": "string"
        },
        "id": "string",
        "ip": "string",
        "labels": {}
      }
    ],
    "id": "string",
    "instance-prefix": "string",
    "instance-type": {
      "authorized": true,
      "cpus": 0,
      "family": "gpu3",
      "gpus": 0,
      "id": "string",
      "memory": 0,
      "size": "large",
      "zones": [
        "ch-dk-2"
      ]
    },
    "instances": [
      {
        "anti-affinity-groups": [
          {
            "description": null,
            "id": null,
            "instances": null,
            "name": null
          }
        ],
        "application-consistent-snapshot-enabled": true,
        "created-at": "2024-01-01T12:00:00Z",
        "deploy-target": {
          "description": "string",
          "id": "string",
          "name": "string",
          "type": "edge"
        },
        "disk-size": 0,
        "elastic-ips": [
          {
            "addressfamily": null,
            "cidr": null,
            "description": null,
            "healthcheck": null,
            "id": null,
            "ip": null,
            "labels": null
          }
        ],
        "id": "string",
        "instance-type": {
          "authorized": true,
          "cpus": 0,
          "family": "gpu3",
          "gpus": 0,
          "id": "string",
          "memory": 0,
          "size": "large",
          "zones": [
            null
          ]
        },
        "ipv6-address": "string",
        "labels": {},
        "mac-address": "string",
        "manager": {
          "id": "string",
          "type": "sks-nodepool"
        },
        "name": "string",
        "private-networks": [
          {
            "id": null,
            "mac-address": null
          }
        ],
        "public-ip": "string",
        "public-ip-assignment": "inet4",
        "secureboot-enabled": true,
        "security-groups": [
          {
            "description": null,
            "external-sources": null,
            "id": null,
            "name": null,
            "rules": null
          }
        ],
        "snapshots": [
          {
            "application-consistent": null,
            "created-at": null,
            "export": null,
            "id": null,
            "instance": null,
            "name": null,
            "size": null,
            "state": null
          }
        ],
        "ssh-key": {
          "fingerprint": "string",
          "name": "string"
        },
        "ssh-keys": [
          {
            "fingerprint": null,
            "name": null
          }
        ],
        "state": "expunging",
        "template": {
          "application-consistent-snapshot-enabled": true,
          "boot-mode": "legacy",
          "build": "string",
          "checksum": "string",
          "created-at": "2024-01-01T12:00:00Z",
          "default-user": "string",
          "description": "string",
          "family": "string",
          "id": "string",
          "maintainer": "string",
          "name": "string",
          "password-enabled": true,
          "size": 0,
          "ssh-key-enabled": true,
          "url": "string",
          "version": "string",
          "visibility": "private",
          "zones": [
            null
          ]
        },
        "tpm-enabled": true,
        "user-data": "string"
      }
    ],
    "ipv6-enabled": true,
    "labels": {},
    "manager": {
      "id": "string",
      "type": "sks-nodepool"
    },
    "min-available": 0,
    "name": "string",
    "private-networks": [
      {
        "description": "string",
        "end-ip": "string",
        "id": "string",
        "labels": {},
        "leases": [
          {
            "instance-id": null,
            "ip": null
          }
        ],
        "name": "string",
        "netmask": "string",
        "options": {
          "dns-servers": [
            null
          ],
          "domain-search": [
            null
          ],
          "ntp-servers": [
            null
          ],
          "routers": [
            null
          ]
        },
        "start-ip": "string",
        "vni": 0
      }
    ],
    "public-ip-assignment": "inet4",
    "security-groups": [
      {
        "description": "string",
        "external-sources": [
          "string"
        ],
        "id": "string",
        "name": "string",
        "rules": [
          {
            "description": null,
            "end-port": null,
            "flow-direction": null,
            "icmp": null,
            "id": null,
            "network": null,
            "protocol": null,
            "security-group": null,
            "start-port": null
          }
        ]
      }
    ],
    "size": 0,
    "ssh-key": {
      "fingerprint": "string",
      "name": "string"
    },
    "ssh-keys": [
      {
        "fingerprint": "string",
        "name": "string"
      }
    ],
    "state": "scaling-up",
    "template": {
      "application-consistent-snapshot-enabled": true,
      "boot-mode": "legacy",
      "build": "string",
      "checksum": "string",
      "created-at": "2024-01-01T12:00:00Z",
      "default-user": "string",
      "description": "string",
      "family": "string",
      "id": "string",
      "maintainer": "string",
      "name": "string",
      "password-enabled": true,
      "size": 0,
      "ssh-key-enabled": true,
      "url": "string",
      "version": "string",
      "visibility": "private",
      "zones": [
        "ch-dk-2"
      ]
    },
    "user-data": "string"
  },
  "name": "string",
  "port": 0,
  "protocol": "tcp",
  "strategy": "round-robin",
  "target-port": 0
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for add-service-to-load-balancer: golang | Python | Java

CLI: exo api add-service-to-load-balancer

Last updated on