Exoscale Public API

Infrastructure automation API, allowing programmatic access to all Exoscale products and services.

This documentation refers to an alpha version, and is currently not officially supported.

The OpenAPI Specification source of this documentation can be obtained here:

The currently supported API documentation can be consulted here:
https://community.exoscale.com/api/

This is the documentation for version 2.0.0-alpha2 of the API. Last update on Jun 24, 2021.

Base URL
https://api-ch-gva-2.exoscale.com/v2.alpha

API Request Signature

In order to authenticate legitimate users, the Exoscale API requires incoming requests to be signed using valid Exoscale API account credentials with the following mechanism.

Signature Mechanism

The message (i.e. content) to sign contains several segments concatenated using a line return character (\n). All segments must be included and in the described order, including empty ones depending on the context of the request (e.g. no request body).

  • Request method and request URL (path only), separated by a space character
  • Request body
  • Request URL parameters (Query String) values, concatenated without separator. The matching parameter names have to be specified in the resulting signature header signed-query-args= pragma, separated by semicolons (e.g. p1;p2;pN).
  • Request header values, concatenated without separator (none at the moment, leave empty)
  • Request expiration date in UNIX timestamp format Example message to sign for GET /v2.alpha/resource/a02baf5a-a3e4-49a0-857b-8a08d276c1c0?p1=v1&p2=v2 : GET /v2.alpha/resource/a02baf5a-a3e4-49a0-857b-8a08d276c1c0 v1v2 1599140767 The request signature consists of the HMAC hash of the base64-encoded message and the Exoscale API secret using the SHA265 function: signature = HMAC_SHA256(Exoscale API secret, BASE64_ENCODE(message)) Finally, the computed signature must be added to the API request in a Authorization header such as: Authorization: EXO2-HMAC-SHA256 credential=,expires=,signature= Example API query: GET /v2.alpha/resource/a02baf5a-a3e4-49a0-857b-8a08d276c1c0?p1=v1&p2=v2 HTTP/1.1 Host: api-ch-gva-2.exoscale.com Authorization: EXO2-HMAC-SHA256 credential=EXO29147e9f89102b7ac1e88514,signed-query-args=p1;p2,expires=1599140767,signature=2AOBQsbElQb4FpKT/FM/9T4NobjlmZkSGvvdUth/xlY= ## Reference Implementations You can look up the following existing reference implementations:
  • Go: github.com/exoscale/egoscale/api/v2 > SecurityProviderExoscale.signRequest
  • Python: requests-exoscale-auth > ExoscaleV2Auth

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

Retrieve Load Balancer Service details

Path parameters
  • id Required / string(uuid)
  • service-id Required / string(uuid)
Responses
  • 200 object

    200

    • description string

      Load Balancer Service description

    • protocol string

      Network traffic protocol

      Values are tcp and udp.

    • name string

      Load Balancer Service name

    • state string

      Load Balancer Service state

      Values are creating, deleting, running, updating, and error.

    • target-port integer(int64)

      Port on which the network traffic will be forwarded to on the receiving instance

      Minimum value is 0.

    • port integer(int64)

      Port exposed on the Load Balancer's public IP

      Minimum value is 0.

    • instance-pool object

      Instance Pool

      • anti-affinity-groups array[object]

        Instance Pool Anti-affinity Groups

        • id string(uuid)

          Anti-affinity Group ID

        • name string

          Anti-affinity Group name

        • description string

          Anti-affinity Group description

        • instances array[object]

          Anti-affinity Group instances

          • anti-affinity-groups array[]

            Instance Anti-affinity Groups

          • labels object

            Instance Labels

            • Additional properties: string
          • security-groups array[object]

            Instance Security Groups

            • id string(uuid)

              Security Group ID

            • name string

              Security Group name

            • description string

              Security Group description

            • rules array[object]

              Security Group rules

              • description string

                Security Group rule description

              • start-port integer(int64)

                Start port of the range

                Minimum value is 1, maximum value is 65535.

              • protocol string

                Network protocol

                Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

              • icmp object

                ICMP details

                • code integer(int64)

                  Minimum value is 0, maximum value is 254.

                • type integer(int64)

                  Minimum value is 0, maximum value is 254.

              • end-port integer(int64)

                End port of the range

                Minimum value is 1, maximum value is 65535.

              • security-group object

                Security Group

                • id Required / string(uuid)

                  Security Group ID

                • name string

                  Security Group name

              • id string(uuid)

                Security Group rule ID

              • network string

                CIDR-formatted network allowed

              • flow-direction string

                Network flow direction to match

                Values are ingress and egress.

          • elastic-ips array[object]

            Instance Elastic IPs

            • id string(uuid)

              Elastic IP ID

            • ip string(ipv4)

              Elastic IP address

            • description string

              Elastic IP description

            • healthcheck object

              Elastic IP address healthcheck

              • strikes-ok integer(int64)

                Number of attempts before considering the target healthy (default: 2)

                Minimum value is 1, maximum value is 20.

              • tls-skip-verify boolean

                Skip TLS verification

              • tls-sni string

                SNI domain for HTTPS healthchecks

              • strikes-fail integer(int64)

                Number of attempts before considering the target unhealthy (default: 3)

                Minimum value is 1, maximum value is 20.

              • mode Required / string

                Healthcheck mode

                Values are tcp, http, and https.

              • port Required / integer(int64)

                Healthcheck port

                Minimum value is 1, maximum value is 65535.

              • uri string

                Healthcheck URI

              • interval integer(int64)

                Interval between the checks (default: 10)

                Minimum value is 5, maximum value is 300.

              • timeout integer(int64)

                Healthcheck timeout value (default: 2)

                Minimum value is 2, maximum value is 60.

          • name string

            Instance name

          • instance-type object

            Compute instance type

            • id string(uuid)

              Instance type ID

            • size string

              Instance type size

              Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

            • family string

              Instance type family

              Values are gpu2, gpu, memory, storage, standard, and cpu.

            • cpus integer(int64)

              CPU count

              Minimum value is 0.

            • gpus integer(int64)

              GPU count

              Minimum value is 0.

            • authorized boolean

              Requires authorization or publicly available

            • memory integer(int64)

              Available memory

              Minimum value is 0.

          • private-networks array[object]

            Instance Private Networks

            • id string(uuid)

              Private Network ID

            • name string

              Private Network name

            • description string

              Private Network description

            • netmask string(ipv4)

              Private Network netmask

            • start-ip string(ipv4)

              Private Network start IP address

            • end-ip string(ipv4)

              Private Network end IP address

            • leases array[object]

              Private Network leased IP addresses

              • ip string(ipv4)

                Private Network IP address

              • instance-id string(uuid)

                Attached instance ID

          • template object

            Instance template

            • maintainer string

              Template maintainer

            • description string

              Template description

            • ssh-key-enabled boolean

              Enable SSH key based login

            • family string

              Template family

            • name string

              Template name

            • default-user string

              Template default user

            • size integer(int64)

              Template size

              Minimum value is 0.

            • password-enabled boolean

              Enable password based login

            • build string

              Template build

            • checksum string

              Template MD5 checksum

            • boot-mode string

              Boot mode (default: legacy)

              Values are legacy and uefi.

            • id string(uuid)

              Template ID

            • url string

              Template source URL

            • version string

              Template version

            • created-at string(date-time)

              Template creation date

            • visibility string

              Template visibility

              Values are private and public.

          • state string

            Instance state

            Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

          • ssh-key object

            SSH key

            • name string

              SSH key name

            • fingerprint string

              SSH key fingerprint

          • user-data string

            Instance Cloud-init user-data

          • manager object

            Resource manager

            • id string(uuid)

              Manager ID

            • type string

              Manager type

              Values are sks-nodepool and instance-pool.

          • ipv6-address string

            Instance IPv6 address

          • id string(uuid)

            Instance ID

          • snapshots array[object]

            Instance Snapshots

            • id string(uuid)

              Snapshot ID

            • name string

              Snapshot name

            • created-at string(date-time)

              Snapshot creation date

            • state string

              Snapshot state

              Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

            • export object

              Exported snapshot information

              • presigned-url string

                Exported snapshot disk file pre-signed URL

              • md5sum string

                Exported snapshot disk file MD5 checksum

          • disk-size integer(int64)

            Instance disk size in GB

            Minimum value is 10, maximum value is 50000.

          • created-at string(date-time)

            Instance creation date

          • public-ip string(ipv4)

            Instance public IPv4 address

      • description string

        Instance Pool description

      • labels object

        Instance Labels

        • Additional properties: string
      • security-groups array[object]

        Instance Pool Security Groups

        • id string(uuid)

          Security Group ID

        • name string

          Security Group name

        • description string

          Security Group description

        • rules array[object]

          Security Group rules

          • description string

            Security Group rule description

          • start-port integer(int64)

            Start port of the range

            Minimum value is 1, maximum value is 65535.

          • protocol string

            Network protocol

            Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

          • icmp object

            ICMP details

            • code integer(int64)

              Minimum value is 0, maximum value is 254.

            • type integer(int64)

              Minimum value is 0, maximum value is 254.

          • end-port integer(int64)

            End port of the range

            Minimum value is 1, maximum value is 65535.

          • security-group object

            Security Group

            • id Required / string(uuid)

              Security Group ID

            • name string

              Security Group name

          • id string(uuid)

            Security Group rule ID

          • network string

            CIDR-formatted network allowed

          • flow-direction string

            Network flow direction to match

            Values are ingress and egress.

      • elastic-ips array[object]

        Instances Elastic IPs

        • id string(uuid)

          Elastic IP ID

        • ip string(ipv4)

          Elastic IP address

        • description string

          Elastic IP description

        • healthcheck object

          Elastic IP address healthcheck

          • strikes-ok integer(int64)

            Number of attempts before considering the target healthy (default: 2)

            Minimum value is 1, maximum value is 20.

          • tls-skip-verify boolean

            Skip TLS verification

          • tls-sni string

            SNI domain for HTTPS healthchecks

          • strikes-fail integer(int64)

            Number of attempts before considering the target unhealthy (default: 3)

            Minimum value is 1, maximum value is 20.

          • mode Required / string

            Healthcheck mode

            Values are tcp, http, and https.

          • port Required / integer(int64)

            Healthcheck port

            Minimum value is 1, maximum value is 65535.

          • uri string

            Healthcheck URI

          • interval integer(int64)

            Interval between the checks (default: 10)

            Minimum value is 5, maximum value is 300.

          • timeout integer(int64)

            Healthcheck timeout value (default: 2)

            Minimum value is 2, maximum value is 60.

      • name string

        Instance Pool name

      • instance-type object

        Compute instance type

        • id string(uuid)

          Instance type ID

        • size string

          Instance type size

          Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

        • family string

          Instance type family

          Values are gpu2, gpu, memory, storage, standard, and cpu.

        • cpus integer(int64)

          CPU count

          Minimum value is 0.

        • gpus integer(int64)

          GPU count

          Minimum value is 0.

        • authorized boolean

          Requires authorization or publicly available

        • memory integer(int64)

          Available memory

          Minimum value is 0.

      • private-networks array[object]

        Instance Pool Private Networks

        • id string(uuid)

          Private Network ID

        • name string

          Private Network name

        • description string

          Private Network description

        • netmask string(ipv4)

          Private Network netmask

        • start-ip string(ipv4)

          Private Network start IP address

        • end-ip string(ipv4)

          Private Network end IP address

        • leases array[object]

          Private Network leased IP addresses

          • ip string(ipv4)

            Private Network IP address

          • instance-id string(uuid)

            Attached instance ID

      • template object

        Instance template

        • maintainer string

          Template maintainer

        • description string

          Template description

        • ssh-key-enabled boolean

          Enable SSH key based login

        • family string

          Template family

        • name string

          Template name

        • default-user string

          Template default user

        • size integer(int64)

          Template size

          Minimum value is 0.

        • password-enabled boolean

          Enable password based login

        • build string

          Template build

        • checksum string

          Template MD5 checksum

        • boot-mode string

          Boot mode (default: legacy)

          Values are legacy and uefi.

        • id string(uuid)

          Template ID

        • url string

          Template source URL

        • version string

          Template version

        • created-at string(date-time)

          Template creation date

        • visibility string

          Template visibility

          Values are private and public.

      • state string

        Instance Pool state

        Values are scaling-up, scaling-down, destroying, creating, and running.

      • size integer(int64)

        Number of instances

        Minimum value is 0.

      • ssh-key object

        SSH key

        • name string

          SSH key name

        • fingerprint string

          SSH key fingerprint

      • instance-prefix string

        The instances created by the Instance Pool will be prefixed with this value (default: pool)

      • user-data string

        Instances Cloud-init user-data

      • manager object

        Resource manager

        • id string(uuid)

          Manager ID

        • type string

          Manager type

          Values are sks-nodepool and instance-pool.

      • instances array[object]

        Instances

        • anti-affinity-groups array[]

          Instance Anti-affinity Groups

        • labels object

          Instance Labels

          • Additional properties: string
        • security-groups array[object]

          Instance Security Groups

          • id string(uuid)

            Security Group ID

          • name string

            Security Group name

          • description string

            Security Group description

          • rules array[object]

            Security Group rules

            • description string

              Security Group rule description

            • start-port integer(int64)

              Start port of the range

              Minimum value is 1, maximum value is 65535.

            • protocol string

              Network protocol

              Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

            • icmp object

              ICMP details

              • code integer(int64)

                Minimum value is 0, maximum value is 254.

              • type integer(int64)

                Minimum value is 0, maximum value is 254.

            • end-port integer(int64)

              End port of the range

              Minimum value is 1, maximum value is 65535.

            • security-group object

              Security Group

              • id Required / string(uuid)

                Security Group ID

              • name string

                Security Group name

            • id string(uuid)

              Security Group rule ID

            • network string

              CIDR-formatted network allowed

            • flow-direction string

              Network flow direction to match

              Values are ingress and egress.

        • elastic-ips array[object]

          Instance Elastic IPs

          • id string(uuid)

            Elastic IP ID

          • ip string(ipv4)

            Elastic IP address

          • description string

            Elastic IP description

          • healthcheck object

            Elastic IP address healthcheck

            • strikes-ok integer(int64)

              Number of attempts before considering the target healthy (default: 2)

              Minimum value is 1, maximum value is 20.

            • tls-skip-verify boolean

              Skip TLS verification

            • tls-sni string

              SNI domain for HTTPS healthchecks

            • strikes-fail integer(int64)

              Number of attempts before considering the target unhealthy (default: 3)

              Minimum value is 1, maximum value is 20.

            • mode Required / string

              Healthcheck mode

              Values are tcp, http, and https.

            • port Required / integer(int64)

              Healthcheck port

              Minimum value is 1, maximum value is 65535.

            • uri string

              Healthcheck URI

            • interval integer(int64)

              Interval between the checks (default: 10)

              Minimum value is 5, maximum value is 300.

            • timeout integer(int64)

              Healthcheck timeout value (default: 2)

              Minimum value is 2, maximum value is 60.

        • name string

          Instance name

        • instance-type object

          Compute instance type

          • id string(uuid)

            Instance type ID

          • size string

            Instance type size

            Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

          • family string

            Instance type family

            Values are gpu2, gpu, memory, storage, standard, and cpu.

          • cpus integer(int64)

            CPU count

            Minimum value is 0.

          • gpus integer(int64)

            GPU count

            Minimum value is 0.

          • authorized boolean

            Requires authorization or publicly available

          • memory integer(int64)

            Available memory

            Minimum value is 0.

        • private-networks array[object]

          Instance Private Networks

          • id string(uuid)

            Private Network ID

          • name string

            Private Network name

          • description string

            Private Network description

          • netmask string(ipv4)

            Private Network netmask

          • start-ip string(ipv4)

            Private Network start IP address

          • end-ip string(ipv4)

            Private Network end IP address

          • leases array[object]

            Private Network leased IP addresses

            • ip string(ipv4)

              Private Network IP address

            • instance-id string(uuid)

              Attached instance ID

        • template object

          Instance template

          • maintainer string

            Template maintainer

          • description string

            Template description

          • ssh-key-enabled boolean

            Enable SSH key based login

          • family string

            Template family

          • name string

            Template name

          • default-user string

            Template default user

          • size integer(int64)

            Template size

            Minimum value is 0.

          • password-enabled boolean

            Enable password based login

          • build string

            Template build

          • checksum string

            Template MD5 checksum

          • boot-mode string

            Boot mode (default: legacy)

            Values are legacy and uefi.

          • id string(uuid)

            Template ID

          • url string

            Template source URL

          • version string

            Template version

          • created-at string(date-time)

            Template creation date

          • visibility string

            Template visibility

            Values are private and public.

        • state string

          Instance state

          Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

        • ssh-key object

          SSH key

          • name string

            SSH key name

          • fingerprint string

            SSH key fingerprint

        • user-data string

          Instance Cloud-init user-data

        • manager object

          Resource manager

          • id string(uuid)

            Manager ID

          • type string

            Manager type

            Values are sks-nodepool and instance-pool.

        • ipv6-address string

          Instance IPv6 address

        • id string(uuid)

          Instance ID

        • snapshots array[object]

          Instance Snapshots

          • id string(uuid)

            Snapshot ID

          • name string

            Snapshot name

          • created-at string(date-time)

            Snapshot creation date

          • state string

            Snapshot state

            Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

          • export object

            Exported snapshot information

            • presigned-url string

              Exported snapshot disk file pre-signed URL

            • md5sum string

              Exported snapshot disk file MD5 checksum

        • disk-size integer(int64)

          Instance disk size in GB

          Minimum value is 10, maximum value is 50000.

        • created-at string(date-time)

          Instance creation date

        • public-ip string(ipv4)

          Instance public IPv4 address

      • deploy-target object

        Deploy target

        • id string(uuid)

          Deploy Target ID

        • name string

          Deploy Target name

        • type string

          Deploy Target type

          Values are edge and dedicated.

        • description string

          Deploy Target description

      • ipv6-enabled boolean

        Enable IPv6 for instances

      • id string(uuid)

        Instance Pool ID

      • disk-size integer(int64)

        Instances disk size in GB

        Minimum value is 10, maximum value is 50000.

    • strategy string

      Load balancing strategy

      Values are round-robin and source-hash.

    • healthcheck object

      Load Balancer Service healthcheck

      • mode string

        Healthcheck mode

        Values are tcp, http, and https.

      • interval integer(int64)

        Healthcheck interval (default: 10)

        Minimum value is 5, maximum value is 300.

      • uri string

        Healthcheck URI

      • port integer(int64)

        Healthcheck port

        Minimum value is 1, maximum value is 65535.

      • timeout integer(int64)

        Healthcheck timeout value (default: 2)

        Minimum value is 2, maximum value is 60.

      • retries integer(int64)

        Number of retries before considering a Service failed

        Minimum value is 1, maximum value is 20.

      • tls-sni string

        SNI domain for HTTPS healthchecks

    • id string(uuid)

      Load Balancer Service ID

    • healthcheck-status array[object]

      Healthcheck status per backend server

      • public-ip string(ipv4)

        Backend server public IP

      • status string

        Status of the instance's healthcheck

        Values are failure and success.

Definition
GET https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/service/{service-id}
cURL example
curl \ -X GET https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/service/{service-id}
Response example (200)
{ "description": "string", "protocol": "tcp", "name": "string", "state": "creating", "target-port": 42, "port": 42, "instance-pool": { "anti-affinity-groups": [ { "id": "string", "name": "string", "description": "string", "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ] } ], "description": "string", "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "scaling-up", "size": 42, "ssh-key": { "name": "string", "fingerprint": "string" }, "instance-prefix": "string", "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ], "deploy-target": { "id": "string", "name": "string", "type": "edge", "description": "string" }, "ipv6-enabled": true, "id": "string", "disk-size": 42 }, "strategy": "round-robin", "healthcheck": { "mode": "tcp", "interval": 42, "uri": "string", "port": 42, "timeout": 42, "retries": 42, "tls-sni": "string" }, "id": "string", "healthcheck-status": [ { "public-ip": "string", "status": "failure" } ] }

Update a Load Balancer Service

Path parameters
  • id Required / string(uuid)
  • service-id Required / string(uuid)
Body
  • name string

    Load Balancer Service name

  • description string

    Load Balancer Service description

  • protocol string

    Network traffic protocol

    Values are tcp and udp.

  • strategy string

    Load balancing strategy

    Values are round-robin and source-hash.

  • port integer(int64)

    Port exposed on the Load Balancer's public IP

    Minimum value is 0.

  • target-port integer(int64)

    Port on which the network traffic will be forwarded to on the receiving instance

    Minimum value is 0.

  • healthcheck object

    Load Balancer Service healthcheck

    • mode string

      Healthcheck mode

      Values are tcp, http, and https.

    • interval integer(int64)

      Healthcheck interval (default: 10)

      Minimum value is 5, maximum value is 300.

    • uri string

      Healthcheck URI

    • port integer(int64)

      Healthcheck port

      Minimum value is 1, maximum value is 65535.

    • timeout integer(int64)

      Healthcheck timeout value (default: 2)

      Minimum value is 2, maximum value is 60.

    • retries integer(int64)

      Number of retries before considering a Service failed

      Minimum value is 1, maximum value is 20.

    • tls-sni string

      SNI domain for HTTPS healthchecks

Responses
  • 200 object

    200

    • id string(uuid)

      Operation ID

    • reason string

      Operation failure reason

      Values are incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, and conflict.

    • reference object

      Resource reference

      • id string(uuid)

        Reference ID

      • link string

        Link to the referenced resource

      • command string

        Command name

    • message string

      Operation message

    • state string

      Operation status

      Values are failure, pending, success, and timeout.

Definition
PUT https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/service/{service-id}
cURL example
curl \ -X PUT https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/service/{service-id} \ -H "Content-Type: application/json" \ -d '{"name":"string","description":"string","protocol":"tcp","strategy":"round-robin","port":42,"target-port":42,"healthcheck":{"mode":"tcp","interval":42,"uri":"string","port":42,"timeout":42,"retries":42,"tls-sni":"string"}}'
Request payload example
{ "name": "string", "description": "string", "protocol": "tcp", "strategy": "round-robin", "port": 42, "target-port": 42, "healthcheck": { "mode": "tcp", "interval": 42, "uri": "string", "port": 42, "timeout": 42, "retries": 42, "tls-sni": "string" } }
Response example (200)
{ "id": "string", "reason": "incorrect", "reference": { "id": "string", "link": "string", "command": "string" }, "message": "string", "state": "failure" }

Delete a Load Balancer Service

Path parameters
  • id Required / string(uuid)
  • service-id Required / string(uuid)
Responses
  • 200 object

    200

    • id string(uuid)

      Operation ID

    • reason string

      Operation failure reason

      Values are incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, and conflict.

    • reference object

      Resource reference

      • id string(uuid)

        Reference ID

      • link string

        Link to the referenced resource

      • command string

        Command name

    • message string

      Operation message

    • state string

      Operation status

      Values are failure, pending, success, and timeout.

Definition
DELETE https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/service/{service-id}
cURL example
curl \ -X DELETE https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/service/{service-id}
Response example (200)
{ "id": "string", "reason": "incorrect", "reference": { "id": "string", "link": "string", "command": "string" }, "message": "string", "state": "failure" }

List Load Balancers

Responses
  • 200 object

    200

    • load-balancers array[object]
      • id string(uuid)

        Load Balancer ID

      • description string

        Load Balancer description

      • name string

        Load Balancer name

      • state string

        Load Balancer state

        Values are creating, deleting, running, and error.

      • created-at string(date-time)

        Load Balancer creation date

      • ip string(ipv4)

        Load Balancer public IP

      • services array[object]

        Load Balancer Services

        • description string

          Load Balancer Service description

        • protocol string

          Network traffic protocol

          Values are tcp and udp.

        • name string

          Load Balancer Service name

        • state string

          Load Balancer Service state

          Values are creating, deleting, running, updating, and error.

        • target-port integer(int64)

          Port on which the network traffic will be forwarded to on the receiving instance

          Minimum value is 0.

        • port integer(int64)

          Port exposed on the Load Balancer's public IP

          Minimum value is 0.

        • instance-pool object

          Instance Pool

          • anti-affinity-groups array[object]

            Instance Pool Anti-affinity Groups

            • id string(uuid)

              Anti-affinity Group ID

            • name string

              Anti-affinity Group name

            • description string

              Anti-affinity Group description

            • instances array[object]

              Anti-affinity Group instances

              • anti-affinity-groups array[]

                Instance Anti-affinity Groups

              • labels object

                Instance Labels

                • Additional properties: string
              • security-groups array[object]

                Instance Security Groups

                • id string(uuid)

                  Security Group ID

                • name string

                  Security Group name

                • description string

                  Security Group description

                • rules array[object]

                  Security Group rules

                  • description string

                    Security Group rule description

                  • start-port integer(int64)

                    Start port of the range

                    Minimum value is 1, maximum value is 65535.

                  • protocol string

                    Network protocol

                    Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

                  • icmp object

                    ICMP details

                    • code integer(int64)

                      Minimum value is 0, maximum value is 254.

                    • type integer(int64)

                      Minimum value is 0, maximum value is 254.

                  • end-port integer(int64)

                    End port of the range

                    Minimum value is 1, maximum value is 65535.

                  • security-group object

                    Security Group

                    • id Required / string(uuid)

                      Security Group ID

                    • name string

                      Security Group name

                  • id string(uuid)

                    Security Group rule ID

                  • network string

                    CIDR-formatted network allowed

                  • flow-direction string

                    Network flow direction to match

                    Values are ingress and egress.

              • elastic-ips array[object]

                Instance Elastic IPs

                • id string(uuid)

                  Elastic IP ID

                • ip string(ipv4)

                  Elastic IP address

                • description string

                  Elastic IP description

                • healthcheck object

                  Elastic IP address healthcheck

                  • strikes-ok integer(int64)

                    Number of attempts before considering the target healthy (default: 2)

                    Minimum value is 1, maximum value is 20.

                  • tls-skip-verify boolean

                    Skip TLS verification

                  • tls-sni string

                    SNI domain for HTTPS healthchecks

                  • strikes-fail integer(int64)

                    Number of attempts before considering the target unhealthy (default: 3)

                    Minimum value is 1, maximum value is 20.

                  • mode Required / string

                    Healthcheck mode

                    Values are tcp, http, and https.

                  • port Required / integer(int64)

                    Healthcheck port

                    Minimum value is 1, maximum value is 65535.

                  • uri string

                    Healthcheck URI

                  • interval integer(int64)

                    Interval between the checks (default: 10)

                    Minimum value is 5, maximum value is 300.

                  • timeout integer(int64)

                    Healthcheck timeout value (default: 2)

                    Minimum value is 2, maximum value is 60.

              • name string

                Instance name

              • instance-type object

                Compute instance type

                • id string(uuid)

                  Instance type ID

                • size string

                  Instance type size

                  Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

                • family string

                  Instance type family

                  Values are gpu2, gpu, memory, storage, standard, and cpu.

                • cpus integer(int64)

                  CPU count

                  Minimum value is 0.

                • gpus integer(int64)

                  GPU count

                  Minimum value is 0.

                • authorized boolean

                  Requires authorization or publicly available

                • memory integer(int64)

                  Available memory

                  Minimum value is 0.

              • private-networks array[object]

                Instance Private Networks

                • id string(uuid)

                  Private Network ID

                • name string

                  Private Network name

                • description string

                  Private Network description

                • netmask string(ipv4)

                  Private Network netmask

                • start-ip string(ipv4)

                  Private Network start IP address

                • end-ip string(ipv4)

                  Private Network end IP address

                • leases array[object]

                  Private Network leased IP addresses

                  • ip string(ipv4)

                    Private Network IP address

                  • instance-id string(uuid)

                    Attached instance ID

              • template object

                Instance template

                • maintainer string

                  Template maintainer

                • description string

                  Template description

                • ssh-key-enabled boolean

                  Enable SSH key based login

                • family string

                  Template family

                • name string

                  Template name

                • default-user string

                  Template default user

                • size integer(int64)

                  Template size

                  Minimum value is 0.

                • password-enabled boolean

                  Enable password based login

                • build string

                  Template build

                • checksum string

                  Template MD5 checksum

                • boot-mode string

                  Boot mode (default: legacy)

                  Values are legacy and uefi.

                • id string(uuid)

                  Template ID

                • url string

                  Template source URL

                • version string

                  Template version

                • created-at string(date-time)

                  Template creation date

                • visibility string

                  Template visibility

                  Values are private and public.

              • state string

                Instance state

                Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

              • ssh-key object

                SSH key

                • name string

                  SSH key name

                • fingerprint string

                  SSH key fingerprint

              • user-data string

                Instance Cloud-init user-data

              • manager object

                Resource manager

                • id string(uuid)

                  Manager ID

                • type string

                  Manager type

                  Values are sks-nodepool and instance-pool.

              • ipv6-address string

                Instance IPv6 address

              • id string(uuid)

                Instance ID

              • snapshots array[object]

                Instance Snapshots

                • id string(uuid)

                  Snapshot ID

                • name string

                  Snapshot name

                • created-at string(date-time)

                  Snapshot creation date

                • state string

                  Snapshot state

                  Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

                • export object

                  Exported snapshot information

                  • presigned-url string

                    Exported snapshot disk file pre-signed URL

                  • md5sum string

                    Exported snapshot disk file MD5 checksum

              • disk-size integer(int64)

                Instance disk size in GB

                Minimum value is 10, maximum value is 50000.

              • created-at string(date-time)

                Instance creation date

              • public-ip string(ipv4)

                Instance public IPv4 address

          • description string

            Instance Pool description

          • labels object

            Instance Labels

            • Additional properties: string
          • security-groups array[object]

            Instance Pool Security Groups

            • id string(uuid)

              Security Group ID

            • name string

              Security Group name

            • description string

              Security Group description

            • rules array[object]

              Security Group rules

              • description string

                Security Group rule description

              • start-port integer(int64)

                Start port of the range

                Minimum value is 1, maximum value is 65535.

              • protocol string

                Network protocol

                Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

              • icmp object

                ICMP details

                • code integer(int64)

                  Minimum value is 0, maximum value is 254.

                • type integer(int64)

                  Minimum value is 0, maximum value is 254.

              • end-port integer(int64)

                End port of the range

                Minimum value is 1, maximum value is 65535.

              • security-group object

                Security Group

                • id Required / string(uuid)

                  Security Group ID

                • name string

                  Security Group name

              • id string(uuid)

                Security Group rule ID

              • network string

                CIDR-formatted network allowed

              • flow-direction string

                Network flow direction to match

                Values are ingress and egress.

          • elastic-ips array[object]

            Instances Elastic IPs

            • id string(uuid)

              Elastic IP ID

            • ip string(ipv4)

              Elastic IP address

            • description string

              Elastic IP description

            • healthcheck object

              Elastic IP address healthcheck

              • strikes-ok integer(int64)

                Number of attempts before considering the target healthy (default: 2)

                Minimum value is 1, maximum value is 20.

              • tls-skip-verify boolean

                Skip TLS verification

              • tls-sni string

                SNI domain for HTTPS healthchecks

              • strikes-fail integer(int64)

                Number of attempts before considering the target unhealthy (default: 3)

                Minimum value is 1, maximum value is 20.

              • mode Required / string

                Healthcheck mode

                Values are tcp, http, and https.

              • port Required / integer(int64)

                Healthcheck port

                Minimum value is 1, maximum value is 65535.

              • uri string

                Healthcheck URI

              • interval integer(int64)

                Interval between the checks (default: 10)

                Minimum value is 5, maximum value is 300.

              • timeout integer(int64)

                Healthcheck timeout value (default: 2)

                Minimum value is 2, maximum value is 60.

          • name string

            Instance Pool name

          • instance-type object

            Compute instance type

            • id string(uuid)

              Instance type ID

            • size string

              Instance type size

              Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

            • family string

              Instance type family

              Values are gpu2, gpu, memory, storage, standard, and cpu.

            • cpus integer(int64)

              CPU count

              Minimum value is 0.

            • gpus integer(int64)

              GPU count

              Minimum value is 0.

            • authorized boolean

              Requires authorization or publicly available

            • memory integer(int64)

              Available memory

              Minimum value is 0.

          • private-networks array[object]

            Instance Pool Private Networks

            • id string(uuid)

              Private Network ID

            • name string

              Private Network name

            • description string

              Private Network description

            • netmask string(ipv4)

              Private Network netmask

            • start-ip string(ipv4)

              Private Network start IP address

            • end-ip string(ipv4)

              Private Network end IP address

            • leases array[object]

              Private Network leased IP addresses

              • ip string(ipv4)

                Private Network IP address

              • instance-id string(uuid)

                Attached instance ID

          • template object

            Instance template

            • maintainer string

              Template maintainer

            • description string

              Template description

            • ssh-key-enabled boolean

              Enable SSH key based login

            • family string

              Template family

            • name string

              Template name

            • default-user string

              Template default user

            • size integer(int64)

              Template size

              Minimum value is 0.

            • password-enabled boolean

              Enable password based login

            • build string

              Template build

            • checksum string

              Template MD5 checksum

            • boot-mode string

              Boot mode (default: legacy)

              Values are legacy and uefi.

            • id string(uuid)

              Template ID

            • url string

              Template source URL

            • version string

              Template version

            • created-at string(date-time)

              Template creation date

            • visibility string

              Template visibility

              Values are private and public.

          • state string

            Instance Pool state

            Values are scaling-up, scaling-down, destroying, creating, and running.

          • size integer(int64)

            Number of instances

            Minimum value is 0.

          • ssh-key object

            SSH key

            • name string

              SSH key name

            • fingerprint string

              SSH key fingerprint

          • instance-prefix string

            The instances created by the Instance Pool will be prefixed with this value (default: pool)

          • user-data string

            Instances Cloud-init user-data

          • manager object

            Resource manager

            • id string(uuid)

              Manager ID

            • type string

              Manager type

              Values are sks-nodepool and instance-pool.

          • instances array[object]

            Instances

            • anti-affinity-groups array[]

              Instance Anti-affinity Groups

            • labels object

              Instance Labels

              • Additional properties: string
            • security-groups array[object]

              Instance Security Groups

              • id string(uuid)

                Security Group ID

              • name string

                Security Group name

              • description string

                Security Group description

              • rules array[object]

                Security Group rules

                • description string

                  Security Group rule description

                • start-port integer(int64)

                  Start port of the range

                  Minimum value is 1, maximum value is 65535.

                • protocol string

                  Network protocol

                  Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

                • icmp object

                  ICMP details

                  • code integer(int64)

                    Minimum value is 0, maximum value is 254.

                  • type integer(int64)

                    Minimum value is 0, maximum value is 254.

                • end-port integer(int64)

                  End port of the range

                  Minimum value is 1, maximum value is 65535.

                • security-group object

                  Security Group

                  • id Required / string(uuid)

                    Security Group ID

                  • name string

                    Security Group name

                • id string(uuid)

                  Security Group rule ID

                • network string

                  CIDR-formatted network allowed

                • flow-direction string

                  Network flow direction to match

                  Values are ingress and egress.

            • elastic-ips array[object]

              Instance Elastic IPs

              • id string(uuid)

                Elastic IP ID

              • ip string(ipv4)

                Elastic IP address

              • description string

                Elastic IP description

              • healthcheck object

                Elastic IP address healthcheck

                • strikes-ok integer(int64)

                  Number of attempts before considering the target healthy (default: 2)

                  Minimum value is 1, maximum value is 20.

                • tls-skip-verify boolean

                  Skip TLS verification

                • tls-sni string

                  SNI domain for HTTPS healthchecks

                • strikes-fail integer(int64)

                  Number of attempts before considering the target unhealthy (default: 3)

                  Minimum value is 1, maximum value is 20.

                • mode Required / string

                  Healthcheck mode

                  Values are tcp, http, and https.

                • port Required / integer(int64)

                  Healthcheck port

                  Minimum value is 1, maximum value is 65535.

                • uri string

                  Healthcheck URI

                • interval integer(int64)

                  Interval between the checks (default: 10)

                  Minimum value is 5, maximum value is 300.

                • timeout integer(int64)

                  Healthcheck timeout value (default: 2)

                  Minimum value is 2, maximum value is 60.

            • name string

              Instance name

            • instance-type object

              Compute instance type

              • id string(uuid)

                Instance type ID

              • size string

                Instance type size

                Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

              • family string

                Instance type family

                Values are gpu2, gpu, memory, storage, standard, and cpu.

              • cpus integer(int64)

                CPU count

                Minimum value is 0.

              • gpus integer(int64)

                GPU count

                Minimum value is 0.

              • authorized boolean

                Requires authorization or publicly available

              • memory integer(int64)

                Available memory

                Minimum value is 0.

            • private-networks array[object]

              Instance Private Networks

              • id string(uuid)

                Private Network ID

              • name string

                Private Network name

              • description string

                Private Network description

              • netmask string(ipv4)

                Private Network netmask

              • start-ip string(ipv4)

                Private Network start IP address

              • end-ip string(ipv4)

                Private Network end IP address

              • leases array[object]

                Private Network leased IP addresses

                • ip string(ipv4)

                  Private Network IP address

                • instance-id string(uuid)

                  Attached instance ID

            • template object

              Instance template

              • maintainer string

                Template maintainer

              • description string

                Template description

              • ssh-key-enabled boolean

                Enable SSH key based login

              • family string

                Template family

              • name string

                Template name

              • default-user string

                Template default user

              • size integer(int64)

                Template size

                Minimum value is 0.

              • password-enabled boolean

                Enable password based login

              • build string

                Template build

              • checksum string

                Template MD5 checksum

              • boot-mode string

                Boot mode (default: legacy)

                Values are legacy and uefi.

              • id string(uuid)

                Template ID

              • url string

                Template source URL

              • version string

                Template version

              • created-at string(date-time)

                Template creation date

              • visibility string

                Template visibility

                Values are private and public.

            • state string

              Instance state

              Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

            • ssh-key object

              SSH key

              • name string

                SSH key name

              • fingerprint string

                SSH key fingerprint

            • user-data string

              Instance Cloud-init user-data

            • manager object

              Resource manager

              • id string(uuid)

                Manager ID

              • type string

                Manager type

                Values are sks-nodepool and instance-pool.

            • ipv6-address string

              Instance IPv6 address

            • id string(uuid)

              Instance ID

            • snapshots array[object]

              Instance Snapshots

              • id string(uuid)

                Snapshot ID

              • name string

                Snapshot name

              • created-at string(date-time)

                Snapshot creation date

              • state string

                Snapshot state

                Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

              • export object

                Exported snapshot information

                • presigned-url string

                  Exported snapshot disk file pre-signed URL

                • md5sum string

                  Exported snapshot disk file MD5 checksum

            • disk-size integer(int64)

              Instance disk size in GB

              Minimum value is 10, maximum value is 50000.

            • created-at string(date-time)

              Instance creation date

            • public-ip string(ipv4)

              Instance public IPv4 address

          • deploy-target object

            Deploy target

            • id string(uuid)

              Deploy Target ID

            • name string

              Deploy Target name

            • type string

              Deploy Target type

              Values are edge and dedicated.

            • description string

              Deploy Target description

          • ipv6-enabled boolean

            Enable IPv6 for instances

          • id string(uuid)

            Instance Pool ID

          • disk-size integer(int64)

            Instances disk size in GB

            Minimum value is 10, maximum value is 50000.

        • strategy string

          Load balancing strategy

          Values are round-robin and source-hash.

        • healthcheck object

          Load Balancer Service healthcheck

          • mode string

            Healthcheck mode

            Values are tcp, http, and https.

          • interval integer(int64)

            Healthcheck interval (default: 10)

            Minimum value is 5, maximum value is 300.

          • uri string

            Healthcheck URI

          • port integer(int64)

            Healthcheck port

            Minimum value is 1, maximum value is 65535.

          • timeout integer(int64)

            Healthcheck timeout value (default: 2)

            Minimum value is 2, maximum value is 60.

          • retries integer(int64)

            Number of retries before considering a Service failed

            Minimum value is 1, maximum value is 20.

          • tls-sni string

            SNI domain for HTTPS healthchecks

        • id string(uuid)

          Load Balancer Service ID

        • healthcheck-status array[object]

          Healthcheck status per backend server

          • public-ip string(ipv4)

            Backend server public IP

          • status string

            Status of the instance's healthcheck

            Values are failure and success.

      • labels object

        Instance Labels

        • Additional properties: string
Definition
GET https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer
cURL example
curl \ -X GET https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer
Response example (200)
{ "load-balancers": [ { "id": "string", "description": "string", "name": "string", "state": "creating", "created-at": "2021-05-04T09:42:00+00:00", "ip": "string", "services": [ { "description": "string", "protocol": "tcp", "name": "string", "state": "creating", "target-port": 42, "port": 42, "instance-pool": { "anti-affinity-groups": [ { "id": "string", "name": "string", "description": "string", "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ] } ], "description": "string", "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "scaling-up", "size": 42, "ssh-key": { "name": "string", "fingerprint": "string" }, "instance-prefix": "string", "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ], "deploy-target": { "id": "string", "name": "string", "type": "edge", "description": "string" }, "ipv6-enabled": true, "id": "string", "disk-size": 42 }, "strategy": "round-robin", "healthcheck": { "mode": "tcp", "interval": 42, "uri": "string", "port": 42, "timeout": 42, "retries": 42, "tls-sni": "string" }, "id": "string", "healthcheck-status": [ { "public-ip": "string", "status": "failure" } ] } ], "labels": {} } ] }

Create a Load Balancer

Body
  • description string

    Load Balancer description

  • name Required / string

    Load Balancer name

  • labels object

    Instance Labels

    • Additional properties: string
Responses
  • 200 object

    200

    • id string(uuid)

      Operation ID

    • reason string

      Operation failure reason

      Values are incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, and conflict.

    • reference object

      Resource reference

      • id string(uuid)

        Reference ID

      • link string

        Link to the referenced resource

      • command string

        Command name

    • message string

      Operation message

    • state string

      Operation status

      Values are failure, pending, success, and timeout.

Definition
POST https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer
cURL example
curl \ -X POST https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer \ -H "Content-Type: application/json" \ -d '{"description":"string","name":"string","labels":{}}'
Request payload example
{ "description": "string", "name": "string", "labels": {} }
Response example (200)
{ "id": "string", "reason": "incorrect", "reference": { "id": "string", "link": "string", "command": "string" }, "message": "string", "state": "failure" }

Reset a Load Balancer field to its default value

Path parameters
  • id Required / string(uuid)
  • field Required / string

    Values are description and labels.

Responses
  • 200 object

    200

    • id string(uuid)

      Operation ID

    • reason string

      Operation failure reason

      Values are incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, and conflict.

    • reference object

      Resource reference

      • id string(uuid)

        Reference ID

      • link string

        Link to the referenced resource

      • command string

        Command name

    • message string

      Operation message

    • state string

      Operation status

      Values are failure, pending, success, and timeout.

Definition
DELETE https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/{field}
cURL example
curl \ -X DELETE https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/{field}
Response example (200)
{ "id": "string", "reason": "incorrect", "reference": { "id": "string", "link": "string", "command": "string" }, "message": "string", "state": "failure" }

Reset a Load Balancer Service field to its default value

Path parameters
  • id Required / string(uuid)
  • service-id Required / string(uuid)
  • field Required / string

    Values are description.

Responses
  • 200 object

    200

    • id string(uuid)

      Operation ID

    • reason string

      Operation failure reason

      Values are incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, and conflict.

    • reference object

      Resource reference

      • id string(uuid)

        Reference ID

      • link string

        Link to the referenced resource

      • command string

        Command name

    • message string

      Operation message

    • state string

      Operation status

      Values are failure, pending, success, and timeout.

Definition
DELETE https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/service/{service-id}/{field}
cURL example
curl \ -X DELETE https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/service/{service-id}/{field}
Response example (200)
{ "id": "string", "reason": "incorrect", "reference": { "id": "string", "link": "string", "command": "string" }, "message": "string", "state": "failure" }

Add a Load Balancer Service

Path parameters
  • id Required / string(uuid)
Body
  • name Required / string

    Load Balancer Service name

  • description string

    Load Balancer Service description

  • instance-pool Required / object

    Instance Pool

    • anti-affinity-groups array[object]

      Instance Pool Anti-affinity Groups

      • id string(uuid)

        Anti-affinity Group ID

      • name string

        Anti-affinity Group name

      • description string

        Anti-affinity Group description

      • instances array[object]

        Anti-affinity Group instances

        • anti-affinity-groups array[]

          Instance Anti-affinity Groups

        • labels object

          Instance Labels

          • Additional properties: string
        • security-groups array[object]

          Instance Security Groups

          • id string(uuid)

            Security Group ID

          • name string

            Security Group name

          • description string

            Security Group description

          • rules array[object]

            Security Group rules

            • description string

              Security Group rule description

            • start-port integer(int64)

              Start port of the range

              Minimum value is 1, maximum value is 65535.

            • protocol string

              Network protocol

              Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

            • icmp object

              ICMP details

              • code integer(int64)

                Minimum value is 0, maximum value is 254.

              • type integer(int64)

                Minimum value is 0, maximum value is 254.

            • end-port integer(int64)

              End port of the range

              Minimum value is 1, maximum value is 65535.

            • security-group object

              Security Group

              • id Required / string(uuid)

                Security Group ID

              • name string

                Security Group name

            • id string(uuid)

              Security Group rule ID

            • network string

              CIDR-formatted network allowed

            • flow-direction string

              Network flow direction to match

              Values are ingress and egress.

        • elastic-ips array[object]

          Instance Elastic IPs

          • id string(uuid)

            Elastic IP ID

          • ip string(ipv4)

            Elastic IP address

          • description string

            Elastic IP description

          • healthcheck object

            Elastic IP address healthcheck

            • strikes-ok integer(int64)

              Number of attempts before considering the target healthy (default: 2)

              Minimum value is 1, maximum value is 20.

            • tls-skip-verify boolean

              Skip TLS verification

            • tls-sni string

              SNI domain for HTTPS healthchecks

            • strikes-fail integer(int64)

              Number of attempts before considering the target unhealthy (default: 3)

              Minimum value is 1, maximum value is 20.

            • mode Required / string

              Healthcheck mode

              Values are tcp, http, and https.

            • port Required / integer(int64)

              Healthcheck port

              Minimum value is 1, maximum value is 65535.

            • uri string

              Healthcheck URI

            • interval integer(int64)

              Interval between the checks (default: 10)

              Minimum value is 5, maximum value is 300.

            • timeout integer(int64)

              Healthcheck timeout value (default: 2)

              Minimum value is 2, maximum value is 60.

        • name string

          Instance name

        • instance-type object

          Compute instance type

          • id string(uuid)

            Instance type ID

          • size string

            Instance type size

            Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

          • family string

            Instance type family

            Values are gpu2, gpu, memory, storage, standard, and cpu.

          • cpus integer(int64)

            CPU count

            Minimum value is 0.

          • gpus integer(int64)

            GPU count

            Minimum value is 0.

          • authorized boolean

            Requires authorization or publicly available

          • memory integer(int64)

            Available memory

            Minimum value is 0.

        • private-networks array[object]

          Instance Private Networks

          • id string(uuid)

            Private Network ID

          • name string

            Private Network name

          • description string

            Private Network description

          • netmask string(ipv4)

            Private Network netmask

          • start-ip string(ipv4)

            Private Network start IP address

          • end-ip string(ipv4)

            Private Network end IP address

          • leases array[object]

            Private Network leased IP addresses

            • ip string(ipv4)

              Private Network IP address

            • instance-id string(uuid)

              Attached instance ID

        • template object

          Instance template

          • maintainer string

            Template maintainer

          • description string

            Template description

          • ssh-key-enabled boolean

            Enable SSH key based login

          • family string

            Template family

          • name string

            Template name

          • default-user string

            Template default user

          • size integer(int64)

            Template size

            Minimum value is 0.

          • password-enabled boolean

            Enable password based login

          • build string

            Template build

          • checksum string

            Template MD5 checksum

          • boot-mode string

            Boot mode (default: legacy)

            Values are legacy and uefi.

          • id string(uuid)

            Template ID

          • url string

            Template source URL

          • version string

            Template version

          • created-at string(date-time)

            Template creation date

          • visibility string

            Template visibility

            Values are private and public.

        • state string

          Instance state

          Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

        • ssh-key object

          SSH key

          • name string

            SSH key name

          • fingerprint string

            SSH key fingerprint

        • user-data string

          Instance Cloud-init user-data

        • manager object

          Resource manager

          • id string(uuid)

            Manager ID

          • type string

            Manager type

            Values are sks-nodepool and instance-pool.

        • ipv6-address string

          Instance IPv6 address

        • id string(uuid)

          Instance ID

        • snapshots array[object]

          Instance Snapshots

          • id string(uuid)

            Snapshot ID

          • name string

            Snapshot name

          • created-at string(date-time)

            Snapshot creation date

          • state string

            Snapshot state

            Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

          • export object

            Exported snapshot information

            • presigned-url string

              Exported snapshot disk file pre-signed URL

            • md5sum string

              Exported snapshot disk file MD5 checksum

        • disk-size integer(int64)

          Instance disk size in GB

          Minimum value is 10, maximum value is 50000.

        • created-at string(date-time)

          Instance creation date

        • public-ip string(ipv4)

          Instance public IPv4 address

    • description string

      Instance Pool description

    • labels object

      Instance Labels

      • Additional properties: string
    • security-groups array[object]

      Instance Pool Security Groups

      • id string(uuid)

        Security Group ID

      • name string

        Security Group name

      • description string

        Security Group description

      • rules array[object]

        Security Group rules

        • description string

          Security Group rule description

        • start-port integer(int64)

          Start port of the range

          Minimum value is 1, maximum value is 65535.

        • protocol string

          Network protocol

          Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

        • icmp object

          ICMP details

          • code integer(int64)

            Minimum value is 0, maximum value is 254.

          • type integer(int64)

            Minimum value is 0, maximum value is 254.

        • end-port integer(int64)

          End port of the range

          Minimum value is 1, maximum value is 65535.

        • security-group object

          Security Group

          • id Required / string(uuid)

            Security Group ID

          • name string

            Security Group name

        • id string(uuid)

          Security Group rule ID

        • network string

          CIDR-formatted network allowed

        • flow-direction string

          Network flow direction to match

          Values are ingress and egress.

    • elastic-ips array[object]

      Instances Elastic IPs

      • id string(uuid)

        Elastic IP ID

      • ip string(ipv4)

        Elastic IP address

      • description string

        Elastic IP description

      • healthcheck object

        Elastic IP address healthcheck

        • strikes-ok integer(int64)

          Number of attempts before considering the target healthy (default: 2)

          Minimum value is 1, maximum value is 20.

        • tls-skip-verify boolean

          Skip TLS verification

        • tls-sni string

          SNI domain for HTTPS healthchecks

        • strikes-fail integer(int64)

          Number of attempts before considering the target unhealthy (default: 3)

          Minimum value is 1, maximum value is 20.

        • mode Required / string

          Healthcheck mode

          Values are tcp, http, and https.

        • port Required / integer(int64)

          Healthcheck port

          Minimum value is 1, maximum value is 65535.

        • uri string

          Healthcheck URI

        • interval integer(int64)

          Interval between the checks (default: 10)

          Minimum value is 5, maximum value is 300.

        • timeout integer(int64)

          Healthcheck timeout value (default: 2)

          Minimum value is 2, maximum value is 60.

    • name string

      Instance Pool name

    • instance-type object

      Compute instance type

      • id string(uuid)

        Instance type ID

      • size string

        Instance type size

        Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

      • family string

        Instance type family

        Values are gpu2, gpu, memory, storage, standard, and cpu.

      • cpus integer(int64)

        CPU count

        Minimum value is 0.

      • gpus integer(int64)

        GPU count

        Minimum value is 0.

      • authorized boolean

        Requires authorization or publicly available

      • memory integer(int64)

        Available memory

        Minimum value is 0.

    • private-networks array[object]

      Instance Pool Private Networks

      • id string(uuid)

        Private Network ID

      • name string

        Private Network name

      • description string

        Private Network description

      • netmask string(ipv4)

        Private Network netmask

      • start-ip string(ipv4)

        Private Network start IP address

      • end-ip string(ipv4)

        Private Network end IP address

      • leases array[object]

        Private Network leased IP addresses

        • ip string(ipv4)

          Private Network IP address

        • instance-id string(uuid)

          Attached instance ID

    • template object

      Instance template

      • maintainer string

        Template maintainer

      • description string

        Template description

      • ssh-key-enabled boolean

        Enable SSH key based login

      • family string

        Template family

      • name string

        Template name

      • default-user string

        Template default user

      • size integer(int64)

        Template size

        Minimum value is 0.

      • password-enabled boolean

        Enable password based login

      • build string

        Template build

      • checksum string

        Template MD5 checksum

      • boot-mode string

        Boot mode (default: legacy)

        Values are legacy and uefi.

      • id string(uuid)

        Template ID

      • url string

        Template source URL

      • version string

        Template version

      • created-at string(date-time)

        Template creation date

      • visibility string

        Template visibility

        Values are private and public.

    • state string

      Instance Pool state

      Values are scaling-up, scaling-down, destroying, creating, and running.

    • size integer(int64)

      Number of instances

      Minimum value is 0.

    • ssh-key object

      SSH key

      • name string

        SSH key name

      • fingerprint string

        SSH key fingerprint

    • instance-prefix string

      The instances created by the Instance Pool will be prefixed with this value (default: pool)

    • user-data string

      Instances Cloud-init user-data

    • manager object

      Resource manager

      • id string(uuid)

        Manager ID

      • type string

        Manager type

        Values are sks-nodepool and instance-pool.

    • instances array[object]

      Instances

      • anti-affinity-groups array[]

        Instance Anti-affinity Groups

      • labels object

        Instance Labels

        • Additional properties: string
      • security-groups array[object]

        Instance Security Groups

        • id string(uuid)

          Security Group ID

        • name string

          Security Group name

        • description string

          Security Group description

        • rules array[object]

          Security Group rules

          • description string

            Security Group rule description

          • start-port integer(int64)

            Start port of the range

            Minimum value is 1, maximum value is 65535.

          • protocol string

            Network protocol

            Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

          • icmp object

            ICMP details

            • code integer(int64)

              Minimum value is 0, maximum value is 254.

            • type integer(int64)

              Minimum value is 0, maximum value is 254.

          • end-port integer(int64)

            End port of the range

            Minimum value is 1, maximum value is 65535.

          • security-group object

            Security Group

            • id Required / string(uuid)

              Security Group ID

            • name string

              Security Group name

          • id string(uuid)

            Security Group rule ID

          • network string

            CIDR-formatted network allowed

          • flow-direction string

            Network flow direction to match

            Values are ingress and egress.

      • elastic-ips array[object]

        Instance Elastic IPs

        • id string(uuid)

          Elastic IP ID

        • ip string(ipv4)

          Elastic IP address

        • description string

          Elastic IP description

        • healthcheck object

          Elastic IP address healthcheck

          • strikes-ok integer(int64)

            Number of attempts before considering the target healthy (default: 2)

            Minimum value is 1, maximum value is 20.

          • tls-skip-verify boolean

            Skip TLS verification

          • tls-sni string

            SNI domain for HTTPS healthchecks

          • strikes-fail integer(int64)

            Number of attempts before considering the target unhealthy (default: 3)

            Minimum value is 1, maximum value is 20.

          • mode Required / string

            Healthcheck mode

            Values are tcp, http, and https.

          • port Required / integer(int64)

            Healthcheck port

            Minimum value is 1, maximum value is 65535.

          • uri string

            Healthcheck URI

          • interval integer(int64)

            Interval between the checks (default: 10)

            Minimum value is 5, maximum value is 300.

          • timeout integer(int64)

            Healthcheck timeout value (default: 2)

            Minimum value is 2, maximum value is 60.

      • name string

        Instance name

      • instance-type object

        Compute instance type

        • id string(uuid)

          Instance type ID

        • size string

          Instance type size

          Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

        • family string

          Instance type family

          Values are gpu2, gpu, memory, storage, standard, and cpu.

        • cpus integer(int64)

          CPU count

          Minimum value is 0.

        • gpus integer(int64)

          GPU count

          Minimum value is 0.

        • authorized boolean

          Requires authorization or publicly available

        • memory integer(int64)

          Available memory

          Minimum value is 0.

      • private-networks array[object]

        Instance Private Networks

        • id string(uuid)

          Private Network ID

        • name string

          Private Network name

        • description string

          Private Network description

        • netmask string(ipv4)

          Private Network netmask

        • start-ip string(ipv4)

          Private Network start IP address

        • end-ip string(ipv4)

          Private Network end IP address

        • leases array[object]

          Private Network leased IP addresses

          • ip string(ipv4)

            Private Network IP address

          • instance-id string(uuid)

            Attached instance ID

      • template object

        Instance template

        • maintainer string

          Template maintainer

        • description string

          Template description

        • ssh-key-enabled boolean

          Enable SSH key based login

        • family string

          Template family

        • name string

          Template name

        • default-user string

          Template default user

        • size integer(int64)

          Template size

          Minimum value is 0.

        • password-enabled boolean

          Enable password based login

        • build string

          Template build

        • checksum string

          Template MD5 checksum

        • boot-mode string

          Boot mode (default: legacy)

          Values are legacy and uefi.

        • id string(uuid)

          Template ID

        • url string

          Template source URL

        • version string

          Template version

        • created-at string(date-time)

          Template creation date

        • visibility string

          Template visibility

          Values are private and public.

      • state string

        Instance state

        Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

      • ssh-key object

        SSH key

        • name string

          SSH key name

        • fingerprint string

          SSH key fingerprint

      • user-data string

        Instance Cloud-init user-data

      • manager object

        Resource manager

        • id string(uuid)

          Manager ID

        • type string

          Manager type

          Values are sks-nodepool and instance-pool.

      • ipv6-address string

        Instance IPv6 address

      • id string(uuid)

        Instance ID

      • snapshots array[object]

        Instance Snapshots

        • id string(uuid)

          Snapshot ID

        • name string

          Snapshot name

        • created-at string(date-time)

          Snapshot creation date

        • state string

          Snapshot state

          Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

        • export object

          Exported snapshot information

          • presigned-url string

            Exported snapshot disk file pre-signed URL

          • md5sum string

            Exported snapshot disk file MD5 checksum

      • disk-size integer(int64)

        Instance disk size in GB

        Minimum value is 10, maximum value is 50000.

      • created-at string(date-time)

        Instance creation date

      • public-ip string(ipv4)

        Instance public IPv4 address

    • deploy-target object

      Deploy target

      • id string(uuid)

        Deploy Target ID

      • name string

        Deploy Target name

      • type string

        Deploy Target type

        Values are edge and dedicated.

      • description string

        Deploy Target description

    • ipv6-enabled boolean

      Enable IPv6 for instances

    • id string(uuid)

      Instance Pool ID

    • disk-size integer(int64)

      Instances disk size in GB

      Minimum value is 10, maximum value is 50000.

  • protocol Required / string

    Network traffic protocol

    Values are tcp and udp.

  • strategy Required / string

    Load balancing strategy

    Values are round-robin and source-hash.

  • port Required / integer(int64)

    Port exposed on the Load Balancer's public IP

    Minimum value is 0.

  • target-port Required / integer(int64)

    Port on which the network traffic will be forwarded to on the receiving instance

    Minimum value is 0.

  • healthcheck Required / object

    Load Balancer Service healthcheck

    • mode string

      Healthcheck mode

      Values are tcp, http, and https.

    • interval integer(int64)

      Healthcheck interval (default: 10)

      Minimum value is 5, maximum value is 300.

    • uri string

      Healthcheck URI

    • port integer(int64)

      Healthcheck port

      Minimum value is 1, maximum value is 65535.

    • timeout integer(int64)

      Healthcheck timeout value (default: 2)

      Minimum value is 2, maximum value is 60.

    • retries integer(int64)

      Number of retries before considering a Service failed

      Minimum value is 1, maximum value is 20.

    • tls-sni string

      SNI domain for HTTPS healthchecks

Responses
  • 200 object

    200

    • id string(uuid)

      Operation ID

    • reason string

      Operation failure reason

      Values are incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, and conflict.

    • reference object

      Resource reference

      • id string(uuid)

        Reference ID

      • link string

        Link to the referenced resource

      • command string

        Command name

    • message string

      Operation message

    • state string

      Operation status

      Values are failure, pending, success, and timeout.

Definition
POST https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/service
cURL example
curl \ -X POST https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}/service \ -H "Content-Type: application/json" \ -d '{"name":"string","description":"string","instance-pool":{"anti-affinity-groups":[{"id":"string","name":"string","description":"string","instances":[{"anti-affinity-groups":["string"],"labels":{},"security-groups":[{"id":"string","name":"string","description":"string","rules":[{"description":"string","start-port":42,"protocol":"tcp","icmp":{"code":42,"type":42},"end-port":42,"security-group":{"id":"string","name":"string"},"id":"string","network":"string","flow-direction":"ingress"}]}],"elast...}'
Request payload example
{ "name": "string", "description": "string", "instance-pool": { "anti-affinity-groups": [ { "id": "string", "name": "string", "description": "string", "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ] } ], "description": "string", "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "scaling-up", "size": 42, "ssh-key": { "name": "string", "fingerprint": "string" }, "instance-prefix": "string", "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ], "deploy-target": { "id": "string", "name": "string", "type": "edge", "description": "string" }, "ipv6-enabled": true, "id": "string", "disk-size": 42 }, "protocol": "tcp", "strategy": "round-robin", "port": 42, "target-port": 42, "healthcheck": { "mode": "tcp", "interval": 42, "uri": "string", "port": 42, "timeout": 42, "retries": 42, "tls-sni": "string" } }
Response example (200)
{ "id": "string", "reason": "incorrect", "reference": { "id": "string", "link": "string", "command": "string" }, "message": "string", "state": "failure" }

Retrieve Load Balancer details

Path parameters
  • id Required / string(uuid)
Responses
  • 200 object

    200

    • id string(uuid)

      Load Balancer ID

    • description string

      Load Balancer description

    • name string

      Load Balancer name

    • state string

      Load Balancer state

      Values are creating, deleting, running, and error.

    • created-at string(date-time)

      Load Balancer creation date

    • ip string(ipv4)

      Load Balancer public IP

    • services array[object]

      Load Balancer Services

      • description string

        Load Balancer Service description

      • protocol string

        Network traffic protocol

        Values are tcp and udp.

      • name string

        Load Balancer Service name

      • state string

        Load Balancer Service state

        Values are creating, deleting, running, updating, and error.

      • target-port integer(int64)

        Port on which the network traffic will be forwarded to on the receiving instance

        Minimum value is 0.

      • port integer(int64)

        Port exposed on the Load Balancer's public IP

        Minimum value is 0.

      • instance-pool object

        Instance Pool

        • anti-affinity-groups array[object]

          Instance Pool Anti-affinity Groups

          • id string(uuid)

            Anti-affinity Group ID

          • name string

            Anti-affinity Group name

          • description string

            Anti-affinity Group description

          • instances array[object]

            Anti-affinity Group instances

            • anti-affinity-groups array[]

              Instance Anti-affinity Groups

            • labels object

              Instance Labels

              • Additional properties: string
            • security-groups array[object]

              Instance Security Groups

              • id string(uuid)

                Security Group ID

              • name string

                Security Group name

              • description string

                Security Group description

              • rules array[object]

                Security Group rules

                • description string

                  Security Group rule description

                • start-port integer(int64)

                  Start port of the range

                  Minimum value is 1, maximum value is 65535.

                • protocol string

                  Network protocol

                  Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

                • icmp object

                  ICMP details

                  • code integer(int64)

                    Minimum value is 0, maximum value is 254.

                  • type integer(int64)

                    Minimum value is 0, maximum value is 254.

                • end-port integer(int64)

                  End port of the range

                  Minimum value is 1, maximum value is 65535.

                • security-group object

                  Security Group

                  • id Required / string(uuid)

                    Security Group ID

                  • name string

                    Security Group name

                • id string(uuid)

                  Security Group rule ID

                • network string

                  CIDR-formatted network allowed

                • flow-direction string

                  Network flow direction to match

                  Values are ingress and egress.

            • elastic-ips array[object]

              Instance Elastic IPs

              • id string(uuid)

                Elastic IP ID

              • ip string(ipv4)

                Elastic IP address

              • description string

                Elastic IP description

              • healthcheck object

                Elastic IP address healthcheck

                • strikes-ok integer(int64)

                  Number of attempts before considering the target healthy (default: 2)

                  Minimum value is 1, maximum value is 20.

                • tls-skip-verify boolean

                  Skip TLS verification

                • tls-sni string

                  SNI domain for HTTPS healthchecks

                • strikes-fail integer(int64)

                  Number of attempts before considering the target unhealthy (default: 3)

                  Minimum value is 1, maximum value is 20.

                • mode Required / string

                  Healthcheck mode

                  Values are tcp, http, and https.

                • port Required / integer(int64)

                  Healthcheck port

                  Minimum value is 1, maximum value is 65535.

                • uri string

                  Healthcheck URI

                • interval integer(int64)

                  Interval between the checks (default: 10)

                  Minimum value is 5, maximum value is 300.

                • timeout integer(int64)

                  Healthcheck timeout value (default: 2)

                  Minimum value is 2, maximum value is 60.

            • name string

              Instance name

            • instance-type object

              Compute instance type

              • id string(uuid)

                Instance type ID

              • size string

                Instance type size

                Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

              • family string

                Instance type family

                Values are gpu2, gpu, memory, storage, standard, and cpu.

              • cpus integer(int64)

                CPU count

                Minimum value is 0.

              • gpus integer(int64)

                GPU count

                Minimum value is 0.

              • authorized boolean

                Requires authorization or publicly available

              • memory integer(int64)

                Available memory

                Minimum value is 0.

            • private-networks array[object]

              Instance Private Networks

              • id string(uuid)

                Private Network ID

              • name string

                Private Network name

              • description string

                Private Network description

              • netmask string(ipv4)

                Private Network netmask

              • start-ip string(ipv4)

                Private Network start IP address

              • end-ip string(ipv4)

                Private Network end IP address

              • leases array[object]

                Private Network leased IP addresses

                • ip string(ipv4)

                  Private Network IP address

                • instance-id string(uuid)

                  Attached instance ID

            • template object

              Instance template

              • maintainer string

                Template maintainer

              • description string

                Template description

              • ssh-key-enabled boolean

                Enable SSH key based login

              • family string

                Template family

              • name string

                Template name

              • default-user string

                Template default user

              • size integer(int64)

                Template size

                Minimum value is 0.

              • password-enabled boolean

                Enable password based login

              • build string

                Template build

              • checksum string

                Template MD5 checksum

              • boot-mode string

                Boot mode (default: legacy)

                Values are legacy and uefi.

              • id string(uuid)

                Template ID

              • url string

                Template source URL

              • version string

                Template version

              • created-at string(date-time)

                Template creation date

              • visibility string

                Template visibility

                Values are private and public.

            • state string

              Instance state

              Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

            • ssh-key object

              SSH key

              • name string

                SSH key name

              • fingerprint string

                SSH key fingerprint

            • user-data string

              Instance Cloud-init user-data

            • manager object

              Resource manager

              • id string(uuid)

                Manager ID

              • type string

                Manager type

                Values are sks-nodepool and instance-pool.

            • ipv6-address string

              Instance IPv6 address

            • id string(uuid)

              Instance ID

            • snapshots array[object]

              Instance Snapshots

              • id string(uuid)

                Snapshot ID

              • name string

                Snapshot name

              • created-at string(date-time)

                Snapshot creation date

              • state string

                Snapshot state

                Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

              • export object

                Exported snapshot information

                • presigned-url string

                  Exported snapshot disk file pre-signed URL

                • md5sum string

                  Exported snapshot disk file MD5 checksum

            • disk-size integer(int64)

              Instance disk size in GB

              Minimum value is 10, maximum value is 50000.

            • created-at string(date-time)

              Instance creation date

            • public-ip string(ipv4)

              Instance public IPv4 address

        • description string

          Instance Pool description

        • labels object

          Instance Labels

          • Additional properties: string
        • security-groups array[object]

          Instance Pool Security Groups

          • id string(uuid)

            Security Group ID

          • name string

            Security Group name

          • description string

            Security Group description

          • rules array[object]

            Security Group rules

            • description string

              Security Group rule description

            • start-port integer(int64)

              Start port of the range

              Minimum value is 1, maximum value is 65535.

            • protocol string

              Network protocol

              Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

            • icmp object

              ICMP details

              • code integer(int64)

                Minimum value is 0, maximum value is 254.

              • type integer(int64)

                Minimum value is 0, maximum value is 254.

            • end-port integer(int64)

              End port of the range

              Minimum value is 1, maximum value is 65535.

            • security-group object

              Security Group

              • id Required / string(uuid)

                Security Group ID

              • name string

                Security Group name

            • id string(uuid)

              Security Group rule ID

            • network string

              CIDR-formatted network allowed

            • flow-direction string

              Network flow direction to match

              Values are ingress and egress.

        • elastic-ips array[object]

          Instances Elastic IPs

          • id string(uuid)

            Elastic IP ID

          • ip string(ipv4)

            Elastic IP address

          • description string

            Elastic IP description

          • healthcheck object

            Elastic IP address healthcheck

            • strikes-ok integer(int64)

              Number of attempts before considering the target healthy (default: 2)

              Minimum value is 1, maximum value is 20.

            • tls-skip-verify boolean

              Skip TLS verification

            • tls-sni string

              SNI domain for HTTPS healthchecks

            • strikes-fail integer(int64)

              Number of attempts before considering the target unhealthy (default: 3)

              Minimum value is 1, maximum value is 20.

            • mode Required / string

              Healthcheck mode

              Values are tcp, http, and https.

            • port Required / integer(int64)

              Healthcheck port

              Minimum value is 1, maximum value is 65535.

            • uri string

              Healthcheck URI

            • interval integer(int64)

              Interval between the checks (default: 10)

              Minimum value is 5, maximum value is 300.

            • timeout integer(int64)

              Healthcheck timeout value (default: 2)

              Minimum value is 2, maximum value is 60.

        • name string

          Instance Pool name

        • instance-type object

          Compute instance type

          • id string(uuid)

            Instance type ID

          • size string

            Instance type size

            Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

          • family string

            Instance type family

            Values are gpu2, gpu, memory, storage, standard, and cpu.

          • cpus integer(int64)

            CPU count

            Minimum value is 0.

          • gpus integer(int64)

            GPU count

            Minimum value is 0.

          • authorized boolean

            Requires authorization or publicly available

          • memory integer(int64)

            Available memory

            Minimum value is 0.

        • private-networks array[object]

          Instance Pool Private Networks

          • id string(uuid)

            Private Network ID

          • name string

            Private Network name

          • description string

            Private Network description

          • netmask string(ipv4)

            Private Network netmask

          • start-ip string(ipv4)

            Private Network start IP address

          • end-ip string(ipv4)

            Private Network end IP address

          • leases array[object]

            Private Network leased IP addresses

            • ip string(ipv4)

              Private Network IP address

            • instance-id string(uuid)

              Attached instance ID

        • template object

          Instance template

          • maintainer string

            Template maintainer

          • description string

            Template description

          • ssh-key-enabled boolean

            Enable SSH key based login

          • family string

            Template family

          • name string

            Template name

          • default-user string

            Template default user

          • size integer(int64)

            Template size

            Minimum value is 0.

          • password-enabled boolean

            Enable password based login

          • build string

            Template build

          • checksum string

            Template MD5 checksum

          • boot-mode string

            Boot mode (default: legacy)

            Values are legacy and uefi.

          • id string(uuid)

            Template ID

          • url string

            Template source URL

          • version string

            Template version

          • created-at string(date-time)

            Template creation date

          • visibility string

            Template visibility

            Values are private and public.

        • state string

          Instance Pool state

          Values are scaling-up, scaling-down, destroying, creating, and running.

        • size integer(int64)

          Number of instances

          Minimum value is 0.

        • ssh-key object

          SSH key

          • name string

            SSH key name

          • fingerprint string

            SSH key fingerprint

        • instance-prefix string

          The instances created by the Instance Pool will be prefixed with this value (default: pool)

        • user-data string

          Instances Cloud-init user-data

        • manager object

          Resource manager

          • id string(uuid)

            Manager ID

          • type string

            Manager type

            Values are sks-nodepool and instance-pool.

        • instances array[object]

          Instances

          • anti-affinity-groups array[]

            Instance Anti-affinity Groups

          • labels object

            Instance Labels

            • Additional properties: string
          • security-groups array[object]

            Instance Security Groups

            • id string(uuid)

              Security Group ID

            • name string

              Security Group name

            • description string

              Security Group description

            • rules array[object]

              Security Group rules

              • description string

                Security Group rule description

              • start-port integer(int64)

                Start port of the range

                Minimum value is 1, maximum value is 65535.

              • protocol string

                Network protocol

                Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

              • icmp object

                ICMP details

                • code integer(int64)

                  Minimum value is 0, maximum value is 254.

                • type integer(int64)

                  Minimum value is 0, maximum value is 254.

              • end-port integer(int64)

                End port of the range

                Minimum value is 1, maximum value is 65535.

              • security-group object

                Security Group

                • id Required / string(uuid)

                  Security Group ID

                • name string

                  Security Group name

              • id string(uuid)

                Security Group rule ID

              • network string

                CIDR-formatted network allowed

              • flow-direction string

                Network flow direction to match

                Values are ingress and egress.

          • elastic-ips array[object]

            Instance Elastic IPs

            • id string(uuid)

              Elastic IP ID

            • ip string(ipv4)

              Elastic IP address

            • description string

              Elastic IP description

            • healthcheck object

              Elastic IP address healthcheck

              • strikes-ok integer(int64)

                Number of attempts before considering the target healthy (default: 2)

                Minimum value is 1, maximum value is 20.

              • tls-skip-verify boolean

                Skip TLS verification

              • tls-sni string

                SNI domain for HTTPS healthchecks

              • strikes-fail integer(int64)

                Number of attempts before considering the target unhealthy (default: 3)

                Minimum value is 1, maximum value is 20.

              • mode Required / string

                Healthcheck mode

                Values are tcp, http, and https.

              • port Required / integer(int64)

                Healthcheck port

                Minimum value is 1, maximum value is 65535.

              • uri string

                Healthcheck URI

              • interval integer(int64)

                Interval between the checks (default: 10)

                Minimum value is 5, maximum value is 300.

              • timeout integer(int64)

                Healthcheck timeout value (default: 2)

                Minimum value is 2, maximum value is 60.

          • name string

            Instance name

          • instance-type object

            Compute instance type

            • id string(uuid)

              Instance type ID

            • size string

              Instance type size

              Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

            • family string

              Instance type family

              Values are gpu2, gpu, memory, storage, standard, and cpu.

            • cpus integer(int64)

              CPU count

              Minimum value is 0.

            • gpus integer(int64)

              GPU count

              Minimum value is 0.

            • authorized boolean

              Requires authorization or publicly available

            • memory integer(int64)

              Available memory

              Minimum value is 0.

          • private-networks array[object]

            Instance Private Networks

            • id string(uuid)

              Private Network ID

            • name string

              Private Network name

            • description string

              Private Network description

            • netmask string(ipv4)

              Private Network netmask

            • start-ip string(ipv4)

              Private Network start IP address

            • end-ip string(ipv4)

              Private Network end IP address

            • leases array[object]

              Private Network leased IP addresses

              • ip string(ipv4)

                Private Network IP address

              • instance-id string(uuid)

                Attached instance ID

          • template object

            Instance template

            • maintainer string

              Template maintainer

            • description string

              Template description

            • ssh-key-enabled boolean

              Enable SSH key based login

            • family string

              Template family

            • name string

              Template name

            • default-user string

              Template default user

            • size integer(int64)

              Template size

              Minimum value is 0.

            • password-enabled boolean

              Enable password based login

            • build string

              Template build

            • checksum string

              Template MD5 checksum

            • boot-mode string

              Boot mode (default: legacy)

              Values are legacy and uefi.

            • id string(uuid)

              Template ID

            • url string

              Template source URL

            • version string

              Template version

            • created-at string(date-time)

              Template creation date

            • visibility string

              Template visibility

              Values are private and public.

          • state string

            Instance state

            Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

          • ssh-key object

            SSH key

            • name string

              SSH key name

            • fingerprint string

              SSH key fingerprint

          • user-data string

            Instance Cloud-init user-data

          • manager object

            Resource manager

            • id string(uuid)

              Manager ID

            • type string

              Manager type

              Values are sks-nodepool and instance-pool.

          • ipv6-address string

            Instance IPv6 address

          • id string(uuid)

            Instance ID

          • snapshots array[object]

            Instance Snapshots

            • id string(uuid)

              Snapshot ID

            • name string

              Snapshot name

            • created-at string(date-time)

              Snapshot creation date

            • state string

              Snapshot state

              Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

            • export object

              Exported snapshot information

              • presigned-url string

                Exported snapshot disk file pre-signed URL

              • md5sum string

                Exported snapshot disk file MD5 checksum

          • disk-size integer(int64)

            Instance disk size in GB

            Minimum value is 10, maximum value is 50000.

          • created-at string(date-time)

            Instance creation date

          • public-ip string(ipv4)

            Instance public IPv4 address

        • deploy-target object

          Deploy target

          • id string(uuid)

            Deploy Target ID

          • name string

            Deploy Target name

          • type string

            Deploy Target type

            Values are edge and dedicated.

          • description string

            Deploy Target description

        • ipv6-enabled boolean

          Enable IPv6 for instances

        • id string(uuid)

          Instance Pool ID

        • disk-size integer(int64)

          Instances disk size in GB

          Minimum value is 10, maximum value is 50000.

      • strategy string

        Load balancing strategy

        Values are round-robin and source-hash.

      • healthcheck object

        Load Balancer Service healthcheck

        • mode string

          Healthcheck mode

          Values are tcp, http, and https.

        • interval integer(int64)

          Healthcheck interval (default: 10)

          Minimum value is 5, maximum value is 300.

        • uri string

          Healthcheck URI

        • port integer(int64)

          Healthcheck port

          Minimum value is 1, maximum value is 65535.

        • timeout integer(int64)

          Healthcheck timeout value (default: 2)

          Minimum value is 2, maximum value is 60.

        • retries integer(int64)

          Number of retries before considering a Service failed

          Minimum value is 1, maximum value is 20.

        • tls-sni string

          SNI domain for HTTPS healthchecks

      • id string(uuid)

        Load Balancer Service ID

      • healthcheck-status array[object]

        Healthcheck status per backend server

        • public-ip string(ipv4)

          Backend server public IP

        • status string

          Status of the instance's healthcheck

          Values are failure and success.

    • labels object

      Instance Labels

      • Additional properties: string
Definition
GET https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}
cURL example
curl \ -X GET https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}
Response example (200)
{ "id": "string", "description": "string", "name": "string", "state": "creating", "created-at": "2021-05-04T09:42:00+00:00", "ip": "string", "services": [ { "description": "string", "protocol": "tcp", "name": "string", "state": "creating", "target-port": 42, "port": 42, "instance-pool": { "anti-affinity-groups": [ { "id": "string", "name": "string", "description": "string", "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ] } ], "description": "string", "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "scaling-up", "size": 42, "ssh-key": { "name": "string", "fingerprint": "string" }, "instance-prefix": "string", "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ], "deploy-target": { "id": "string", "name": "string", "type": "edge", "description": "string" }, "ipv6-enabled": true, "id": "string", "disk-size": 42 }, "strategy": "round-robin", "healthcheck": { "mode": "tcp", "interval": 42, "uri": "string", "port": 42, "timeout": 42, "retries": 42, "tls-sni": "string" }, "id": "string", "healthcheck-status": [ { "public-ip": "string", "status": "failure" } ] } ], "labels": {} }

Update a Load Balancer

Path parameters
  • id Required / string(uuid)
Body
  • name string
  • description string
  • labels object

    Instance Labels

    • Additional properties: string
Responses
  • 200 object

    200

    • id string(uuid)

      Operation ID

    • reason string

      Operation failure reason

      Values are incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, and conflict.

    • reference object

      Resource reference

      • id string(uuid)

        Reference ID

      • link string

        Link to the referenced resource

      • command string

        Command name

    • message string

      Operation message

    • state string

      Operation status

      Values are failure, pending, success, and timeout.

Definition
PUT https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}
cURL example
curl \ -X PUT https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id} \ -H "Content-Type: application/json" \ -d '{"name":"string","description":"string","labels":{}}'
Request payload example
{ "name": "string", "description": "string", "labels": {} }
Response example (200)
{ "id": "string", "reason": "incorrect", "reference": { "id": "string", "link": "string", "command": "string" }, "message": "string", "state": "failure" }

Delete a Load Balancer

Path parameters
  • id Required / string(uuid)
Responses
  • 200 object

    200

    • id string(uuid)

      Operation ID

    • reason string

      Operation failure reason

      Values are incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, and conflict.

    • reference object

      Resource reference

      • id string(uuid)

        Reference ID

      • link string

        Link to the referenced resource

      • command string

        Command name

    • message string

      Operation message

    • state string

      Operation status

      Values are failure, pending, success, and timeout.

Definition
DELETE https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}
cURL example
curl \ -X DELETE https://api-ch-gva-2.exoscale.com/v2.alpha/load-balancer/{id}
Response example (200)
{ "id": "string", "reason": "incorrect", "reference": { "id": "string", "link": "string", "command": "string" }, "message": "string", "state": "failure" }

Event

Events form the basis of the Exoscale audit-trail, a mechanism to query past events
which happened on an organization

Read more

List Events

Retrieve Events for a given date range. Defaults to retrieving Events
for the current and previous day. Both a from and to arguments can
be passed specifying dates to start from and to

Query parameters
  • from string(date-time)
  • to string(date-time)
Responses
  • 200 array[object]

    200

    • timestamp string(date-time)

      Time at which the event happened, millisecond resolution

    • payload object

      Event payload. This is a free-form map

      • Additional properties are allowed
Definition
GET https://api-ch-gva-2.exoscale.com/v2.alpha/event
cURL example
curl \ -X GET https://api-ch-gva-2.exoscale.com/v2.alpha/event
Response example (200)
[ { "timestamp": "2021-05-04T09:42:00+00:00", "payload": {} } ]

Sks

SKS is Exoscale's scalable Kubernetes service which provides managed Kubernetes
control planes with integrated support for Exoscale instance pools ands network load
balancers.
Read more

Generate a new Kubeconfig file for a SKS cluster

This operation returns a Kubeconfig file encoded in base64.

Path parameters
  • id Required / string(uuid)
Body
  • ttl integer(int64)

    Validity in seconds of the Kubeconfig user certificate (default: 30 days)

    Minimum value is 0.

  • user string

    User name in the generated Kubeconfig. The certificate present in the Kubeconfig will also have this name set for the CN field.

  • groups array[string]

    List of roles. The certificate present in the Kubeconfig will have these roles set in the Org field.

Responses
  • 200 object

    200

    • kubeconfig string
Definition
POST https://api-ch-gva-2.exoscale.com/v2.alpha/sks-cluster-kubeconfig/{id}
cURL example
curl \ -X POST https://api-ch-gva-2.exoscale.com/v2.alpha/sks-cluster-kubeconfig/{id} \ -H "Content-Type: application/json" \ -d '{"ttl":42,"user":"string","groups":["string"]}'
Request payload example
{ "ttl": 42, "user": "string", "groups": [ "string" ] }
Response example (200)
{ "kubeconfig": "string" }

Retrieve SKS Nodepool details

Path parameters
  • id Required / string(uuid)
  • sks-nodepool-id Required / string(uuid)
Responses
  • 200 object

    200

    • anti-affinity-groups array[object]

      Nodepool Anti-affinity Groups

      • id string(uuid)

        Anti-affinity Group ID

      • name string

        Anti-affinity Group name

      • description string

        Anti-affinity Group description

      • instances array[object]

        Anti-affinity Group instances

        • anti-affinity-groups array[]

          Instance Anti-affinity Groups

        • labels object

          Instance Labels

          • Additional properties: string
        • security-groups array[object]

          Instance Security Groups

          • id string(uuid)

            Security Group ID

          • name string

            Security Group name

          • description string

            Security Group description

          • rules array[object]

            Security Group rules

            • description string

              Security Group rule description

            • start-port integer(int64)

              Start port of the range

              Minimum value is 1, maximum value is 65535.

            • protocol string

              Network protocol

              Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

            • icmp object

              ICMP details

              • code integer(int64)

                Minimum value is 0, maximum value is 254.

              • type integer(int64)

                Minimum value is 0, maximum value is 254.

            • end-port integer(int64)

              End port of the range

              Minimum value is 1, maximum value is 65535.

            • security-group object

              Security Group

              • id Required / string(uuid)

                Security Group ID

              • name string

                Security Group name

            • id string(uuid)

              Security Group rule ID

            • network string

              CIDR-formatted network allowed

            • flow-direction string

              Network flow direction to match

              Values are ingress and egress.

        • elastic-ips array[object]

          Instance Elastic IPs

          • id string(uuid)

            Elastic IP ID

          • ip string(ipv4)

            Elastic IP address

          • description string

            Elastic IP description

          • healthcheck object

            Elastic IP address healthcheck

            • strikes-ok integer(int64)

              Number of attempts before considering the target healthy (default: 2)

              Minimum value is 1, maximum value is 20.

            • tls-skip-verify boolean

              Skip TLS verification

            • tls-sni string

              SNI domain for HTTPS healthchecks

            • strikes-fail integer(int64)

              Number of attempts before considering the target unhealthy (default: 3)

              Minimum value is 1, maximum value is 20.

            • mode Required / string

              Healthcheck mode

              Values are tcp, http, and https.

            • port Required / integer(int64)

              Healthcheck port

              Minimum value is 1, maximum value is 65535.

            • uri string

              Healthcheck URI

            • interval integer(int64)

              Interval between the checks (default: 10)

              Minimum value is 5, maximum value is 300.

            • timeout integer(int64)

              Healthcheck timeout value (default: 2)

              Minimum value is 2, maximum value is 60.

        • name string

          Instance name

        • instance-type object

          Compute instance type

          • id string(uuid)

            Instance type ID

          • size string

            Instance type size

            Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

          • family string

            Instance type family

            Values are gpu2, gpu, memory, storage, standard, and cpu.

          • cpus integer(int64)

            CPU count

            Minimum value is 0.

          • gpus integer(int64)

            GPU count

            Minimum value is 0.

          • authorized boolean

            Requires authorization or publicly available

          • memory integer(int64)

            Available memory

            Minimum value is 0.

        • private-networks array[object]

          Instance Private Networks

          • id string(uuid)

            Private Network ID

          • name string

            Private Network name

          • description string

            Private Network description

          • netmask string(ipv4)

            Private Network netmask

          • start-ip string(ipv4)

            Private Network start IP address

          • end-ip string(ipv4)

            Private Network end IP address

          • leases array[object]

            Private Network leased IP addresses

            • ip string(ipv4)

              Private Network IP address

            • instance-id string(uuid)

              Attached instance ID

        • template object

          Instance template

          • maintainer string

            Template maintainer

          • description string

            Template description

          • ssh-key-enabled boolean

            Enable SSH key based login

          • family string

            Template family

          • name string

            Template name

          • default-user string

            Template default user

          • size integer(int64)

            Template size

            Minimum value is 0.

          • password-enabled boolean

            Enable password based login

          • build string

            Template build

          • checksum string

            Template MD5 checksum

          • boot-mode string

            Boot mode (default: legacy)

            Values are legacy and uefi.

          • id string(uuid)

            Template ID

          • url string

            Template source URL

          • version string

            Template version

          • created-at string(date-time)

            Template creation date

          • visibility string

            Template visibility

            Values are private and public.

        • state string

          Instance state

          Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

        • ssh-key object

          SSH key

          • name string

            SSH key name

          • fingerprint string

            SSH key fingerprint

        • user-data string

          Instance Cloud-init user-data

        • manager object

          Resource manager

          • id string(uuid)

            Manager ID

          • type string

            Manager type

            Values are sks-nodepool and instance-pool.

        • ipv6-address string

          Instance IPv6 address

        • id string(uuid)

          Instance ID

        • snapshots array[object]

          Instance Snapshots

          • id string(uuid)

            Snapshot ID

          • name string

            Snapshot name

          • created-at string(date-time)

            Snapshot creation date

          • state string

            Snapshot state

            Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

          • export object

            Exported snapshot information

            • presigned-url string

              Exported snapshot disk file pre-signed URL

            • md5sum string

              Exported snapshot disk file MD5 checksum

        • disk-size integer(int64)

          Instance disk size in GB

          Minimum value is 10, maximum value is 50000.

        • created-at string(date-time)

          Instance creation date

        • public-ip string(ipv4)

          Instance public IPv4 address

    • description string

      Nodepool description

    • labels object

      Instance Labels

      • Additional properties: string
    • security-groups array[object]

      Nodepool Security Groups

      • id string(uuid)

        Security Group ID

      • name string

        Security Group name

      • description string

        Security Group description

      • rules array[object]

        Security Group rules

        • description string

          Security Group rule description

        • start-port integer(int64)

          Start port of the range

          Minimum value is 1, maximum value is 65535.

        • protocol string

          Network protocol

          Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

        • icmp object

          ICMP details

          • code integer(int64)

            Minimum value is 0, maximum value is 254.

          • type integer(int64)

            Minimum value is 0, maximum value is 254.

        • end-port integer(int64)

          End port of the range

          Minimum value is 1, maximum value is 65535.

        • security-group object

          Security Group

          • id Required / string(uuid)

            Security Group ID

          • name string

            Security Group name

        • id string(uuid)

          Security Group rule ID

        • network string

          CIDR-formatted network allowed

        • flow-direction string

          Network flow direction to match

          Values are ingress and egress.

    • name string

      Nodepool name

    • instance-type object

      Compute instance type

      • id string(uuid)

        Instance type ID

      • size string

        Instance type size

        Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

      • family string

        Instance type family

        Values are gpu2, gpu, memory, storage, standard, and cpu.

      • cpus integer(int64)

        CPU count

        Minimum value is 0.

      • gpus integer(int64)

        GPU count

        Minimum value is 0.

      • authorized boolean

        Requires authorization or publicly available

      • memory integer(int64)

        Available memory

        Minimum value is 0.

    • template object

      Instance template

      • maintainer string

        Template maintainer

      • description string

        Template description

      • ssh-key-enabled boolean

        Enable SSH key based login

      • family string

        Template family

      • name string

        Template name

      • default-user string

        Template default user

      • size integer(int64)

        Template size

        Minimum value is 0.

      • password-enabled boolean

        Enable password based login

      • build string

        Template build

      • checksum string

        Template MD5 checksum

      • boot-mode string

        Boot mode (default: legacy)

        Values are legacy and uefi.

      • id string(uuid)

        Template ID

      • url string

        Template source URL

      • version string

        Template version

      • created-at string(date-time)

        Template creation date

      • visibility string

        Template visibility

        Values are private and public.

    • state string

      Nodepool state

      Values are renewing-token, creating, deleting, running, updating, and error.

    • size integer(int64)

      Number of instances

      Minimum value is 0.

    • instance-pool object

      Instance Pool

      • anti-affinity-groups array[object]

        Instance Pool Anti-affinity Groups

        • id string(uuid)

          Anti-affinity Group ID

        • name string

          Anti-affinity Group name

        • description string

          Anti-affinity Group description

        • instances array[object]

          Anti-affinity Group instances

          • anti-affinity-groups array[]

            Instance Anti-affinity Groups

          • labels object

            Instance Labels

            • Additional properties: string
          • security-groups array[object]

            Instance Security Groups

            • id string(uuid)

              Security Group ID

            • name string

              Security Group name

            • description string

              Security Group description

            • rules array[object]

              Security Group rules

              • description string

                Security Group rule description

              • start-port integer(int64)

                Start port of the range

                Minimum value is 1, maximum value is 65535.

              • protocol string

                Network protocol

                Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

              • icmp object

                ICMP details

                • code integer(int64)

                  Minimum value is 0, maximum value is 254.

                • type integer(int64)

                  Minimum value is 0, maximum value is 254.

              • end-port integer(int64)

                End port of the range

                Minimum value is 1, maximum value is 65535.

              • security-group object

                Security Group

                • id Required / string(uuid)

                  Security Group ID

                • name string

                  Security Group name

              • id string(uuid)

                Security Group rule ID

              • network string

                CIDR-formatted network allowed

              • flow-direction string

                Network flow direction to match

                Values are ingress and egress.

          • elastic-ips array[object]

            Instance Elastic IPs

            • id string(uuid)

              Elastic IP ID

            • ip string(ipv4)

              Elastic IP address

            • description string

              Elastic IP description

            • healthcheck object

              Elastic IP address healthcheck

              • strikes-ok integer(int64)

                Number of attempts before considering the target healthy (default: 2)

                Minimum value is 1, maximum value is 20.

              • tls-skip-verify boolean

                Skip TLS verification

              • tls-sni string

                SNI domain for HTTPS healthchecks

              • strikes-fail integer(int64)

                Number of attempts before considering the target unhealthy (default: 3)

                Minimum value is 1, maximum value is 20.

              • mode Required / string

                Healthcheck mode

                Values are tcp, http, and https.

              • port Required / integer(int64)

                Healthcheck port

                Minimum value is 1, maximum value is 65535.

              • uri string

                Healthcheck URI

              • interval integer(int64)

                Interval between the checks (default: 10)

                Minimum value is 5, maximum value is 300.

              • timeout integer(int64)

                Healthcheck timeout value (default: 2)

                Minimum value is 2, maximum value is 60.

          • name string

            Instance name

          • instance-type object

            Compute instance type

            • id string(uuid)

              Instance type ID

            • size string

              Instance type size

              Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

            • family string

              Instance type family

              Values are gpu2, gpu, memory, storage, standard, and cpu.

            • cpus integer(int64)

              CPU count

              Minimum value is 0.

            • gpus integer(int64)

              GPU count

              Minimum value is 0.

            • authorized boolean

              Requires authorization or publicly available

            • memory integer(int64)

              Available memory

              Minimum value is 0.

          • private-networks array[object]

            Instance Private Networks

            • id string(uuid)

              Private Network ID

            • name string

              Private Network name

            • description string

              Private Network description

            • netmask string(ipv4)

              Private Network netmask

            • start-ip string(ipv4)

              Private Network start IP address

            • end-ip string(ipv4)

              Private Network end IP address

            • leases array[object]

              Private Network leased IP addresses

              • ip string(ipv4)

                Private Network IP address

              • instance-id string(uuid)

                Attached instance ID

          • template object

            Instance template

            • maintainer string

              Template maintainer

            • description string

              Template description

            • ssh-key-enabled boolean

              Enable SSH key based login

            • family string

              Template family

            • name string

              Template name

            • default-user string

              Template default user

            • size integer(int64)

              Template size

              Minimum value is 0.

            • password-enabled boolean

              Enable password based login

            • build string

              Template build

            • checksum string

              Template MD5 checksum

            • boot-mode string

              Boot mode (default: legacy)

              Values are legacy and uefi.

            • id string(uuid)

              Template ID

            • url string

              Template source URL

            • version string

              Template version

            • created-at string(date-time)

              Template creation date

            • visibility string

              Template visibility

              Values are private and public.

          • state string

            Instance state

            Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

          • ssh-key object

            SSH key

            • name string

              SSH key name

            • fingerprint string

              SSH key fingerprint

          • user-data string

            Instance Cloud-init user-data

          • manager object

            Resource manager

            • id string(uuid)

              Manager ID

            • type string

              Manager type

              Values are sks-nodepool and instance-pool.

          • ipv6-address string

            Instance IPv6 address

          • id string(uuid)

            Instance ID

          • snapshots array[object]

            Instance Snapshots

            • id string(uuid)

              Snapshot ID

            • name string

              Snapshot name

            • created-at string(date-time)

              Snapshot creation date

            • state string

              Snapshot state

              Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

            • export object

              Exported snapshot information

              • presigned-url string

                Exported snapshot disk file pre-signed URL

              • md5sum string

                Exported snapshot disk file MD5 checksum

          • disk-size integer(int64)

            Instance disk size in GB

            Minimum value is 10, maximum value is 50000.

          • created-at string(date-time)

            Instance creation date

          • public-ip string(ipv4)

            Instance public IPv4 address

      • description string

        Instance Pool description

      • labels object

        Instance Labels

        • Additional properties: string
      • security-groups array[object]

        Instance Pool Security Groups

        • id string(uuid)

          Security Group ID

        • name string

          Security Group name

        • description string

          Security Group description

        • rules array[object]

          Security Group rules

          • description string

            Security Group rule description

          • start-port integer(int64)

            Start port of the range

            Minimum value is 1, maximum value is 65535.

          • protocol string

            Network protocol

            Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

          • icmp object

            ICMP details

            • code integer(int64)

              Minimum value is 0, maximum value is 254.

            • type integer(int64)

              Minimum value is 0, maximum value is 254.

          • end-port integer(int64)

            End port of the range

            Minimum value is 1, maximum value is 65535.

          • security-group object

            Security Group

            • id Required / string(uuid)

              Security Group ID

            • name string

              Security Group name

          • id string(uuid)

            Security Group rule ID

          • network string

            CIDR-formatted network allowed

          • flow-direction string

            Network flow direction to match

            Values are ingress and egress.

      • elastic-ips array[object]

        Instances Elastic IPs

        • id string(uuid)

          Elastic IP ID

        • ip string(ipv4)

          Elastic IP address

        • description string

          Elastic IP description

        • healthcheck object

          Elastic IP address healthcheck

          • strikes-ok integer(int64)

            Number of attempts before considering the target healthy (default: 2)

            Minimum value is 1, maximum value is 20.

          • tls-skip-verify boolean

            Skip TLS verification

          • tls-sni string

            SNI domain for HTTPS healthchecks

          • strikes-fail integer(int64)

            Number of attempts before considering the target unhealthy (default: 3)

            Minimum value is 1, maximum value is 20.

          • mode Required / string

            Healthcheck mode

            Values are tcp, http, and https.

          • port Required / integer(int64)

            Healthcheck port

            Minimum value is 1, maximum value is 65535.

          • uri string

            Healthcheck URI

          • interval integer(int64)

            Interval between the checks (default: 10)

            Minimum value is 5, maximum value is 300.

          • timeout integer(int64)

            Healthcheck timeout value (default: 2)

            Minimum value is 2, maximum value is 60.

      • name string

        Instance Pool name

      • instance-type object

        Compute instance type

        • id string(uuid)

          Instance type ID

        • size string

          Instance type size

          Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

        • family string

          Instance type family

          Values are gpu2, gpu, memory, storage, standard, and cpu.

        • cpus integer(int64)

          CPU count

          Minimum value is 0.

        • gpus integer(int64)

          GPU count

          Minimum value is 0.

        • authorized boolean

          Requires authorization or publicly available

        • memory integer(int64)

          Available memory

          Minimum value is 0.

      • private-networks array[object]

        Instance Pool Private Networks

        • id string(uuid)

          Private Network ID

        • name string

          Private Network name

        • description string

          Private Network description

        • netmask string(ipv4)

          Private Network netmask

        • start-ip string(ipv4)

          Private Network start IP address

        • end-ip string(ipv4)

          Private Network end IP address

        • leases array[object]

          Private Network leased IP addresses

          • ip string(ipv4)

            Private Network IP address

          • instance-id string(uuid)

            Attached instance ID

      • template object

        Instance template

        • maintainer string

          Template maintainer

        • description string

          Template description

        • ssh-key-enabled boolean

          Enable SSH key based login

        • family string

          Template family

        • name string

          Template name

        • default-user string

          Template default user

        • size integer(int64)

          Template size

          Minimum value is 0.

        • password-enabled boolean

          Enable password based login

        • build string

          Template build

        • checksum string

          Template MD5 checksum

        • boot-mode string

          Boot mode (default: legacy)

          Values are legacy and uefi.

        • id string(uuid)

          Template ID

        • url string

          Template source URL

        • version string

          Template version

        • created-at string(date-time)

          Template creation date

        • visibility string

          Template visibility

          Values are private and public.

      • state string

        Instance Pool state

        Values are scaling-up, scaling-down, destroying, creating, and running.

      • size integer(int64)

        Number of instances

        Minimum value is 0.

      • ssh-key object

        SSH key

        • name string

          SSH key name

        • fingerprint string

          SSH key fingerprint

      • instance-prefix string

        The instances created by the Instance Pool will be prefixed with this value (default: pool)

      • user-data string

        Instances Cloud-init user-data

      • manager object

        Resource manager

        • id string(uuid)

          Manager ID

        • type string

          Manager type

          Values are sks-nodepool and instance-pool.

      • instances array[object]

        Instances

        • anti-affinity-groups array[]

          Instance Anti-affinity Groups

        • labels object

          Instance Labels

          • Additional properties: string
        • security-groups array[object]

          Instance Security Groups

          • id string(uuid)

            Security Group ID

          • name string

            Security Group name

          • description string

            Security Group description

          • rules array[object]

            Security Group rules

            • description string

              Security Group rule description

            • start-port integer(int64)

              Start port of the range

              Minimum value is 1, maximum value is 65535.

            • protocol string

              Network protocol

              Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

            • icmp object

              ICMP details

              • code integer(int64)

                Minimum value is 0, maximum value is 254.

              • type integer(int64)

                Minimum value is 0, maximum value is 254.

            • end-port integer(int64)

              End port of the range

              Minimum value is 1, maximum value is 65535.

            • security-group object

              Security Group

              • id Required / string(uuid)

                Security Group ID

              • name string

                Security Group name

            • id string(uuid)

              Security Group rule ID

            • network string

              CIDR-formatted network allowed

            • flow-direction string

              Network flow direction to match

              Values are ingress and egress.

        • elastic-ips array[object]

          Instance Elastic IPs

          • id string(uuid)

            Elastic IP ID

          • ip string(ipv4)

            Elastic IP address

          • description string

            Elastic IP description

          • healthcheck object

            Elastic IP address healthcheck

            • strikes-ok integer(int64)

              Number of attempts before considering the target healthy (default: 2)

              Minimum value is 1, maximum value is 20.

            • tls-skip-verify boolean

              Skip TLS verification

            • tls-sni string

              SNI domain for HTTPS healthchecks

            • strikes-fail integer(int64)

              Number of attempts before considering the target unhealthy (default: 3)

              Minimum value is 1, maximum value is 20.

            • mode Required / string

              Healthcheck mode

              Values are tcp, http, and https.

            • port Required / integer(int64)

              Healthcheck port

              Minimum value is 1, maximum value is 65535.

            • uri string

              Healthcheck URI

            • interval integer(int64)

              Interval between the checks (default: 10)

              Minimum value is 5, maximum value is 300.

            • timeout integer(int64)

              Healthcheck timeout value (default: 2)

              Minimum value is 2, maximum value is 60.

        • name string

          Instance name

        • instance-type object

          Compute instance type

          • id string(uuid)

            Instance type ID

          • size string

            Instance type size

            Values are large, huge, jumbo, medium, mega, small, extra-large, titan, micro, and tiny.

          • family string

            Instance type family

            Values are gpu2, gpu, memory, storage, standard, and cpu.

          • cpus integer(int64)

            CPU count

            Minimum value is 0.

          • gpus integer(int64)

            GPU count

            Minimum value is 0.

          • authorized boolean

            Requires authorization or publicly available

          • memory integer(int64)

            Available memory

            Minimum value is 0.

        • private-networks array[object]

          Instance Private Networks

          • id string(uuid)

            Private Network ID

          • name string

            Private Network name

          • description string

            Private Network description

          • netmask string(ipv4)

            Private Network netmask

          • start-ip string(ipv4)

            Private Network start IP address

          • end-ip string(ipv4)

            Private Network end IP address

          • leases array[object]

            Private Network leased IP addresses

            • ip string(ipv4)

              Private Network IP address

            • instance-id string(uuid)

              Attached instance ID

        • template object

          Instance template

          • maintainer string

            Template maintainer

          • description string

            Template description

          • ssh-key-enabled boolean

            Enable SSH key based login

          • family string

            Template family

          • name string

            Template name

          • default-user string

            Template default user

          • size integer(int64)

            Template size

            Minimum value is 0.

          • password-enabled boolean

            Enable password based login

          • build string

            Template build

          • checksum string

            Template MD5 checksum

          • boot-mode string

            Boot mode (default: legacy)

            Values are legacy and uefi.

          • id string(uuid)

            Template ID

          • url string

            Template source URL

          • version string

            Template version

          • created-at string(date-time)

            Template creation date

          • visibility string

            Template visibility

            Values are private and public.

        • state string

          Instance state

          Values are starting, destroying, running, stopping, stopped, migrating, and destroyed.

        • ssh-key object

          SSH key

          • name string

            SSH key name

          • fingerprint string

            SSH key fingerprint

        • user-data string

          Instance Cloud-init user-data

        • manager object

          Resource manager

          • id string(uuid)

            Manager ID

          • type string

            Manager type

            Values are sks-nodepool and instance-pool.

        • ipv6-address string

          Instance IPv6 address

        • id string(uuid)

          Instance ID

        • snapshots array[object]

          Instance Snapshots

          • id string(uuid)

            Snapshot ID

          • name string

            Snapshot name

          • created-at string(date-time)

            Snapshot creation date

          • state string

            Snapshot state

            Values are snapshotting, deleted, exporting, ready, deleting, error, and exported.

          • export object

            Exported snapshot information

            • presigned-url string

              Exported snapshot disk file pre-signed URL

            • md5sum string

              Exported snapshot disk file MD5 checksum

        • disk-size integer(int64)

          Instance disk size in GB

          Minimum value is 10, maximum value is 50000.

        • created-at string(date-time)

          Instance creation date

        • public-ip string(ipv4)

          Instance public IPv4 address

      • deploy-target object

        Deploy target

        • id string(uuid)

          Deploy Target ID

        • name string

          Deploy Target name

        • type string

          Deploy Target type

          Values are edge and dedicated.

        • description string

          Deploy Target description

      • ipv6-enabled boolean

        Enable IPv6 for instances

      • id string(uuid)

        Instance Pool ID

      • disk-size integer(int64)

        Instances disk size in GB

        Minimum value is 10, maximum value is 50000.

    • instance-prefix string

      The instances created by the Nodepool will be prefixed with this value (default: pool)

    • deploy-target object

      Deploy target

      • id string(uuid)

        Deploy Target ID

      • name string

        Deploy Target name

      • type string

        Deploy Target type

        Values are edge and dedicated.

      • description string

        Deploy Target description

    • id string(uuid)

      Nodepool ID

    • disk-size integer(int64)

      Nodepool instances disk size in GB

      Minimum value is 20, maximum value is 50000.

    • version string

      Nodepool version

    • created-at string(date-time)

      Nodepool creation date

Definition
GET https://api-ch-gva-2.exoscale.com/v2.alpha/sks-cluster/{id}/nodepool/{sks-nodepool-id}
cURL example
curl \ -X GET https://api-ch-gva-2.exoscale.com/v2.alpha/sks-cluster/{id}/nodepool/{sks-nodepool-id}
Response example (200)
{ "anti-affinity-groups": [ { "id": "string", "name": "string", "description": "string", "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ] } ], "description": "string", "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "renewing-token", "size": 42, "instance-pool": { "anti-affinity-groups": [ { "id": "string", "name": "string", "description": "string", "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ] } ], "description": "string", "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "scaling-up", "size": 42, "ssh-key": { "name": "string", "fingerprint": "string" }, "instance-prefix": "string", "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "instances": [ { "anti-affinity-groups": [ "string" ], "labels": {}, "security-groups": [ { "id": "string", "name": "string", "description": "string", "rules": [ { "description": "string", "start-port": 42, "protocol": "tcp", "icmp": { "code": 42, "type": 42 }, "end-port": 42, "security-group": { "id": "string", "name": "string" }, "id": "string", "network": "string", "flow-direction": "ingress" } ] } ], "elastic-ips": [ { "id": "string", "ip": "string", "description": "string", "healthcheck": { "strikes-ok": 42, "tls-skip-verify": true, "tls-sni": "string", "strikes-fail": 42, "mode": "tcp", "port": 42, "uri": "string", "interval": 42, "timeout": 42 } } ], "name": "string", "instance-type": { "id": "string", "size": "large", "family": "gpu2", "cpus": 42, "gpus": 42, "authorized": true, "memory": 42 }, "private-networks": [ { "id": "string", "name": "string", "description": "string", "netmask": "string", "start-ip": "string", "end-ip": "string", "leases": [ { "ip": "string", "instance-id": "string" } ] } ], "template": { "maintainer": "string", "description": "string", "ssh-key-enabled": true, "family": "string", "name": "string", "default-user": "string", "size": 42, "password-enabled": true, "build": "string", "checksum": "string", "boot-mode": "legacy", "id": "string", "url": "string", "version": "string", "created-at": "2021-05-04T09:42:00+00:00", "visibility": "private" }, "state": "starting", "ssh-key": { "name": "string", "fingerprint": "string" }, "user-data": "string", "manager": { "id": "string", "type": "sks-nodepool" }, "ipv6-address": "string", "id": "string", "snapshots": [ { "id": "string", "name": "string", "created-at": "2021-05-04T09:42:00+00:00", "state": "snapshotting", "export": { "presigned-url": "string", "md5sum": "string" }, "": "string" } ], "disk-size": 42, "created-at": "2021-05-04T09:42:00+00:00", "public-ip": "string" } ], "deploy-target": { "id": "string", "name": "string", "type": "edge", "description": "string" }, "ipv6-enabled": true, "id": "string", "disk-size": 42 }, "instance-prefix": "string", "deploy-target": { "id": "string", "name": "string", "type": "edge", "description": "string" }, "id": "string", "disk-size": 42, "version": "string", "created-at": "2021-05-04T09:42:00+00:00" }

Update an SKS Nodepool

Path parameters
  • id Required / string(uuid)
  • sks-nodepool-id Required / string(uuid)
Body
  • anti-affinity-groups array[object]

    Nodepool Anti-affinity Groups

    • id string(uuid)

      Anti-affinity Group ID

    • name string

      Anti-affinity Group name

    • description string

      Anti-affinity Group description

    • instances array[object]

      Anti-affinity Group instances

      • anti-affinity-groups array[]

        Instance Anti-affinity Groups

      • labels object

        Instance Labels

        • Additional properties: string
      • security-groups array[object]

        Instance Security Groups

        • id string(uuid)

          Security Group ID

        • name string

          Security Group name

        • description string

          Security Group description

        • rules array[object]

          Security Group rules

          • description string

            Security Group rule description

          • start-port integer(int64)

            Start port of the range

            Minimum value is 1, maximum value is 65535.

          • protocol string

            Network protocol

            Values are tcp, esp, icmp, udp, gre, ah, ipip, and icmpv6.

          • icmp object

            ICMP details

            • code integer(int64)

              Minimum value is 0, maximum value is 254.

            • type integer(int64)

              Minimum value is 0, maximum value is 254.

          • end-port integer(int64)

            End port of the range

            Minimum value is 1, maximum value is 65535.

          • security-group object

            Security Group

            • id Required / string(uuid)

              Security Group ID

            • name string

              Security Group name

          • id string(uuid)

            Security Group rule ID

          • network string

            CIDR-formatted network allowed

          • flow-direction string

            Network flow direction to match

            Values are ingress and egress.

      • elastic-ips array[object]

        Instance Elastic IPs

        • id string(uuid)

          Elastic IP ID

        • ip string(ipv4)

          Elastic IP address

        • description string

          Elastic IP description

        • healthcheck object

          Elastic IP address healthcheck

          • strikes-ok integer(int64)

            Number of attempts before considering the target healthy (default: 2)

            Minimum value is 1, maximum value is 20.

          • tls-skip-verify boolean

            Skip TLS verification

          • tls-sni string

            SNI domain for HTTPS healthchecks

          • strikes-fail integer(int64)

            Number of attempts before considering the target unhealthy (default: 3)

            Minimum value is 1, maximum value is 20.

          • mode Required / string

            Healthcheck mode

            Values are tcp, http, and https.

          • port Required / integer(int64)

            Healthcheck port

            Minimum value is 1, maximum value is 65535.

          • uri string

            Healthcheck URI

          • interval integer(int64)

            Interval between the checks (default: 10)

            Minimum value is 5, maximum value is 300.

          • timeout integer(int64)

            Healthcheck timeout value (default: 2)

            Minimum value is 2, maximum value is 60.

      • name string

        Instance name

      • instance-type object

        Compute instance type

        • id string(uuid)

          Instance type ID

        • size string

          Instance type size

          Values are large, huge, jumbo, medium, me