Scaleway logo
Load Balancer API

google.protobuf.StringValue

string | null

scaleway.lb.v1.Acl

id
​string

ACL ID.

name
​string

ACL name.

ACL match filter object. One of ip_subnet, ips_edge_services or http_filter & http_filter_value are required.

Action to take when incoming traffic matches an ACL filter.

​scaleway.lb.v1.Frontend

ACL is attached to this frontend object.

index
​integer · int32

Priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).

created_at
​string | null · date-time

Date on which the ACL was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the ACL was last updated. (RFC 3339 format)

description
​string

ACL description.

scaleway.lb.v1.AclAction

type
​scaleway.lb.v1.AclActionType · enum

Action to take when incoming traffic matches an ACL filter.

Enum values:
allow
deny
redirect
Default: allow

Redirection parameters when using an ACL with a redirect action.

scaleway.lb.v1.AclActionRedirect

Redirect type.

Enum values:
location
scheme
Default: location
target
​string

Redirect target. For a location redirect, you can use a URL e.g. https://scaleway.com. Using a scheme name (e.g. https, http, ftp, git) will replace the request's original scheme. This can be useful to implement HTTP to HTTPS redirects. Valid placeholders that can be used in a location redirect to preserve parts of the original request in the redirection URL are {{host}}, {{query}}, {{path}} and {{scheme}}.

code
​integer | null · int32

HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308. Default value is 302.

scaleway.lb.v1.AclActionRedirect.RedirectType

string · enum
Enum values:
location
scheme
Default: location

scaleway.lb.v1.AclActionType

string · enum
Enum values:
allow
deny
redirect
Default: allow

scaleway.lb.v1.AclHttpFilter

string · enum
Enum values:
acl_http_filter_none
path_begin
path_end
regex
http_header_match
Default: acl_http_filter_none

scaleway.lb.v1.AclMatch

List of IPs or CIDR v4/v6 addresses to filter for from the client side.

ips_edge_services
​boolean

Defines whether Edge Services IPs should be matched. If set to true, restricts all connections except for Edge Services.

http_filter
​scaleway.lb.v1.AclHttpFilter · enum

Type of HTTP filter to match. Extracts the request's URL path, which starts at the first slash and ends before the question mark (without the host part). Defines where to filter for the http_filter_value. Only supported for HTTP backends.

Enum values:
acl_http_filter_none
path_begin
path_end
regex
http_header_match
Default: acl_http_filter_none
http_filter_value
​google.protobuf.StringValue[]

List of values to filter for.

http_filter_option
​string | null

Name of the HTTP header to filter on if http_header_match was selected in http_filter.

invert
​boolean

Defines whether to invert the match condition. If set to true, the ACL carries out its action when the condition DOES NOT match.

scaleway.lb.v1.AclSpec

name
​string · required

ACL name.

​scaleway.lb.v1.AclAction · required

Action to take when incoming traffic matches an ACL filter.

index
​integer · int32 · required

Priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).

ACL match filter object. One of ip_subnet, ips_edge_services or http_filter and http_filter_value are required.

description
​string

ACL description.

scaleway.lb.v1.Backend

id
​string

Backend ID.

name
​string

Name of the backend.

forward_protocol
​scaleway.lb.v1.Protocol · enum

Protocol used by the backend when forwarding traffic to backend servers.

Enum values:
tcp
http
Default: tcp
forward_port
​integer · int32

Port used by the backend when forwarding traffic to backend servers.

forward_port_algorithm
​scaleway.lb.v1.ForwardPortAlgorithm · enum

Load balancing algorithm to use when determining which backend server to forward new traffic to.

Enum values:
roundrobin
leastconn
first
Default: roundrobin
sticky_sessions
​scaleway.lb.v1.StickySessionsType · enum

Defines whether sticky sessions (binding a particular session to a particular backend server) are activated and the method to use if so. None disables sticky sessions. Cookie-based uses an HTTP cookie to stick a session to a backend server. Table-based uses the source (client) IP address to stick a session to a backend server.

Enum values:
none
cookie
table
Default: none
sticky_sessions_cookie_name
​string

Cookie name for cookie-based sticky sessions.

​scaleway.lb.v1.HealthCheck

Object defining the health check to be carried out by the backend when checking the status and health of backend servers.

pool
​string[]

List of IP addresses of backend servers attached to this backend.

Load Balancer the backend is attached to.

timeout_server
​number

Maximum allowed time for a backend server to process a request. (in milliseconds)

Default: 300000
timeout_connect
​number

Maximum allowed time for establishing a connection to a backend server. (in milliseconds)

Default: 5000
timeout_tunnel
​number

Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds)

Default: 900000
on_marked_down_action
​scaleway.lb.v1.OnMarkedDownAction · enum

Action to take when a backend server is marked as down.

Enum values:
on_marked_down_action_none
shutdown_sessions
Default: on_marked_down_action_none
proxy_protocol
​scaleway.lb.v1.ProxyProtocol · enum

Protocol to use between the Load Balancer and backend servers. Allows the backend servers to be informed of the client's real IP address. The PROXY protocol must be supported by the backend servers' software.

Enum values:
proxy_protocol_unknown
proxy_protocol_none
proxy_protocol_v1
proxy_protocol_v2
proxy_protocol_v2_ssl
proxy_protocol_v2_ssl_cn
Default: proxy_protocol_unknown
created_at
​string | null · date-time

Date at which the backend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date at which the backend was updated. (RFC 3339 format)

failover_host
​string | null

Scaleway Object Storage bucket website to be served as failover if all backend servers are down, e.g. failover-website.s3-website.fr-par.scw.cloud.

ssl_bridging
​boolean | null

Defines whether to enable SSL bridging between the Load Balancer and backend servers.

ignore_ssl_server_verify
​boolean | null

Defines whether the server certificate verification should be ignored.

redispatch_attempt_count
​integer | null · int32

Whether to use another backend server on each attempt.

max_retries
​integer | null · int32

Number of retries when a backend server connection failed.

max_connections
​integer | null · int32

Maximum number of connections allowed per backend server.

timeout_queue
​string | null

Maximum time for a request to be left pending in queue when max_connections is reached. (in seconds)

host
​string | null

Host value to use when connecting to backend servers. When connecting to backend servers, use this value as the HTTP Host header or TLS SNI. This allows routing to specific services on the backend server that are configured to respond to particular hostnames.

scaleway.lb.v1.BackendServerStats

instance_id
​string

ID of your Load Balancer's underlying Instance.

backend_id
​string

Backend ID.

ip
​string

IPv4 or IPv6 address of the backend server.

server_state
​scaleway.lb.v1.BackendServerStats.ServerState · enum

Server operational state (stopped/starting/running/stopping).

Enum values:
stopped
starting
running
stopping
Default: stopped
server_state_changed_at
​string | null · date-time

Time since last operational change. (RFC 3339 format)

last_health_check_status
​scaleway.lb.v1.BackendServerStats.HealthCheckStatus · enum

Last health check status (unknown/neutral/failed/passed/condpass).

Enum values:
unknown
neutral
failed
passed
condpass
Default: unknown

scaleway.lb.v1.BackendServerStats.HealthCheckStatus

string · enum
Enum values:
unknown
neutral
failed
passed
condpass
Default: unknown

scaleway.lb.v1.BackendServerStats.ServerState

string · enum
Enum values:
stopped
starting
running
stopping
Default: stopped

scaleway.lb.v1.Certificate

type
​scaleway.lb.v1.Certificate.Type · enum

Certificate type (Let's Encrypt or custom).

Enum values:
letsencryt
custom
letsencrypt
Default: letsencryt
id
​string

Certificate ID.

common_name
​string

Main domain name of certificate.

subject_alternative_name
​string[]

Alternative domain names.

fingerprint
​string

Identifier (SHA-1) of the certificate.

not_valid_before
​string | null · date-time

Lower validity bound. (RFC 3339 format)

not_valid_after
​string | null · date-time

Upper validity bound. (RFC 3339 format)

status
​scaleway.lb.v1.Certificate.Status · enum

Certificate status.

Enum values:
pending
ready
error
Default: pending

Load Balancer object the certificate is attached to.

name
​string

Certificate name.

created_at
​string | null · date-time

Date on which the certificate was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the certificate was last updated. (RFC 3339 format)

status_details
​string | null

Additional information about the certificate status (useful in case of certificate generation failure, for example).

scaleway.lb.v1.Certificate.Status

string · enum
Enum values:
pending
ready
error
Default: pending

scaleway.lb.v1.Certificate.Type

string · enum
Enum values:
letsencryt
custom
letsencrypt
Default: letsencryt

scaleway.lb.v1.CreateCertificateRequest.CustomCertificate

certificate_chain
​string · required

Full PEM-formatted certificate, consisting of the entire certificate chain including public key, private key, and (optionally) Certificate Authorities.

scaleway.lb.v1.CreateCertificateRequest.LetsencryptConfig

common_name
​string · required

Main domain name of certificate (this domain must exist and resolve to your Load Balancer IP address).

subject_alternative_name
​string[]

Alternative domain names (all domain names must exist and resolve to your Load Balancer IP address).

scaleway.lb.v1.ForwardPortAlgorithm

string · enum
Enum values:
roundrobin
leastconn
first
Default: roundrobin

scaleway.lb.v1.Frontend

id
​string

Frontend ID.

name
​string

Name of the frontend.

inbound_port
​integer · int32

Port the frontend listens on.

​scaleway.lb.v1.Backend

Backend object the frontend is attached to.

Load Balancer object the frontend is attached to.

timeout_client
​number

Maximum allowed inactivity time on the client side. (in milliseconds)

Default: 300000
certificate_ids
​string[]

List of SSL/TLS certificate IDs to bind to the frontend.

created_at
​string | null · date-time

Date on which the frontend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the frontend was last updated. (RFC 3339 format)

enable_http3
​boolean

Defines whether to enable HTTP/3 protocol on the frontend.

connection_rate_limit
​integer | null · uint32

Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.

enable_access_logs
​boolean

Defines whether to enable access logs on the frontend.

scaleway.lb.v1.HealthCheck

port
​integer · int32

Port to use for the backend server health check.

check_delay
​number

Time to wait between two consecutive health checks. (in milliseconds)

Default: 3000
check_timeout
​number

Maximum time a backend server has to reply to the health check. (in milliseconds)

Default: 1000
check_max_retries
​integer · int32

Number of consecutive unsuccessful health checks after which the server will be considered dead.

​

Object to configure a basic TCP health check.

​

Object to configure a MySQL health check. The check requires MySQL >=3.22 or <9.0. For older or newer versions, use a TCP health check.

​

Object to configure a PostgreSQL health check.

​

Object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message.

​

Object to configure a Redis health check. The response is analyzed to find the +PONG response message.

​

Object to configure an HTTP health check.

​

Object to configure an HTTPS health check.

check_send_proxy
​boolean

Defines whether proxy protocol should be activated for the health check.

transient_check_delay
​string | null

Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). (in seconds)

Default: 0.5s

scaleway.lb.v1.HealthCheck.HttpConfig

uri
​string

HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers.

method
​string

HTTP method used for the health check. The HTTP method used when performing a health check on backend servers.

code
​integer | null · int32

HTTP response code expected for a successful health check. The HTTP response code that should be returned for a health check to be considered successful.

host_header
​string · pattern: ^[^\s]+$

HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers.

scaleway.lb.v1.HealthCheck.HttpsConfig

uri
​string

HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers.

method
​string

HTTP method used for the health check. The HTTP method used when performing a health check on backend servers.

code
​integer | null · int32

HTTP response code expected for a successful health check. The HTTP response code that should be returned for a health check to be considered successful.

host_header
​string · pattern: ^[^\s]+$

HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers.

sni
​string

SNI used for SSL health checks. The SNI value used when performing a health check on backend servers over SSL.

scaleway.lb.v1.HealthCheck.LdapConfig

scaleway.lb.v1.HealthCheck.MysqlConfig

user
​string

MySQL user to use for the health check.

scaleway.lb.v1.HealthCheck.PgsqlConfig

user
​string

PostgreSQL user to use for the health check.

scaleway.lb.v1.HealthCheck.RedisConfig

scaleway.lb.v1.HealthCheck.TcpConfig

scaleway.lb.v1.Instance

id
​string

Underlying Instance ID.

status
​scaleway.lb.v1.Instance.Status · enum

Instance status.

Enum values:
unknown
ready
pending
stopped
error
locked
migrating
Default: unknown
ip_address
​string

Instance IP address.

created_at
​string | null · date-time

Date on which the Instance was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the Instance was last updated. (RFC 3339 format)

zone
​string

The zone the Instance is in.

scaleway.lb.v1.Instance.Status

string · enum
Enum values:
unknown
ready
pending
stopped
error
locked
migrating
Default: unknown

scaleway.lb.v1.Ip

id
​string

IP address ID.

ip_address
​string

IP address.

organization_id
​string

Organization ID of the Scaleway Organization the IP address is in.

project_id
​string

Project ID of the Scaleway Project the IP address is in.

lb_id
​string | null

Load Balancer ID.

reverse
​string

Reverse DNS (domain name) of the IP address.

tags
​string[]

IP tags.

zone
​string

The zone the IP address is in.

scaleway.lb.v1.Lb

id
​string

Underlying Instance ID.

name
​string

Load Balancer name.

description
​string

Load Balancer description.

status
​scaleway.lb.v1.Lb.Status · enum

Load Balancer status.

Enum values:
unknown
ready
pending
stopped
error
locked
migrating
to_create
Default: unknown
​scaleway.lb.v1.Instance[]

List of underlying Instances.

organization_id
​string

Scaleway Organization ID.

project_id
​string

Scaleway Project ID.

List of IP addresses attached to the Load Balancer.

tags
​string[]

Load Balancer tags.

frontend_count
​integer · int32

Number of frontends the Load Balancer has.

backend_count
​integer · int32

Number of backends the Load Balancer has.

type
​string

Load Balancer offer type.

​scaleway.lb.v1.Subscriber

Subscriber information.

ssl_compatibility_level
​scaleway.lb.v1.SSLCompatibilityLevel · enum

Determines the minimal SSL version which needs to be supported on client side.

Enum values:
ssl_compatibility_level_unknown
ssl_compatibility_level_intermediate
ssl_compatibility_level_modern
ssl_compatibility_level_old
Default: ssl_compatibility_level_unknown
created_at
​string | null · date-time

Date on which the Load Balancer was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the Load Balancer was last updated. (RFC 3339 format)

private_network_count
​integer · int32

Number of Private Networks attached to the Load Balancer.

route_count
​integer · int32

Number of routes configured on the Load Balancer.

zone
​string

The zone the Load Balancer is in.

scaleway.lb.v1.Lb.Status

string · enum
Enum values:
unknown
ready
pending
stopped
error
locked
migrating
to_create
Default: unknown

scaleway.lb.v1.LbStats

​scaleway.lb.v1.BackendServerStats[]

List of objects containing Load Balancer statistics.

scaleway.lb.v1.LbType

name
​string

Load Balancer commercial offer type name.

stock_status
​scaleway.lb.v1.LbType.Stock · enum

Current stock status for a given Load Balancer type.

Enum values:
unknown
low_stock
out_of_stock
available
Default: unknown
bandwidth
​integer · uint64

Maximum bandwidth for a given Load Balancer type.

multicloud
​boolean

Ability to handle backend servers outside Scaleway for a given Load Balancer type.

description
​string

Load Balancer commercial offer type description.

zone
​string

The zone the Load Balancer stock is in.

scaleway.lb.v1.LbType.Stock

string · enum
Enum values:
unknown
low_stock
out_of_stock
available
Default: unknown

scaleway.lb.v1.ListAclRequest.OrderBy

string · enum
Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
Default: created_at_asc

scaleway.lb.v1.ListAclResponse

List of ACL objects.

total_count
​integer · uint32

The total number of objects.

scaleway.lb.v1.ListBackendStatsResponse

​scaleway.lb.v1.BackendServerStats[]

List of objects containing backend server statistics.

total_count
​integer · uint32

The total number of objects.

scaleway.lb.v1.ListBackendsRequest.OrderBy

string · enum
Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
Default: created_at_asc

scaleway.lb.v1.ListBackendsResponse

​scaleway.lb.v1.Backend[]

List of backend objects of a given Load Balancer.

total_count
​integer · uint32

Total count of backend objects, without pagination.

scaleway.lb.v1.ListCertificatesRequest.OrderBy

string · enum
Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
Default: created_at_asc

scaleway.lb.v1.ListCertificatesResponse

​scaleway.lb.v1.Certificate[]

List of certificate objects.

total_count
​integer · uint32

The total number of objects.

scaleway.lb.v1.ListFrontendsRequest.OrderBy

string · enum
Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
Default: created_at_asc

scaleway.lb.v1.ListFrontendsResponse

​scaleway.lb.v1.Frontend[]

List of frontend objects of a given Load Balancer.

total_count
​integer · uint32

Total count of frontend objects, without pagination.

scaleway.lb.v1.ListIpsRequest.IpType

string · enum
Enum values:
all
ipv4
ipv6
Default: all

scaleway.lb.v1.ListIpsResponse

List of IP address objects.

total_count
​integer · uint32

Total count of IP address objects, without pagination.

scaleway.lb.v1.ListLbPrivateNetworksResponse

​scaleway.lb.v1.PrivateNetwork[]

List of Private Network objects attached to the Load Balancer.

total_count
​integer · uint32

Total number of objects in the response.

scaleway.lb.v1.ListLbTypesResponse

​scaleway.lb.v1.LbType[]

List of Load Balancer commercial offer type objects.

total_count
​integer · uint32

Total number of Load Balancer offer type objects.

scaleway.lb.v1.ListLbsRequest.OrderBy

string · enum
Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
Default: created_at_asc

scaleway.lb.v1.ListLbsResponse

List of Load Balancer objects.

total_count
​integer · uint32

The total number of Load Balancer objects.

scaleway.lb.v1.ListPrivateNetworksRequest.OrderBy

string · enum
Enum values:
created_at_asc
created_at_desc
Default: created_at_asc

scaleway.lb.v1.ListRoutesRequest.OrderBy

string · enum
Enum values:
created_at_asc
created_at_desc
Default: created_at_asc

scaleway.lb.v1.ListRoutesResponse

List of route objects.

total_count
​integer · uint32

The total number of route objects.

scaleway.lb.v1.ListSubscriberRequest.OrderBy

string · enum
Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
Default: created_at_asc

scaleway.lb.v1.ListSubscriberResponse

​scaleway.lb.v1.Subscriber[]

List of subscriber objects.

total_count
​integer · uint32

The total number of objects.

scaleway.lb.v1.OnMarkedDownAction

string · enum
Enum values:
on_marked_down_action_none
shutdown_sessions
Default: on_marked_down_action_none

scaleway.lb.v1.PrivateNetwork

Load Balancer object which is attached to the Private Network.

ipam_ids
​string[]

IPAM IDs of the booked IP addresses. (UUID format)

private_network_id
​string

Private Network ID.

status
​scaleway.lb.v1.PrivateNetwork.Status · enum

Status of Private Network connection.

Enum values:
unknown
ready
pending
error
Default: unknown
created_at
​string | null · date-time

Date on which the Private Network was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the PN was last updated. (RFC 3339 format)

scaleway.lb.v1.PrivateNetwork.DHCPConfig

scaleway.lb.v1.PrivateNetwork.StaticConfig

scaleway.lb.v1.PrivateNetwork.Status

string · enum
Enum values:
unknown
ready
pending
error
Default: unknown

scaleway.lb.v1.Protocol

string · enum
Enum values:
tcp
http
Default: tcp

scaleway.lb.v1.ProxyProtocol

string · enum
Enum values:
proxy_protocol_unknown
proxy_protocol_none
proxy_protocol_v1
proxy_protocol_v2
proxy_protocol_v2_ssl
proxy_protocol_v2_ssl_cn
Default: proxy_protocol_unknown

scaleway.lb.v1.Route

id
​string

Route ID.

frontend_id
​string

ID of the source frontend.

backend_id
​string

ID of the target backend.

Object defining the match condition for a route to be applied. If an incoming client session matches the specified condition (i.e. it has a matching SNI value or HTTP Host header value), it will be passed to the target backend.

created_at
​string | null · date-time

Date on which the route was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the route was last updated. (RFC 3339 format)

scaleway.lb.v1.Route.Match

sni
​string | null

Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. This field should be set for routes on TCP Load Balancers.

host_header
​string | null

HTTP host header to match. Value to match in the HTTP Host request header from an incoming request. This field should be set for routes on HTTP Load Balancers.

match_subdomains
​boolean

If true, all subdomains will match.

path_begin
​string | null

Path begin value to match. Value to match in the URL beginning path from an incoming request.

scaleway.lb.v1.SSLCompatibilityLevel

string · enum
Enum values:
ssl_compatibility_level_unknown
ssl_compatibility_level_intermediate
ssl_compatibility_level_modern
ssl_compatibility_level_old
Default: ssl_compatibility_level_unknown

scaleway.lb.v1.SetAclsResponse

List of ACL objects.

total_count
​integer · uint32

The total number of ACL objects.

scaleway.lb.v1.StickySessionsType

string · enum
Enum values:
none
cookie
table
Default: none

scaleway.lb.v1.Subscriber

id
​string

Subscriber ID.

name
​string

Subscriber name.

​

Email address of subscriber.

​

Webhook URI of subscriber.

scaleway.lb.v1.Subscriber.EmailConfig

email
​string

Email address to send alerts to.

scaleway.lb.v1.Subscriber.WebhookConfig

uri
​string

URI to receive POST requests.