openapi: 3.1.0 info: title: Load Balancer API description: "Load Balancers are highly available and fully managed [Instances](https://www.scaleway.com/en/docs/instances/concepts/#instance) that facilitate the distribution of incoming traffic across multiple servers. Load Balancers allow you to scale your applications while ensuring their continuous availability, even in the event of heavy traffic. They are commonly used to improve the performance and reliability of websites, applications, databases and other services.\n\nA Scaleway Load Balancer has a **public IP address** which is always reachable: in the event of hardware failure it is rerouted to a backup Instance. The Load Balancer receives incoming traffic at this IP address, monitors the health and availability of its **backend servers** via **health checks**, and balances traffic load between all healthy and available backend servers. \n\nYou can create as many **frontends** and **backends** for each Load Balancer as you wish, with frontends configured to listen on defined ports and forward traffic to specific backends. You can also add **certificates** to frontends to enable secure, encrypted connections and facilitate SSL bridging or offloading. Backends can be configured to use your **protocol** of choice (TCP or HTTP) to connect to their backend servers. Additional features such as Access Control Lists (ACLs) and routes allow you to further configure the flow of traffic through your Scaleway Load Balancer.\n\n\n\n\n## Concepts\n\nRefer to our [dedicated concepts page](https://www.scaleway.com/en/docs/load-balancer/concepts/) to find definitions of all Load Balancer-related terminology.\n\n\n\n\n## Quickstart\n\n**Requirements**:\nTo perform the following steps, you must first ensure that:\n- You have a [Scaleway account](https://console.scaleway.com/)\n- You have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page\n- You have [installed `curl`](https://curl.se/download.html)\n\n1. Configure your environment variables.\n\n \n This is an optional step that seeks to simplify your usage of the Load Balancer API.\n \ \n\n ```bash\n export SCW_SECRET_KEY=\"\"\n \ export SCW_DEFAULT_ZONE=\"\"\n export SCW_PROJECT_ID=\"\"\n ```\n\n2. Create a Load Balancer: run the following command to create a Load Balancer. You can customize the details in the payload (name, description, tags, etc) as you wish.\n\n ```bash\n curl -X POST \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n -H \"Content-Type: application/json\" \\\n \"https://api.scaleway.com/lb/v1/zones/$SCW_DEFAULT_ZONE/lbs\" \\\n -d '{\n \"name\":\"API Test LB\",\n \"description\": \"my new Load Balancer\",\n \"project_id\":\"'\"$SCW_PROJECT_ID\"'\",\n \"tags\":[\"test\",\"another tag\"]\n }'\n ```\n\n3. **Get a list of your Load Balancers**: run the following command to get a list of all the Load Balancers in your account, with their details:\n\n ```bash\n curl -X GET \\\n -H \"Content-Type: application/json\" \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n \"https://api.scaleway.com/lb/v1/zones/$SCW_DEFAULT_ZONE/lbs\"\n \ ```\n\n4. **Create a backend for your Load Balancer**: run the following command to create a backend for a specified Load Balancer. Ensure that you replace `` in the URL with the ID of the Load Balancer you want to create a backend for. You can customize the configuration of the backend according to your needs: use the information below to adjust the payload as necessary.\n\n ```bash\n curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n \"https://api.scaleway.com/lb/v1/zones/$SCW_DEFAULT_ZONE/lbs//backends\" \\\n -d '{\n \"name\":\"main backend\",\n \"forward_port\": 80,\n \"forward_port_algorithm\": \"roundrobin\",\n \"forward_protocol\": \"tcp\",\n \"health_check\":{\n \"check_delay\": 2000,\n \"check_max_retries\": 3,\n \"check_timeout\": 1000,\n \"port\": 80,\n \"tcp_config\":{}\n \ }, \n \"server_ip\": [\"184.224.68.187\", \"139.7.243.56\"]\n }'\n \ ```\n\n **Payload values**:\n\n * **name** (string): A name for the backend, e.g. `\"main backend\"`\n * **forward_port** (number): The port to use when connecting to a backend server to forward a user session, e.g. `8080`\n \ * **forward_port_algorithm** (string): The forwarding algorithm to use when determining which backend server to forward a user session to. Must be one of the following:\n * `\"roundrobin\"`: New sessions are forwarded to each backend server in turn. \n * `\"leastconn\"`: New sessions are forwarded to the backend server with the fewest current active sessions.\n * `\"first\"`: New sessions are forwarded to the first backend server found .\n * **forward_protocol** (string): The protocol to use when connecting to a backend server to forward a user session. Must be one of the following: \n * `\"tcp\"`: Transmission Control Protocol\n * `\"http\"`: Hypertext Transfer Protocol \n * **health_check** (object): The definition of the health check to use to check that backend servers are available and able to receive forwarded user sessions. Must contain the following parameters:\n * `\"check_delay\"`: The time between two consecutive health checks (in milliseconds)\n * `\"check_max_retries\"`: The number of consecutive unsuccessful health checks, after which the server will be considered dead\n * `\"check_timeout:\"` The maximum time a backend server has to reply to the health check (in milliseconds)\n * `\"port\"`: The port to use when connecting to a backend server for a health check\n * `\"_config\"`: The health check type to use. This parameter name must be one of `\"mysqlconfig\"`, `\"ldap_config\"`, `\"redis_config\"`, `\"tcp_config\"`, `\"pgsql_config\"`, `\"http_config\"` or `\"https_config\"`. The parameter value may be an empty object, or an object containing further parameters, depending on the health check configuration type selected. See the full documentation below on health checks for further details.\n * Example of valid `health_check` value `{\"check_delay\":2000,\"check_max_retries\":3,\"check_timeout\":1000,\"port\":80,\"tcp_config\":{}}`\n \ * **server_ip** (array): The list of IPv4 or IPv6 addresses of the backend servers to forward user sessions to, e.g. `[\"184.224.68.187\", \"139.7.243.56\"]`\n\n5. **Create a frontend for your Load Balancer**: run the following command to create a frontend for a specified Load Balancer. Ensure that you replace `` in the URL with the ID of the Load Balancer you want to create a frontend for. You can customize the configuration according to your needs: use the information below to adjust the payload as necessary.\n\n ```bash\n curl -X POST \\\n \ -H \"Content-Type: application/json\" \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n \"https://api.scaleway.com/lb/v1/zones/$SCW_DEFAULT_ZONE/lbs//frontends\" \\\n -d '{\n \"name\": \"main frontend\",\n \"backend_id\": \"6920166d-8665-426e-85a6-f137e7e71e7f\",\n \"inbound_port\": 80,\n \"timeout_client\": 5000\n }'\n ```\n\n **Payload values**:\n\n * **name** (string): A name for the frontend, e.g. `\"main frontend\"`\n * **backend_id** (number): The ID of the backend to attach to the frontend, e.g. `6920166d-8665-426e-85a6-f137e7e71e7f`\n \ * **inbound_port** (number): The port that the frontend should listen on for incoming connections, e.g. `80`\n * **timeout_client** (number): The maximum amount of inactivity time, in milliseconds, the frontend should allow before closing the connection, e.g. `5000`\n\n6. **Delete your Load Balancer**: run the following command to delete a Load Balancer. Ensure that you replace `` in the URL with the ID of the Load Balancer you want to delete. You can customize the payload to specify whether you want to release (delete) the [Flexible IP](https://www.scaleway.com/en/docs/load-balancer/concepts/#flexible-ip-address) associated with the Load Balancer or not.\n\n ```bash\n curl -X DELETE \\\n \ -H \"Content-Type: application/json\" \\\n -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n \"https://api.scaleway.com/lb/v1/zones/$SCW_DEFAULT_ZONE/lbs/\" \\\n -d '{\n \"release_ip\": false\n }'\n ```\n\n\n\n- You have a [Scaleway account](https://console.scaleway.com/)\n- You have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page\n- You have [installed `curl`](https://curl.se/download.html)\n\n\n\n## Technical information\n\n\n### Availability Zones\n\nLoad Balancers can be deployed in the following Availability Zones:\n\n| Name | API ID |\n|-----------|----------------------------------|\n| Paris | `fr-par-1` `fr-par-2` |\n| Amsterdam | `nl-ams-1` `nl-ams-2` `nl-ams-3` |\n| Warsaw | `pl-waw-1` `pl-waw-2` `pl-waw-3` |\n\nThe Scaleway Load Balancer API is a **zoned** API, meaning that each call must specify in its path parameters the Availability Zone for the resources concerned by the call.\n\n## Going further\n\nFor more help using Scaleway Load Balancers, check out the following resources:\n- Our [main documentation](https://www.scaleway.com/en/docs/load-balancer/)\n- The #load-balancer channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/)\n- Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/)." version: v1 servers: - url: https://api.scaleway.com tags: - name: Load Balancer description: The main Load Balancer object. A Scaleway Load Balancer is a representation of a fully-managed, highly-available Instance configured to direct traffic across multiple servers. Use the Load Balancer endpoint to create, list, manage, update, and delete Load Balancers. - name: Frontends description: The Load Balancer frontend object. It listens on a configured port and forward requests to one or several backends. You can create multiple frontends for any given Load Balancer, each listening on a different port, and choose to add certificates to them if you wish. Use the frontends endpoint to create, list, manage and delete frontends. - name: Backends description: The Load Balancer backend object. It represents a set of backend servers that the frontend forwards requests to using the specified configuration (port, protocol, proxy protocol etc). You can create multiple backends for each of your Load Balancers. Use the backends endpoint to create backends, list, manage and update them and their healthchecks / backend servers, and delete them as required - name: Route description: The Load Balancer route object. It represents a configuration on a particular frontend to direct traffic to a particular backend if certain conditions are fulfilled. Conditions must be based on SNI for direction to TCP backends, or HTTP host headers for direction to HTTP backends. Use the routes endpoint to create, edit, list, get and delete your routes. - name: IP addresses description: The Load Balancer IP address object. It represents a flexible IP address which can be attached to a Load Balancer. Use this endpoint to create, list, get, update and delete your Load Balancer IP addresses. - name: Stats description: Load balancer statistics (deprecated). - name: ACLs description: The Load Balancer ACL object. It represents an Access Control List rule, which tells a given frontend to allow or deny incoming traffic based on the traffic's source IP address and/or HTTP path and header. Use this endpoint to create, list, get, update and delete ACLs. - name: Certificate description: The Load Balancer certificate object. It represents an SSL/TLS certificate for your Load Balancer which can be used by a frontend to establish secure, encrypted connections for incoming traffic. Use this endpoint to create Let's Encrypt certificates or import custom certificates for your Load Balancer, and update, list, get and delete them as required. - name: Load Balancer Types description: The Load Balancer offer type object. It represents the different commercial types of Load Balancer offered by Scaleway, each with different specifications and pricing. Use this endpoint to list all Load Balancer offer types. - name: Alert Subscribers description: The Alert Subscribers object. It represents a subscription to alerts about Scaleway incidents impacting a given Load Balancer. Use this endpoint to create subscribers (email addresses or webhooks), subscribe / unsubscribe them to alerts for a particular Load Balancer, and update, list, get and delete subscribers. - name: Private Networks description: The Private Network object. It represents Scaleway Private Networks which can be attached to/detached from a Load Balancer. Use this endpoint to list the Private Networks attached to a Load Balancer, and to attach/detach a Load Balancer to/from a Private Network. To create new Private Networks, use the dedicated [Private Networks API](https://www.scaleway.com/en/developers/api/vpc/). components: schemas: google.protobuf.StringValue: type: string nullable: true scaleway.lb.v1.Acl: type: object properties: id: type: string description: ACL ID. name: type: string description: ACL name. match: type: object description: ACL match filter object. One of `ip_subnet`, `ips_edge_services` or `http_filter` & `http_filter_value` are required. properties: ip_subnet: type: array description: List of IPs or CIDR v4/v6 addresses to filter for from the client side. items: $ref: '#/components/schemas/google.protobuf.StringValue' ips_edge_services: type: boolean description: Defines whether Edge Services IPs should be matched. http_filter: type: string description: 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: - acl_http_filter_none - path_begin - path_end - regex - http_header_match default: acl_http_filter_none http_filter_value: type: array description: List of values to filter for. items: $ref: '#/components/schemas/google.protobuf.StringValue' http_filter_option: type: string description: Name of the HTTP header to filter on if `http_header_match` was selected in `http_filter`. nullable: true invert: type: boolean description: Defines whether to invert the match condition. If set to `true`, the ACL carries out its action when the condition DOES NOT match. x-properties-order: - ip_subnet - ips_edge_services - http_filter - http_filter_value - http_filter_option - invert action: type: object description: Action to take when incoming traffic matches an ACL filter. properties: type: type: string description: Action to take when incoming traffic matches an ACL filter. enum: - allow - deny - redirect default: allow redirect: type: object description: Redirection parameters when using an ACL with a `redirect` action. properties: type: type: string description: Redirect type. enum: - location - scheme default: location target: type: string description: 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: type: integer description: HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308. Default value is 302. format: int32 nullable: true x-properties-order: - type - target - code x-properties-order: - type - redirect frontend: type: object description: ACL is attached to this frontend object. properties: id: type: string description: Frontend ID. name: type: string description: Name of the frontend. inbound_port: type: integer description: Port the frontend listens on. format: int32 backend: type: object description: Backend object the frontend is attached to. properties: id: type: string description: Backend ID. name: type: string description: Name of the backend. forward_protocol: type: string description: Protocol used by the backend when forwarding traffic to backend servers. enum: - tcp - http default: tcp forward_port: type: integer description: Port used by the backend when forwarding traffic to backend servers. format: int32 forward_port_algorithm: type: string description: Load balancing algorithm to use when determining which backend server to forward new traffic to. enum: - roundrobin - leastconn - first default: roundrobin sticky_sessions: type: string description: 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: - none - cookie - table default: none sticky_sessions_cookie_name: type: string description: Cookie name for cookie-based sticky sessions. health_check: type: object description: Object defining the health check to be carried out by the backend when checking the status and health of backend servers. properties: port: type: integer description: Port to use for the backend server health check. format: int32 check_delay: type: number description: Time to wait between two consecutive health checks. (in milliseconds) default: 3000 check_timeout: type: number description: Maximum time a backend server has to reply to the health check. (in milliseconds) default: 1000 check_max_retries: type: integer description: Number of consecutive unsuccessful health checks after which the server will be considered dead. format: int32 tcp_config: type: object description: Object to configure a basic TCP health check. nullable: true x-one-of: config mysql_config: type: object description: 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. properties: user: type: string description: MySQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: config pgsql_config: type: object description: Object to configure a PostgreSQL health check. properties: user: type: string description: PostgreSQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: config ldap_config: type: object description: Object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message. nullable: true x-one-of: config redis_config: type: object description: Object to configure a Redis health check. The response is analyzed to find the +PONG response message. nullable: true x-one-of: config http_config: type: object description: Object to configure an HTTP health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. nullable: true x-properties-order: - uri - method - code - host_header x-one-of: config https_config: type: object description: Object to configure an HTTPS health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. sni: type: string description: |- SNI used for SSL health checks. The SNI value used when performing a health check on backend servers over SSL. nullable: true x-properties-order: - uri - method - code - host_header - sni x-one-of: config check_send_proxy: type: boolean description: Defines whether proxy protocol should be activated for the health check. transient_check_delay: type: string description: Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). (in seconds) example: 2.5s nullable: true default: 0.5s x-properties-order: - port - check_delay - check_timeout - check_max_retries - tcp_config - mysql_config - pgsql_config - ldap_config - redis_config - http_config - https_config - check_send_proxy - transient_check_delay pool: type: array description: List of IP addresses of backend servers attached to this backend. items: type: string lb: type: object description: Load Balancer the backend is attached to. properties: id: type: string description: Underlying Instance ID. name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. status: type: string description: Load Balancer status. enum: - unknown - ready - pending - stopped - error - locked - migrating - to_create - creating - to_delete - deleting default: unknown instances: type: array description: List of underlying Instances. items: $ref: '#/components/schemas/scaleway.lb.v1.Instance' organization_id: type: string description: Scaleway Organization ID. project_id: type: string description: Scaleway Project ID. ip: type: array description: List of IP addresses attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' tags: type: array description: Load Balancer tags. items: type: string frontend_count: type: integer description: Number of frontends the Load Balancer has. format: int32 backend_count: type: integer description: Number of backends the Load Balancer has. format: int32 type: type: string description: Load Balancer offer type. subscriber: type: object description: Subscriber information. properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on client side. enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown created_at: type: string description: Date on which the Load Balancer was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Load Balancer was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true private_network_count: type: integer description: Number of Private Networks attached to the Load Balancer. format: int32 route_count: type: integer description: Number of routes configured on the Load Balancer. format: int32 region: type: string description: The region the Load Balancer is in. deprecated: true zone: type: string description: The zone the Load Balancer is in. x-properties-order: - id - name - description - status - instances - organization_id - project_id - ip - tags - frontend_count - backend_count - type - subscriber - ssl_compatibility_level - created_at - updated_at - private_network_count - route_count - region - zone send_proxy_v2: type: boolean description: Deprecated in favor of proxy_protocol field. deprecated: true timeout_server: type: number description: Maximum allowed time for a backend server to process a request. (in milliseconds) default: 300000 timeout_connect: type: number description: Maximum allowed time for establishing a connection to a backend server. (in milliseconds) default: 5000 timeout_tunnel: type: number description: Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds) default: 900000 on_marked_down_action: type: string description: Action to take when a backend server is marked as down. enum: - on_marked_down_action_none - shutdown_sessions default: on_marked_down_action_none proxy_protocol: type: string description: 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: - 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: type: string description: Date at which the backend was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date at which the backend was updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true failover_host: type: string description: 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. nullable: true ssl_bridging: type: boolean description: Defines whether to enable SSL bridging between the Load Balancer and backend servers. nullable: true ignore_ssl_server_verify: type: boolean description: Defines whether the server certificate verification should be ignored. nullable: true redispatch_attempt_count: type: integer description: Whether to use another backend server on each attempt. format: int32 nullable: true max_retries: type: integer description: Number of retries when a backend server connection failed. format: int32 nullable: true max_connections: type: integer description: Maximum number of connections allowed per backend server. format: int32 nullable: true timeout_queue: type: string description: Maximum time for a request to be left pending in queue when `max_connections` is reached. (in seconds) example: 2.5s nullable: true x-properties-order: - id - name - forward_protocol - forward_port - forward_port_algorithm - sticky_sessions - sticky_sessions_cookie_name - health_check - pool - lb - send_proxy_v2 - timeout_server - timeout_connect - timeout_tunnel - on_marked_down_action - proxy_protocol - created_at - updated_at - failover_host - ssl_bridging - ignore_ssl_server_verify - redispatch_attempt_count - max_retries - max_connections - timeout_queue lb: type: object description: Load Balancer object the frontend is attached to. properties: id: type: string description: Underlying Instance ID. name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. status: type: string description: Load Balancer status. enum: - unknown - ready - pending - stopped - error - locked - migrating - to_create - creating - to_delete - deleting default: unknown instances: type: array description: List of underlying Instances. items: $ref: '#/components/schemas/scaleway.lb.v1.Instance' organization_id: type: string description: Scaleway Organization ID. project_id: type: string description: Scaleway Project ID. ip: type: array description: List of IP addresses attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' tags: type: array description: Load Balancer tags. items: type: string frontend_count: type: integer description: Number of frontends the Load Balancer has. format: int32 backend_count: type: integer description: Number of backends the Load Balancer has. format: int32 type: type: string description: Load Balancer offer type. subscriber: type: object description: Subscriber information. properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on client side. enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown created_at: type: string description: Date on which the Load Balancer was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Load Balancer was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true private_network_count: type: integer description: Number of Private Networks attached to the Load Balancer. format: int32 route_count: type: integer description: Number of routes configured on the Load Balancer. format: int32 region: type: string description: The region the Load Balancer is in. deprecated: true zone: type: string description: The zone the Load Balancer is in. x-properties-order: - id - name - description - status - instances - organization_id - project_id - ip - tags - frontend_count - backend_count - type - subscriber - ssl_compatibility_level - created_at - updated_at - private_network_count - route_count - region - zone timeout_client: type: number description: Maximum allowed inactivity time on the client side. (in milliseconds) default: 300000 certificate: type: object description: Certificate, deprecated in favor of certificate_ids array. deprecated: true properties: type: type: string description: Certificate type (Let's Encrypt or custom). enum: - letsencryt - custom - letsencrypt default: letsencryt id: type: string description: Certificate ID. common_name: type: string description: Main domain name of certificate. subject_alternative_name: type: array description: Alternative domain names. items: type: string fingerprint: type: string description: Identifier (SHA-1) of the certificate. not_valid_before: type: string description: Lower validity bound. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true not_valid_after: type: string description: Upper validity bound. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true status: type: string description: Certificate status. enum: - pending - ready - error default: pending lb: type: object description: Load Balancer object the certificate is attached to. properties: id: type: string description: Underlying Instance ID. name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. status: type: string description: Load Balancer status. enum: - unknown - ready - pending - stopped - error - locked - migrating - to_create - creating - to_delete - deleting default: unknown instances: type: array description: List of underlying Instances. items: $ref: '#/components/schemas/scaleway.lb.v1.Instance' organization_id: type: string description: Scaleway Organization ID. project_id: type: string description: Scaleway Project ID. ip: type: array description: List of IP addresses attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' tags: type: array description: Load Balancer tags. items: type: string frontend_count: type: integer description: Number of frontends the Load Balancer has. format: int32 backend_count: type: integer description: Number of backends the Load Balancer has. format: int32 type: type: string description: Load Balancer offer type. subscriber: type: object description: Subscriber information. properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on client side. enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown created_at: type: string description: Date on which the Load Balancer was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Load Balancer was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true private_network_count: type: integer description: Number of Private Networks attached to the Load Balancer. format: int32 route_count: type: integer description: Number of routes configured on the Load Balancer. format: int32 region: type: string description: The region the Load Balancer is in. deprecated: true zone: type: string description: The zone the Load Balancer is in. x-properties-order: - id - name - description - status - instances - organization_id - project_id - ip - tags - frontend_count - backend_count - type - subscriber - ssl_compatibility_level - created_at - updated_at - private_network_count - route_count - region - zone name: type: string description: Certificate name. created_at: type: string description: Date on which the certificate was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the certificate was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true status_details: type: string description: Additional information about the certificate status (useful in case of certificate generation failure, for example). nullable: true x-properties-order: - type - id - common_name - subject_alternative_name - fingerprint - not_valid_before - not_valid_after - status - lb - name - created_at - updated_at - status_details certificate_ids: type: array description: List of SSL/TLS certificate IDs to bind to the frontend. items: type: string created_at: type: string description: Date on which the frontend was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the frontend was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true enable_http3: type: boolean description: Defines whether to enable HTTP/3 protocol on the frontend. connection_rate_limit: type: integer description: Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second. format: uint32 nullable: true enable_access_logs: type: boolean description: Defines whether to enable access logs on the frontend. x-properties-order: - id - name - inbound_port - backend - lb - timeout_client - certificate - certificate_ids - created_at - updated_at - enable_http3 - connection_rate_limit - enable_access_logs index: type: integer description: Priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed). format: int32 created_at: type: string description: Date on which the ACL was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the ACL was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true description: type: string description: ACL description. x-properties-order: - id - name - match - action - frontend - index - created_at - updated_at - description scaleway.lb.v1.AclSpec: type: object properties: name: type: string description: ACL name. action: type: object description: Action to take when incoming traffic matches an ACL filter. properties: type: type: string description: Action to take when incoming traffic matches an ACL filter. enum: - allow - deny - redirect default: allow redirect: type: object description: Redirection parameters when using an ACL with a `redirect` action. properties: type: type: string description: Redirect type. enum: - location - scheme default: location target: type: string description: 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: type: integer description: HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308. Default value is 302. format: int32 nullable: true x-properties-order: - type - target - code x-properties-order: - type - redirect match: type: object description: ACL match filter object. One of `ip_subnet`, `ips_edge_services` or `http_filter` and `http_filter_value` are required. properties: ip_subnet: type: array description: List of IPs or CIDR v4/v6 addresses to filter for from the client side. items: $ref: '#/components/schemas/google.protobuf.StringValue' ips_edge_services: type: boolean description: Defines whether Edge Services IPs should be matched. http_filter: type: string description: 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: - acl_http_filter_none - path_begin - path_end - regex - http_header_match default: acl_http_filter_none http_filter_value: type: array description: List of values to filter for. items: $ref: '#/components/schemas/google.protobuf.StringValue' http_filter_option: type: string description: Name of the HTTP header to filter on if `http_header_match` was selected in `http_filter`. nullable: true invert: type: boolean description: Defines whether to invert the match condition. If set to `true`, the ACL carries out its action when the condition DOES NOT match. x-properties-order: - ip_subnet - ips_edge_services - http_filter - http_filter_value - http_filter_option - invert index: type: integer description: Priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed). format: int32 description: type: string description: ACL description. required: - name - action - index x-properties-order: - name - action - match - index - description scaleway.lb.v1.Backend: type: object properties: id: type: string description: Backend ID. name: type: string description: Name of the backend. forward_protocol: type: string description: Protocol used by the backend when forwarding traffic to backend servers. enum: - tcp - http default: tcp forward_port: type: integer description: Port used by the backend when forwarding traffic to backend servers. format: int32 forward_port_algorithm: type: string description: Load balancing algorithm to use when determining which backend server to forward new traffic to. enum: - roundrobin - leastconn - first default: roundrobin sticky_sessions: type: string description: 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: - none - cookie - table default: none sticky_sessions_cookie_name: type: string description: Cookie name for cookie-based sticky sessions. health_check: type: object description: Object defining the health check to be carried out by the backend when checking the status and health of backend servers. properties: port: type: integer description: Port to use for the backend server health check. format: int32 check_delay: type: number description: Time to wait between two consecutive health checks. (in milliseconds) default: 3000 check_timeout: type: number description: Maximum time a backend server has to reply to the health check. (in milliseconds) default: 1000 check_max_retries: type: integer description: Number of consecutive unsuccessful health checks after which the server will be considered dead. format: int32 tcp_config: type: object description: Object to configure a basic TCP health check. nullable: true x-one-of: config mysql_config: type: object description: 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. properties: user: type: string description: MySQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: config pgsql_config: type: object description: Object to configure a PostgreSQL health check. properties: user: type: string description: PostgreSQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: config ldap_config: type: object description: Object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message. nullable: true x-one-of: config redis_config: type: object description: Object to configure a Redis health check. The response is analyzed to find the +PONG response message. nullable: true x-one-of: config http_config: type: object description: Object to configure an HTTP health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. nullable: true x-properties-order: - uri - method - code - host_header x-one-of: config https_config: type: object description: Object to configure an HTTPS health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. sni: type: string description: |- SNI used for SSL health checks. The SNI value used when performing a health check on backend servers over SSL. nullable: true x-properties-order: - uri - method - code - host_header - sni x-one-of: config check_send_proxy: type: boolean description: Defines whether proxy protocol should be activated for the health check. transient_check_delay: type: string description: Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). (in seconds) example: 2.5s nullable: true default: 0.5s x-properties-order: - port - check_delay - check_timeout - check_max_retries - tcp_config - mysql_config - pgsql_config - ldap_config - redis_config - http_config - https_config - check_send_proxy - transient_check_delay pool: type: array description: List of IP addresses of backend servers attached to this backend. items: type: string lb: type: object description: Load Balancer the backend is attached to. properties: id: type: string description: Underlying Instance ID. name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. status: type: string description: Load Balancer status. enum: - unknown - ready - pending - stopped - error - locked - migrating - to_create - creating - to_delete - deleting default: unknown instances: type: array description: List of underlying Instances. items: $ref: '#/components/schemas/scaleway.lb.v1.Instance' organization_id: type: string description: Scaleway Organization ID. project_id: type: string description: Scaleway Project ID. ip: type: array description: List of IP addresses attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' tags: type: array description: Load Balancer tags. items: type: string frontend_count: type: integer description: Number of frontends the Load Balancer has. format: int32 backend_count: type: integer description: Number of backends the Load Balancer has. format: int32 type: type: string description: Load Balancer offer type. subscriber: type: object description: Subscriber information. properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on client side. enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown created_at: type: string description: Date on which the Load Balancer was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Load Balancer was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true private_network_count: type: integer description: Number of Private Networks attached to the Load Balancer. format: int32 route_count: type: integer description: Number of routes configured on the Load Balancer. format: int32 region: type: string description: The region the Load Balancer is in. deprecated: true zone: type: string description: The zone the Load Balancer is in. x-properties-order: - id - name - description - status - instances - organization_id - project_id - ip - tags - frontend_count - backend_count - type - subscriber - ssl_compatibility_level - created_at - updated_at - private_network_count - route_count - region - zone send_proxy_v2: type: boolean description: Deprecated in favor of proxy_protocol field. deprecated: true timeout_server: type: number description: Maximum allowed time for a backend server to process a request. (in milliseconds) default: 300000 timeout_connect: type: number description: Maximum allowed time for establishing a connection to a backend server. (in milliseconds) default: 5000 timeout_tunnel: type: number description: Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds) default: 900000 on_marked_down_action: type: string description: Action to take when a backend server is marked as down. enum: - on_marked_down_action_none - shutdown_sessions default: on_marked_down_action_none proxy_protocol: type: string description: 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: - 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: type: string description: Date at which the backend was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date at which the backend was updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true failover_host: type: string description: 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. nullable: true ssl_bridging: type: boolean description: Defines whether to enable SSL bridging between the Load Balancer and backend servers. nullable: true ignore_ssl_server_verify: type: boolean description: Defines whether the server certificate verification should be ignored. nullable: true redispatch_attempt_count: type: integer description: Whether to use another backend server on each attempt. format: int32 nullable: true max_retries: type: integer description: Number of retries when a backend server connection failed. format: int32 nullable: true max_connections: type: integer description: Maximum number of connections allowed per backend server. format: int32 nullable: true timeout_queue: type: string description: Maximum time for a request to be left pending in queue when `max_connections` is reached. (in seconds) example: 2.5s nullable: true x-properties-order: - id - name - forward_protocol - forward_port - forward_port_algorithm - sticky_sessions - sticky_sessions_cookie_name - health_check - pool - lb - send_proxy_v2 - timeout_server - timeout_connect - timeout_tunnel - on_marked_down_action - proxy_protocol - created_at - updated_at - failover_host - ssl_bridging - ignore_ssl_server_verify - redispatch_attempt_count - max_retries - max_connections - timeout_queue scaleway.lb.v1.BackendServerStats: type: object properties: instance_id: type: string description: ID of your Load Balancer's underlying Instance. backend_id: type: string description: Backend ID. ip: type: string description: IPv4 or IPv6 address of the backend server. server_state: type: string description: Server operational state (stopped/starting/running/stopping). enum: - stopped - starting - running - stopping default: stopped server_state_changed_at: type: string description: Time since last operational change. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true last_health_check_status: type: string description: Last health check status (unknown/neutral/failed/passed/condpass). enum: - unknown - neutral - failed - passed - condpass default: unknown x-properties-order: - instance_id - backend_id - ip - server_state - server_state_changed_at - last_health_check_status scaleway.lb.v1.Certificate: type: object properties: type: type: string description: Certificate type (Let's Encrypt or custom). enum: - letsencryt - custom - letsencrypt default: letsencryt id: type: string description: Certificate ID. common_name: type: string description: Main domain name of certificate. subject_alternative_name: type: array description: Alternative domain names. items: type: string fingerprint: type: string description: Identifier (SHA-1) of the certificate. not_valid_before: type: string description: Lower validity bound. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true not_valid_after: type: string description: Upper validity bound. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true status: type: string description: Certificate status. enum: - pending - ready - error default: pending lb: type: object description: Load Balancer object the certificate is attached to. properties: id: type: string description: Underlying Instance ID. name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. status: type: string description: Load Balancer status. enum: - unknown - ready - pending - stopped - error - locked - migrating - to_create - creating - to_delete - deleting default: unknown instances: type: array description: List of underlying Instances. items: $ref: '#/components/schemas/scaleway.lb.v1.Instance' organization_id: type: string description: Scaleway Organization ID. project_id: type: string description: Scaleway Project ID. ip: type: array description: List of IP addresses attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' tags: type: array description: Load Balancer tags. items: type: string frontend_count: type: integer description: Number of frontends the Load Balancer has. format: int32 backend_count: type: integer description: Number of backends the Load Balancer has. format: int32 type: type: string description: Load Balancer offer type. subscriber: type: object description: Subscriber information. properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on client side. enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown created_at: type: string description: Date on which the Load Balancer was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Load Balancer was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true private_network_count: type: integer description: Number of Private Networks attached to the Load Balancer. format: int32 route_count: type: integer description: Number of routes configured on the Load Balancer. format: int32 region: type: string description: The region the Load Balancer is in. deprecated: true zone: type: string description: The zone the Load Balancer is in. x-properties-order: - id - name - description - status - instances - organization_id - project_id - ip - tags - frontend_count - backend_count - type - subscriber - ssl_compatibility_level - created_at - updated_at - private_network_count - route_count - region - zone name: type: string description: Certificate name. created_at: type: string description: Date on which the certificate was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the certificate was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true status_details: type: string description: Additional information about the certificate status (useful in case of certificate generation failure, for example). nullable: true x-properties-order: - type - id - common_name - subject_alternative_name - fingerprint - not_valid_before - not_valid_after - status - lb - name - created_at - updated_at - status_details scaleway.lb.v1.Frontend: type: object properties: id: type: string description: Frontend ID. name: type: string description: Name of the frontend. inbound_port: type: integer description: Port the frontend listens on. format: int32 backend: type: object description: Backend object the frontend is attached to. properties: id: type: string description: Backend ID. name: type: string description: Name of the backend. forward_protocol: type: string description: Protocol used by the backend when forwarding traffic to backend servers. enum: - tcp - http default: tcp forward_port: type: integer description: Port used by the backend when forwarding traffic to backend servers. format: int32 forward_port_algorithm: type: string description: Load balancing algorithm to use when determining which backend server to forward new traffic to. enum: - roundrobin - leastconn - first default: roundrobin sticky_sessions: type: string description: 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: - none - cookie - table default: none sticky_sessions_cookie_name: type: string description: Cookie name for cookie-based sticky sessions. health_check: type: object description: Object defining the health check to be carried out by the backend when checking the status and health of backend servers. properties: port: type: integer description: Port to use for the backend server health check. format: int32 check_delay: type: number description: Time to wait between two consecutive health checks. (in milliseconds) default: 3000 check_timeout: type: number description: Maximum time a backend server has to reply to the health check. (in milliseconds) default: 1000 check_max_retries: type: integer description: Number of consecutive unsuccessful health checks after which the server will be considered dead. format: int32 tcp_config: type: object description: Object to configure a basic TCP health check. nullable: true x-one-of: config mysql_config: type: object description: 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. properties: user: type: string description: MySQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: config pgsql_config: type: object description: Object to configure a PostgreSQL health check. properties: user: type: string description: PostgreSQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: config ldap_config: type: object description: Object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message. nullable: true x-one-of: config redis_config: type: object description: Object to configure a Redis health check. The response is analyzed to find the +PONG response message. nullable: true x-one-of: config http_config: type: object description: Object to configure an HTTP health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. nullable: true x-properties-order: - uri - method - code - host_header x-one-of: config https_config: type: object description: Object to configure an HTTPS health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. sni: type: string description: |- SNI used for SSL health checks. The SNI value used when performing a health check on backend servers over SSL. nullable: true x-properties-order: - uri - method - code - host_header - sni x-one-of: config check_send_proxy: type: boolean description: Defines whether proxy protocol should be activated for the health check. transient_check_delay: type: string description: Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). (in seconds) example: 2.5s nullable: true default: 0.5s x-properties-order: - port - check_delay - check_timeout - check_max_retries - tcp_config - mysql_config - pgsql_config - ldap_config - redis_config - http_config - https_config - check_send_proxy - transient_check_delay pool: type: array description: List of IP addresses of backend servers attached to this backend. items: type: string lb: type: object description: Load Balancer the backend is attached to. properties: id: type: string description: Underlying Instance ID. name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. status: type: string description: Load Balancer status. enum: - unknown - ready - pending - stopped - error - locked - migrating - to_create - creating - to_delete - deleting default: unknown instances: type: array description: List of underlying Instances. items: $ref: '#/components/schemas/scaleway.lb.v1.Instance' organization_id: type: string description: Scaleway Organization ID. project_id: type: string description: Scaleway Project ID. ip: type: array description: List of IP addresses attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' tags: type: array description: Load Balancer tags. items: type: string frontend_count: type: integer description: Number of frontends the Load Balancer has. format: int32 backend_count: type: integer description: Number of backends the Load Balancer has. format: int32 type: type: string description: Load Balancer offer type. subscriber: type: object description: Subscriber information. properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on client side. enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown created_at: type: string description: Date on which the Load Balancer was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Load Balancer was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true private_network_count: type: integer description: Number of Private Networks attached to the Load Balancer. format: int32 route_count: type: integer description: Number of routes configured on the Load Balancer. format: int32 region: type: string description: The region the Load Balancer is in. deprecated: true zone: type: string description: The zone the Load Balancer is in. x-properties-order: - id - name - description - status - instances - organization_id - project_id - ip - tags - frontend_count - backend_count - type - subscriber - ssl_compatibility_level - created_at - updated_at - private_network_count - route_count - region - zone send_proxy_v2: type: boolean description: Deprecated in favor of proxy_protocol field. deprecated: true timeout_server: type: number description: Maximum allowed time for a backend server to process a request. (in milliseconds) default: 300000 timeout_connect: type: number description: Maximum allowed time for establishing a connection to a backend server. (in milliseconds) default: 5000 timeout_tunnel: type: number description: Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds) default: 900000 on_marked_down_action: type: string description: Action to take when a backend server is marked as down. enum: - on_marked_down_action_none - shutdown_sessions default: on_marked_down_action_none proxy_protocol: type: string description: 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: - 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: type: string description: Date at which the backend was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date at which the backend was updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true failover_host: type: string description: 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. nullable: true ssl_bridging: type: boolean description: Defines whether to enable SSL bridging between the Load Balancer and backend servers. nullable: true ignore_ssl_server_verify: type: boolean description: Defines whether the server certificate verification should be ignored. nullable: true redispatch_attempt_count: type: integer description: Whether to use another backend server on each attempt. format: int32 nullable: true max_retries: type: integer description: Number of retries when a backend server connection failed. format: int32 nullable: true max_connections: type: integer description: Maximum number of connections allowed per backend server. format: int32 nullable: true timeout_queue: type: string description: Maximum time for a request to be left pending in queue when `max_connections` is reached. (in seconds) example: 2.5s nullable: true x-properties-order: - id - name - forward_protocol - forward_port - forward_port_algorithm - sticky_sessions - sticky_sessions_cookie_name - health_check - pool - lb - send_proxy_v2 - timeout_server - timeout_connect - timeout_tunnel - on_marked_down_action - proxy_protocol - created_at - updated_at - failover_host - ssl_bridging - ignore_ssl_server_verify - redispatch_attempt_count - max_retries - max_connections - timeout_queue lb: type: object description: Load Balancer object the frontend is attached to. properties: id: type: string description: Underlying Instance ID. name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. status: type: string description: Load Balancer status. enum: - unknown - ready - pending - stopped - error - locked - migrating - to_create - creating - to_delete - deleting default: unknown instances: type: array description: List of underlying Instances. items: $ref: '#/components/schemas/scaleway.lb.v1.Instance' organization_id: type: string description: Scaleway Organization ID. project_id: type: string description: Scaleway Project ID. ip: type: array description: List of IP addresses attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' tags: type: array description: Load Balancer tags. items: type: string frontend_count: type: integer description: Number of frontends the Load Balancer has. format: int32 backend_count: type: integer description: Number of backends the Load Balancer has. format: int32 type: type: string description: Load Balancer offer type. subscriber: type: object description: Subscriber information. properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on client side. enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown created_at: type: string description: Date on which the Load Balancer was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Load Balancer was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true private_network_count: type: integer description: Number of Private Networks attached to the Load Balancer. format: int32 route_count: type: integer description: Number of routes configured on the Load Balancer. format: int32 region: type: string description: The region the Load Balancer is in. deprecated: true zone: type: string description: The zone the Load Balancer is in. x-properties-order: - id - name - description - status - instances - organization_id - project_id - ip - tags - frontend_count - backend_count - type - subscriber - ssl_compatibility_level - created_at - updated_at - private_network_count - route_count - region - zone timeout_client: type: number description: Maximum allowed inactivity time on the client side. (in milliseconds) default: 300000 certificate: type: object description: Certificate, deprecated in favor of certificate_ids array. deprecated: true properties: type: type: string description: Certificate type (Let's Encrypt or custom). enum: - letsencryt - custom - letsencrypt default: letsencryt id: type: string description: Certificate ID. common_name: type: string description: Main domain name of certificate. subject_alternative_name: type: array description: Alternative domain names. items: type: string fingerprint: type: string description: Identifier (SHA-1) of the certificate. not_valid_before: type: string description: Lower validity bound. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true not_valid_after: type: string description: Upper validity bound. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true status: type: string description: Certificate status. enum: - pending - ready - error default: pending lb: type: object description: Load Balancer object the certificate is attached to. properties: id: type: string description: Underlying Instance ID. name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. status: type: string description: Load Balancer status. enum: - unknown - ready - pending - stopped - error - locked - migrating - to_create - creating - to_delete - deleting default: unknown instances: type: array description: List of underlying Instances. items: $ref: '#/components/schemas/scaleway.lb.v1.Instance' organization_id: type: string description: Scaleway Organization ID. project_id: type: string description: Scaleway Project ID. ip: type: array description: List of IP addresses attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' tags: type: array description: Load Balancer tags. items: type: string frontend_count: type: integer description: Number of frontends the Load Balancer has. format: int32 backend_count: type: integer description: Number of backends the Load Balancer has. format: int32 type: type: string description: Load Balancer offer type. subscriber: type: object description: Subscriber information. properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on client side. enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown created_at: type: string description: Date on which the Load Balancer was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Load Balancer was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true private_network_count: type: integer description: Number of Private Networks attached to the Load Balancer. format: int32 route_count: type: integer description: Number of routes configured on the Load Balancer. format: int32 region: type: string description: The region the Load Balancer is in. deprecated: true zone: type: string description: The zone the Load Balancer is in. x-properties-order: - id - name - description - status - instances - organization_id - project_id - ip - tags - frontend_count - backend_count - type - subscriber - ssl_compatibility_level - created_at - updated_at - private_network_count - route_count - region - zone name: type: string description: Certificate name. created_at: type: string description: Date on which the certificate was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the certificate was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true status_details: type: string description: Additional information about the certificate status (useful in case of certificate generation failure, for example). nullable: true x-properties-order: - type - id - common_name - subject_alternative_name - fingerprint - not_valid_before - not_valid_after - status - lb - name - created_at - updated_at - status_details certificate_ids: type: array description: List of SSL/TLS certificate IDs to bind to the frontend. items: type: string created_at: type: string description: Date on which the frontend was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the frontend was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true enable_http3: type: boolean description: Defines whether to enable HTTP/3 protocol on the frontend. connection_rate_limit: type: integer description: Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second. format: uint32 nullable: true enable_access_logs: type: boolean description: Defines whether to enable access logs on the frontend. x-properties-order: - id - name - inbound_port - backend - lb - timeout_client - certificate - certificate_ids - created_at - updated_at - enable_http3 - connection_rate_limit - enable_access_logs scaleway.lb.v1.HealthCheck: type: object properties: port: type: integer description: Port to use for the backend server health check. format: int32 check_delay: type: number description: Time to wait between two consecutive health checks. (in milliseconds) default: 3000 check_timeout: type: number description: Maximum time a backend server has to reply to the health check. (in milliseconds) default: 1000 check_max_retries: type: integer description: Number of consecutive unsuccessful health checks after which the server will be considered dead. format: int32 tcp_config: type: object description: Object to configure a basic TCP health check. nullable: true x-one-of: config mysql_config: type: object description: 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. properties: user: type: string description: MySQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: config pgsql_config: type: object description: Object to configure a PostgreSQL health check. properties: user: type: string description: PostgreSQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: config ldap_config: type: object description: Object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message. nullable: true x-one-of: config redis_config: type: object description: Object to configure a Redis health check. The response is analyzed to find the +PONG response message. nullable: true x-one-of: config http_config: type: object description: Object to configure an HTTP health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. nullable: true x-properties-order: - uri - method - code - host_header x-one-of: config https_config: type: object description: Object to configure an HTTPS health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. sni: type: string description: |- SNI used for SSL health checks. The SNI value used when performing a health check on backend servers over SSL. nullable: true x-properties-order: - uri - method - code - host_header - sni x-one-of: config check_send_proxy: type: boolean description: Defines whether proxy protocol should be activated for the health check. transient_check_delay: type: string description: Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). (in seconds) example: 2.5s nullable: true default: 0.5s x-properties-order: - port - check_delay - check_timeout - check_max_retries - tcp_config - mysql_config - pgsql_config - ldap_config - redis_config - http_config - https_config - check_send_proxy - transient_check_delay scaleway.lb.v1.Instance: type: object properties: id: type: string description: Underlying Instance ID. status: type: string description: Instance status. enum: - unknown - ready - pending - stopped - error - locked - migrating default: unknown ip_address: type: string description: Instance IP address. created_at: type: string description: Date on which the Instance was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Instance was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true region: type: string description: The region the Instance is in. deprecated: true zone: type: string description: The zone the Instance is in. x-properties-order: - id - status - ip_address - created_at - updated_at - region - zone scaleway.lb.v1.Ip: type: object properties: id: type: string description: IP address ID. ip_address: type: string description: IP address. organization_id: type: string description: Organization ID of the Scaleway Organization the IP address is in. project_id: type: string description: Project ID of the Scaleway Project the IP address is in. lb_id: type: string description: Load Balancer ID. nullable: true reverse: type: string description: Reverse DNS (domain name) of the IP address. tags: type: array description: IP tags. items: type: string region: type: string description: The region the IP address is in. deprecated: true zone: type: string description: The zone the IP address is in. x-properties-order: - id - ip_address - organization_id - project_id - lb_id - reverse - tags - region - zone scaleway.lb.v1.Lb: type: object properties: id: type: string description: Underlying Instance ID. name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. status: type: string description: Load Balancer status. enum: - unknown - ready - pending - stopped - error - locked - migrating - to_create - creating - to_delete - deleting default: unknown instances: type: array description: List of underlying Instances. items: $ref: '#/components/schemas/scaleway.lb.v1.Instance' organization_id: type: string description: Scaleway Organization ID. project_id: type: string description: Scaleway Project ID. ip: type: array description: List of IP addresses attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' tags: type: array description: Load Balancer tags. items: type: string frontend_count: type: integer description: Number of frontends the Load Balancer has. format: int32 backend_count: type: integer description: Number of backends the Load Balancer has. format: int32 type: type: string description: Load Balancer offer type. subscriber: type: object description: Subscriber information. properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on client side. enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown created_at: type: string description: Date on which the Load Balancer was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Load Balancer was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true private_network_count: type: integer description: Number of Private Networks attached to the Load Balancer. format: int32 route_count: type: integer description: Number of routes configured on the Load Balancer. format: int32 region: type: string description: The region the Load Balancer is in. deprecated: true zone: type: string description: The zone the Load Balancer is in. x-properties-order: - id - name - description - status - instances - organization_id - project_id - ip - tags - frontend_count - backend_count - type - subscriber - ssl_compatibility_level - created_at - updated_at - private_network_count - route_count - region - zone scaleway.lb.v1.LbStats: type: object properties: backend_servers_stats: type: array description: List of objects containing Load Balancer statistics. items: $ref: '#/components/schemas/scaleway.lb.v1.BackendServerStats' x-properties-order: - backend_servers_stats scaleway.lb.v1.LbType: type: object properties: name: type: string description: Load Balancer commercial offer type name. stock_status: type: string description: Current stock status for a given Load Balancer type. enum: - unknown - low_stock - out_of_stock - available default: unknown bandwidth: type: integer description: Maximum bandwidth for a given Load Balancer type. format: uint64 multicloud: type: boolean description: Ability to handle backend servers outside Scaleway for a given Load Balancer type. description: type: string description: Load Balancer commercial offer type description. region: type: string description: The region the Load Balancer stock is in. deprecated: true zone: type: string description: The zone the Load Balancer stock is in. x-properties-order: - name - stock_status - bandwidth - multicloud - description - region - zone scaleway.lb.v1.ListAclResponse: type: object properties: acls: type: array description: List of ACL objects. items: $ref: '#/components/schemas/scaleway.lb.v1.Acl' total_count: type: integer description: The total number of objects. format: uint32 x-properties-order: - acls - total_count scaleway.lb.v1.ListBackendStatsResponse: type: object properties: backend_servers_stats: type: array description: List of objects containing backend server statistics. items: $ref: '#/components/schemas/scaleway.lb.v1.BackendServerStats' total_count: type: integer description: The total number of objects. format: uint32 x-properties-order: - backend_servers_stats - total_count scaleway.lb.v1.ListBackendsResponse: type: object properties: backends: type: array description: List of backend objects of a given Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Backend' total_count: type: integer description: Total count of backend objects, without pagination. format: uint32 x-properties-order: - backends - total_count scaleway.lb.v1.ListCertificatesResponse: type: object properties: certificates: type: array description: List of certificate objects. items: $ref: '#/components/schemas/scaleway.lb.v1.Certificate' total_count: type: integer description: The total number of objects. format: uint32 x-properties-order: - certificates - total_count scaleway.lb.v1.ListFrontendsResponse: type: object properties: frontends: type: array description: List of frontend objects of a given Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Frontend' total_count: type: integer description: Total count of frontend objects, without pagination. format: uint32 x-properties-order: - frontends - total_count scaleway.lb.v1.ListIpsResponse: type: object properties: ips: type: array description: List of IP address objects. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' total_count: type: integer description: Total count of IP address objects, without pagination. format: uint32 x-properties-order: - ips - total_count scaleway.lb.v1.ListLbPrivateNetworksResponse: type: object properties: private_network: type: array description: List of Private Network objects attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.PrivateNetwork' total_count: type: integer description: Total number of objects in the response. format: uint32 x-properties-order: - private_network - total_count scaleway.lb.v1.ListLbTypesResponse: type: object properties: lb_types: type: array description: List of Load Balancer commercial offer type objects. items: $ref: '#/components/schemas/scaleway.lb.v1.LbType' total_count: type: integer description: Total number of Load Balancer offer type objects. format: uint32 x-properties-order: - lb_types - total_count scaleway.lb.v1.ListLbsResponse: type: object properties: lbs: type: array description: List of Load Balancer objects. items: $ref: '#/components/schemas/scaleway.lb.v1.Lb' total_count: type: integer description: The total number of Load Balancer objects. format: uint32 x-properties-order: - lbs - total_count scaleway.lb.v1.ListRoutesResponse: type: object properties: routes: type: array description: List of route objects. items: $ref: '#/components/schemas/scaleway.lb.v1.Route' total_count: type: integer description: The total number of route objects. format: uint32 x-properties-order: - routes - total_count scaleway.lb.v1.ListSubscriberResponse: type: object properties: subscribers: type: array description: List of subscriber objects. items: $ref: '#/components/schemas/scaleway.lb.v1.Subscriber' total_count: type: integer description: The total number of objects. format: uint32 x-properties-order: - subscribers - total_count scaleway.lb.v1.PrivateNetwork: type: object properties: lb: type: object description: Load Balancer object which is attached to the Private Network. properties: id: type: string description: Underlying Instance ID. name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. status: type: string description: Load Balancer status. enum: - unknown - ready - pending - stopped - error - locked - migrating - to_create - creating - to_delete - deleting default: unknown instances: type: array description: List of underlying Instances. items: $ref: '#/components/schemas/scaleway.lb.v1.Instance' organization_id: type: string description: Scaleway Organization ID. project_id: type: string description: Scaleway Project ID. ip: type: array description: List of IP addresses attached to the Load Balancer. items: $ref: '#/components/schemas/scaleway.lb.v1.Ip' tags: type: array description: Load Balancer tags. items: type: string frontend_count: type: integer description: Number of frontends the Load Balancer has. format: int32 backend_count: type: integer description: Number of backends the Load Balancer has. format: int32 type: type: string description: Load Balancer offer type. subscriber: type: object description: Subscriber information. properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on client side. enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown created_at: type: string description: Date on which the Load Balancer was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the Load Balancer was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true private_network_count: type: integer description: Number of Private Networks attached to the Load Balancer. format: int32 route_count: type: integer description: Number of routes configured on the Load Balancer. format: int32 region: type: string description: The region the Load Balancer is in. deprecated: true zone: type: string description: The zone the Load Balancer is in. x-properties-order: - id - name - description - status - instances - organization_id - project_id - ip - tags - frontend_count - backend_count - type - subscriber - ssl_compatibility_level - created_at - updated_at - private_network_count - route_count - region - zone ipam_ids: type: array description: IPAM IDs of the booked IP addresses. (UUID format) example: - 6170692e-7363-616c-6577-61792e636f6d items: type: string static_config: type: object description: Object containing an array of a local IP address for the Load Balancer on this Private Network. deprecated: true properties: ip_address: type: array description: Array of a local IP address for the Load Balancer on this Private Network. deprecated: true items: type: string nullable: true x-properties-order: - ip_address x-one-of: Config dhcp_config: type: object description: Object containing DHCP-assigned IP addresses. deprecated: true properties: ip_id: type: string description: (UUID format) deprecated: true example: 6170692e-7363-616c-6577-61792e636f6d nullable: true nullable: true x-properties-order: - ip_id x-one-of: Config private_network_id: type: string description: Private Network ID. status: type: string description: Status of Private Network connection. enum: - unknown - ready - pending - error default: unknown created_at: type: string description: Date on which the Private Network was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the PN was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true x-properties-order: - lb - ipam_ids - static_config - dhcp_config - private_network_id - status - created_at - updated_at scaleway.lb.v1.Route: type: object properties: id: type: string description: Route ID. frontend_id: type: string description: ID of the source frontend. backend_id: type: string description: ID of the target backend. match: type: object description: 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. properties: sni: type: string description: |- 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. nullable: true x-one-of: MatchType host_header: type: string description: |- 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. nullable: true x-one-of: MatchType match_subdomains: type: boolean description: If true, all subdomains will match. path_begin: type: string description: |- Path begin value to match. Value to match in the URL beginning path from an incoming request. nullable: true x-one-of: MatchType x-properties-order: - sni - host_header - match_subdomains - path_begin created_at: type: string description: Date on which the route was created. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date on which the route was last updated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true x-properties-order: - id - frontend_id - backend_id - match - created_at - updated_at scaleway.lb.v1.SetAclsResponse: type: object properties: acls: type: array description: List of ACL objects. items: $ref: '#/components/schemas/scaleway.lb.v1.Acl' total_count: type: integer description: The total number of ACL objects. format: uint32 x-properties-order: - acls - total_count scaleway.lb.v1.Subscriber: type: object properties: id: type: string description: Subscriber ID. name: type: string description: Subscriber name. email_config: type: object description: Email address of subscriber. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI of subscriber. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config x-properties-order: - id - name - email_config - webhook_config securitySchemes: scaleway: in: header name: X-Auth-Token type: apiKey paths: /lb/v1/zones/{zone}/acls/{acl_id}: get: tags: - ACLs operationId: GetAcl summary: Get an ACL description: Get information for a particular ACL, specified by its ACL ID. The response returns full details of the ACL, including its name, action, match rule and frontend. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: acl_id description: ACL ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Acl' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/acls/{acl_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/acls/{acl_id}" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - ACLs operationId: UpdateAcl summary: Update an ACL description: Update a particular ACL, specified by its ACL ID. You can update details including its name, action and match rule. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: acl_id description: ACL ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Acl' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: ACL name. action: type: object description: Action to take when incoming traffic matches an ACL filter. properties: type: type: string description: Action to take when incoming traffic matches an ACL filter. enum: - allow - deny - redirect default: allow redirect: type: object description: Redirection parameters when using an ACL with a `redirect` action. properties: type: type: string description: Redirect type. enum: - location - scheme default: location target: type: string description: 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: type: integer description: HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308. Default value is 302. format: int32 nullable: true x-properties-order: - type - target - code x-properties-order: - type - redirect match: type: object description: ACL match filter object. One of `ip_subnet`, `ips_edge_services` or `http_filter` & `http_filter_value` are required. properties: ip_subnet: type: array description: List of IPs or CIDR v4/v6 addresses to filter for from the client side. items: $ref: '#/components/schemas/google.protobuf.StringValue' ips_edge_services: type: boolean description: Defines whether Edge Services IPs should be matched. http_filter: type: string description: 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: - acl_http_filter_none - path_begin - path_end - regex - http_header_match default: acl_http_filter_none http_filter_value: type: array description: List of values to filter for. items: $ref: '#/components/schemas/google.protobuf.StringValue' http_filter_option: type: string description: Name of the HTTP header to filter on if `http_header_match` was selected in `http_filter`. nullable: true invert: type: boolean description: Defines whether to invert the match condition. If set to `true`, the ACL carries out its action when the condition DOES NOT match. x-properties-order: - ip_subnet - ips_edge_services - http_filter - http_filter_value - http_filter_option - invert index: type: integer description: Priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed). format: int32 description: type: string description: ACL description. nullable: true required: - name - action - index x-properties-order: - name - action - match - index - description security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "action": { "redirect": { "code": 42, "target": "string", "type": "location" }, "type": "allow" }, "index": 42, "name": "string" }' \ "https://api.scaleway.com/lb/v1/zones/{zone}/acls/{acl_id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/lb/v1/zones/{zone}/acls/{acl_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ action:='{ "redirect": { "code": 42, "target": "string", "type": "location" }, "type": "allow" }' \ index:=42 \ name="string" delete: tags: - ACLs operationId: DeleteAcl summary: Delete an ACL description: Delete an ACL, specified by its ACL ID. Deleting an ACL is irreversible and cannot be undone. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: acl_id description: ACL ID. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/acls/{acl_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/lb/v1/zones/{zone}/acls/{acl_id}" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/backends/{backend_id}: get: tags: - Backends operationId: GetBackend summary: Get a backend of a given Load Balancer description: Get the full details of a given backend, specified by its backend ID. The response contains the backend's full configuration parameters including protocol, port and forwarding algorithm. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: backend_id description: Backend ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Backend' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - Backends operationId: UpdateBackend summary: Update a backend of a given Load Balancer description: Update a backend of a given Load Balancer, specified by its backend ID. Note that the request type is PUT and not PATCH. You must set all parameters. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: backend_id description: Backend ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Backend' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Backend name. forward_protocol: type: string description: Protocol to be used by the backend when forwarding traffic to backend servers. enum: - tcp - http default: tcp forward_port: type: integer description: Port to be used by the backend when forwarding traffic to backend servers. format: int32 forward_port_algorithm: type: string description: Load balancing algorithm to be used when determining which backend server to forward new traffic to. enum: - roundrobin - leastconn - first default: roundrobin sticky_sessions: type: string description: Defines whether to activate sticky sessions (binding a particular session to a particular backend server) 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: - none - cookie - table default: none sticky_sessions_cookie_name: type: string description: Cookie name for cookie-based sticky sessions. send_proxy_v2: type: boolean description: Deprecated in favor of proxy_protocol field. deprecated: true timeout_server: type: number description: Maximum allowed time for a backend server to process a request. (in milliseconds) timeout_connect: type: number description: Maximum allowed time for establishing a connection to a backend server. (in milliseconds) timeout_tunnel: type: number description: Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds) on_marked_down_action: type: string description: Action to take when a backend server is marked as down. enum: - on_marked_down_action_none - shutdown_sessions default: on_marked_down_action_none proxy_protocol: type: string description: 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: - 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 failover_host: type: string description: 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. nullable: true ssl_bridging: type: boolean description: Defines whether to enable SSL bridging between the Load Balancer and backend servers. nullable: true ignore_ssl_server_verify: type: boolean description: Defines whether the server certificate verification should be ignored. nullable: true redispatch_attempt_count: type: integer description: Whether to use another backend server on each attempt. format: int32 nullable: true max_retries: type: integer description: Number of retries when a backend server connection failed. format: int32 nullable: true max_connections: type: integer description: Maximum number of connections allowed per backend server. format: int32 nullable: true timeout_queue: type: string description: Maximum time for a request to be left pending in queue when `max_connections` is reached. (in seconds) example: 2.5s nullable: true required: - name - forward_protocol - forward_port - forward_port_algorithm - sticky_sessions x-properties-order: - name - forward_protocol - forward_port - forward_port_algorithm - sticky_sessions - sticky_sessions_cookie_name - send_proxy_v2 - timeout_server - timeout_connect - timeout_tunnel - on_marked_down_action - proxy_protocol - failover_host - ssl_bridging - ignore_ssl_server_verify - redispatch_attempt_count - max_retries - max_connections - timeout_queue security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "forward_port": 42, "forward_port_algorithm": "roundrobin", "forward_protocol": "tcp", "name": "string", "send_proxy_v2": false, "sticky_sessions": "none", "sticky_sessions_cookie_name": "string" }' \ "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ forward_port:=42 \ forward_port_algorithm="roundrobin" \ forward_protocol="tcp" \ name="string" \ send_proxy_v2:=false \ sticky_sessions="none" \ sticky_sessions_cookie_name="string" delete: tags: - Backends operationId: DeleteBackend summary: Delete a backend of a given Load Balancer description: Delete a backend of a given Load Balancer, specified by its backend ID. This action is irreversible and cannot be undone. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: backend_id description: ID of the backend to delete. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/backends/{backend_id}/healthcheck: put: tags: - Backends operationId: UpdateHealthCheck summary: Update a health check for a given backend description: Update the configuration of the health check performed by a given backend to verify the health of its backend servers, identified by its backend ID. Note that the request type is PUT and not PATCH. You must set all parameters. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: backend_id description: Backend ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.HealthCheck' requestBody: required: true content: application/json: schema: type: object properties: port: type: integer description: Port to use for the backend server health check. format: int32 check_delay: type: number description: Time to wait between two consecutive health checks. (in milliseconds) check_timeout: type: number description: Maximum time a backend server has to reply to the health check. (in milliseconds) check_max_retries: type: integer description: Number of consecutive unsuccessful health checks after which the server will be considered dead. format: int32 check_send_proxy: type: boolean description: Defines whether proxy protocol should be activated for the health check. tcp_config: type: object description: Object to configure a basic TCP health check. nullable: true x-one-of: Config mysql_config: type: object description: 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. properties: user: type: string description: MySQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: Config pgsql_config: type: object description: Object to configure a PostgreSQL health check. properties: user: type: string description: PostgreSQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: Config ldap_config: type: object description: Object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message. nullable: true x-one-of: Config redis_config: type: object description: Object to configure a Redis health check. The response is analyzed to find the +PONG response message. nullable: true x-one-of: Config http_config: type: object description: Object to configure an HTTP health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. nullable: true x-properties-order: - uri - method - code - host_header x-one-of: Config https_config: type: object description: Object to configure an HTTPS health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. sni: type: string description: |- SNI used for SSL health checks. The SNI value used when performing a health check on backend servers over SSL. nullable: true x-properties-order: - uri - method - code - host_header - sni x-one-of: Config transient_check_delay: type: string description: Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). (in seconds) example: 2.5s nullable: true required: - port - check_delay - check_timeout - check_max_retries x-properties-order: - port - check_delay - check_timeout - check_max_retries - check_send_proxy - tcp_config - mysql_config - pgsql_config - ldap_config - redis_config - http_config - https_config - transient_check_delay security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "check_delay": 42, "check_max_retries": 42, "check_send_proxy": false, "check_timeout": 42, "port": 42 }' \ "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}/healthcheck" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}/healthcheck" \ X-Auth-Token:$SCW_SECRET_KEY \ check_delay:=42 \ check_max_retries:=42 \ check_send_proxy:=false \ check_timeout:=42 \ port:=42 /lb/v1/zones/{zone}/backends/{backend_id}/servers: post: tags: - Backends operationId: AddBackendServers summary: Add a set of backend servers to a given backend description: For a given backend specified by its backend ID, add a set of backend servers (identified by their IP addresses) it should forward traffic to. These will be appended to any existing set of backend servers for this backend. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: backend_id description: Backend ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Backend' requestBody: required: true content: application/json: schema: type: object properties: server_ip: type: array description: List of IP addresses to add to backend servers. items: type: string required: - server_ip x-properties-order: - server_ip security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"server_ip":["string"]}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}/servers" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}/servers" \ X-Auth-Token:$SCW_SECRET_KEY \ server_ip:='["string"]' put: tags: - Backends operationId: SetBackendServers summary: Define all backend servers for a given backend description: For a given backend specified by its backend ID, define the set of backend servers (identified by their IP addresses) that it should forward traffic to. Any existing backend servers configured for this backend will be removed. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: backend_id description: Backend ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Backend' requestBody: required: true content: application/json: schema: type: object properties: server_ip: type: array description: List of IP addresses for backend servers. Any other existing backend servers will be removed. items: type: string required: - server_ip x-properties-order: - server_ip security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"server_ip":["string"]}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}/servers" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}/servers" \ X-Auth-Token:$SCW_SECRET_KEY \ server_ip:='["string"]' delete: tags: - Backends operationId: RemoveBackendServers summary: Remove a set of servers for a given backend description: For a given backend specified by its backend ID, remove the specified backend servers (identified by their IP addresses) so that it no longer forwards traffic to them. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: backend_id description: Backend ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Backend' requestBody: required: true content: application/json: schema: type: object properties: server_ip: type: array description: List of IP addresses to remove from backend servers. items: type: string required: - server_ip x-properties-order: - server_ip security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"server_ip":["string"]}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}/servers" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/lb/v1/zones/{zone}/backends/{backend_id}/servers" \ X-Auth-Token:$SCW_SECRET_KEY \ server_ip:='["string"]' /lb/v1/zones/{zone}/certificates/{certificate_id}: get: tags: - Certificate operationId: GetCertificate summary: Get an SSL/TLS certificate description: Get information for a particular SSL/TLS certificate, specified by its certificate ID. The response returns full details of the certificate, including its type, main domain name, and alternative domain names. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: certificate_id description: Certificate ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Certificate' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - Certificate operationId: UpdateCertificate summary: Update an SSL/TLS certificate description: Update the name of a particular SSL/TLS certificate, specified by its certificate ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: certificate_id description: Certificate ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Certificate' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Certificate name. required: - name x-properties-order: - name security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ name="string" delete: tags: - Certificate operationId: DeleteCertificate summary: Delete an SSL/TLS certificate description: Delete an SSL/TLS certificate, specified by its certificate ID. Deleting a certificate is irreversible and cannot be undone. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: certificate_id description: Certificate ID. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/frontends/{frontend_id}: get: tags: - Frontends operationId: GetFrontend summary: Get a frontend description: Get the full details of a given frontend, specified by its frontend ID. The response contains the frontend's full configuration parameters including the backend it is attached to, the port it listens on, and any certificates it has. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: frontend_id description: Frontend ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Frontend' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - Frontends operationId: UpdateFrontend summary: Update a frontend description: Update a given frontend, specified by its frontend ID. You can update configuration parameters including its name and the port it listens on. Note that the request type is PUT and not PATCH. You must set all parameters. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: frontend_id description: Frontend ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Frontend' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Frontend name. inbound_port: type: integer description: Port the frontend should listen on. format: int32 backend_id: type: string description: Backend ID (ID of the backend the frontend should pass traffic to). timeout_client: type: number description: Maximum allowed inactivity time on the client side. (in milliseconds) certificate_id: type: string description: Certificate ID, deprecated in favor of certificate_ids array. deprecated: true nullable: true certificate_ids: type: array description: List of SSL/TLS certificate IDs to bind to the frontend. nullable: true items: type: string enable_http3: type: boolean description: Defines whether to enable HTTP/3 protocol on the frontend. connection_rate_limit: type: integer description: Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second. format: uint32 nullable: true enable_access_logs: type: boolean description: Defines whether to enable access logs on the frontend. required: - name - inbound_port - backend_id x-properties-order: - name - inbound_port - backend_id - timeout_client - certificate_id - certificate_ids - enable_http3 - connection_rate_limit - enable_access_logs security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "backend_id": "string", "enable_http3": false, "inbound_port": 42, "name": "string" }' \ "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ backend_id="string" \ enable_http3:=false \ inbound_port:=42 \ name="string" delete: tags: - Frontends operationId: DeleteFrontend summary: Delete a frontend description: Delete a given frontend, specified by its frontend ID. This action is irreversible and cannot be undone. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: frontend_id description: ID of the frontend to delete. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/frontends/{frontend_id}/acls: get: tags: - ACLs operationId: ListAcls summary: List ACLs for a given frontend description: List the ACLs for a given frontend, specified by its frontend ID. The response is an array of ACL objects, each one representing an ACL that denies or allows traffic based on certain conditions. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: frontend_id description: Frontend ID (ACLs attached to this frontend will be returned in the response). required: true schema: type: string - in: query name: order_by description: Sort order of ACLs in the response. schema: type: string enum: - created_at_asc - created_at_desc - name_asc - name_desc default: created_at_asc - in: query name: page description: The page number to return, from the paginated results. schema: type: integer format: int32 - in: query name: page_size description: The number of ACLs to return. schema: type: integer format: uint32 - in: query name: name description: ACL name to filter for. schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListAclResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}/acls" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}/acls" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - ACLs operationId: CreateAcl summary: Create an ACL for a given frontend description: Create a new ACL for a given frontend. Each ACL must have a name, an action to perform (allow or deny), and a match rule (the action is carried out when the incoming traffic matches the rule). parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: frontend_id description: Frontend ID to attach the ACL to. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Acl' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: ACL name. action: type: object description: Action to take when incoming traffic matches an ACL filter. properties: type: type: string description: Action to take when incoming traffic matches an ACL filter. enum: - allow - deny - redirect default: allow redirect: type: object description: Redirection parameters when using an ACL with a `redirect` action. properties: type: type: string description: Redirect type. enum: - location - scheme default: location target: type: string description: 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: type: integer description: HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308. Default value is 302. format: int32 nullable: true x-properties-order: - type - target - code x-properties-order: - type - redirect match: type: object description: ACL match filter object. One of `ip_subnet`, `ips_edge_services` or `http_filter` & `http_filter_value` are required. properties: ip_subnet: type: array description: List of IPs or CIDR v4/v6 addresses to filter for from the client side. items: $ref: '#/components/schemas/google.protobuf.StringValue' ips_edge_services: type: boolean description: Defines whether Edge Services IPs should be matched. http_filter: type: string description: 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: - acl_http_filter_none - path_begin - path_end - regex - http_header_match default: acl_http_filter_none http_filter_value: type: array description: List of values to filter for. items: $ref: '#/components/schemas/google.protobuf.StringValue' http_filter_option: type: string description: Name of the HTTP header to filter on if `http_header_match` was selected in `http_filter`. nullable: true invert: type: boolean description: Defines whether to invert the match condition. If set to `true`, the ACL carries out its action when the condition DOES NOT match. x-properties-order: - ip_subnet - ips_edge_services - http_filter - http_filter_value - http_filter_option - invert index: type: integer description: Priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed). format: int32 description: type: string description: ACL description. required: - name - action - index x-properties-order: - name - action - match - index - description security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "action": { "redirect": { "code": 42, "target": "string", "type": "location" }, "type": "allow" }, "description": "string", "index": 42, "name": "string" }' \ "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}/acls" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}/acls" \ X-Auth-Token:$SCW_SECRET_KEY \ action:='{ "redirect": { "code": 42, "target": "string", "type": "location" }, "type": "allow" }' \ description="string" \ index:=42 \ name="string" put: tags: - ACLs operationId: SetAcls summary: Define all ACLs for a given frontend description: For a given frontend specified by its frontend ID, define and add the complete set of ACLS for that frontend. Any existing ACLs on this frontend will be removed. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: frontend_id description: Frontend ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.SetAclsResponse' requestBody: required: true content: application/json: schema: type: object properties: acls: type: array description: List of ACLs for this frontend. Any other existing ACLs on this frontend will be removed. items: $ref: '#/components/schemas/scaleway.lb.v1.AclSpec' required: - acls x-properties-order: - acls security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"acls":[""]}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}/acls" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/lb/v1/zones/{zone}/frontends/{frontend_id}/acls" \ X-Auth-Token:$SCW_SECRET_KEY \ acls:='[""]' /lb/v1/zones/{zone}/ips: get: tags: - IP addresses operationId: ListIPs summary: List IP addresses description: List the Load Balancer flexible IP addresses held in the account (filtered by Organization ID or Project ID). It is also possible to search for a specific IP address. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: query name: page description: The page number to return, from the paginated results. schema: type: integer format: int32 - in: query name: page_size description: Number of IP addresses to return. schema: type: integer format: uint32 - in: query name: ip_address description: IP address to filter for. schema: type: string - in: query name: organization_id description: Organization ID to filter for, only Load Balancer IP addresses from this Organization will be returned. schema: type: string - in: query name: project_id description: Project ID to filter for, only Load Balancer IP addresses from this Project will be returned. schema: type: string - in: query name: ip_type description: IP type to filter for. schema: type: string enum: - all - ipv4 - ipv6 default: all - in: query name: tags description: Tag to filter for, only IPs with one or more matching tags will be returned. schema: type: array items: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListIpsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/ips" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/ips" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - IP addresses operationId: CreateIp summary: Create an IP address description: Create a new Load Balancer flexible IP address, in the specified Scaleway Project. This can be attached to new Load Balancers created in the future. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Ip' requestBody: required: true content: application/json: schema: type: object properties: organization_id: type: string description: Organization ID of the Organization where the IP address should be created. deprecated: true nullable: true x-one-of: ProjectIdentifier project_id: type: string description: Project ID of the Project where the IP address should be created. nullable: true x-one-of: ProjectIdentifier reverse: type: string description: Reverse DNS (domain name) for the IP address. nullable: true is_ipv6: type: boolean description: If true, creates a Flexible IP with an ipv6 address. tags: type: array description: List of tags for the IP. items: type: string x-properties-order: - organization_id - project_id - reverse - is_ipv6 - tags security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"is_ipv6":false}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/ips" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/ips" \ X-Auth-Token:$SCW_SECRET_KEY \ is_ipv6:=false /lb/v1/zones/{zone}/ips/{ip_id}: get: tags: - IP addresses operationId: GetIp summary: Get an IP address description: Retrieve the full details of a Load Balancer flexible IP address. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: ip_id description: IP address ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Ip' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/ips/{ip_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/ips/{ip_id}" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - IP addresses operationId: UpdateIp summary: Update an IP address description: Update the reverse DNS of a Load Balancer flexible IP address. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: ip_id description: IP address ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Ip' requestBody: required: true content: application/json: schema: type: object properties: reverse: type: string description: Reverse DNS (domain name) for the IP address. nullable: true lb_id: type: string description: ID of the server on which to attach the flexible IP. nullable: true tags: type: array description: List of tags for the IP. nullable: true items: type: string x-properties-order: - reverse - lb_id - tags security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/ips/{ip_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/lb/v1/zones/{zone}/ips/{ip_id}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - IP addresses operationId: ReleaseIp summary: Delete an IP address description: Delete a Load Balancer flexible IP address. This action is irreversible, and cannot be undone. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: ip_id description: IP address ID. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/ips/{ip_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/lb/v1/zones/{zone}/ips/{ip_id}" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/lb-types: get: tags: - Load Balancer Types operationId: ListLbTypes summary: List all Load Balancer offer types description: List all the different commercial Load Balancer types. The response includes an array of offer types, each with a name, description, and information about its stock availability. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: query name: page description: The page number to return, from the paginated results. schema: type: integer format: int32 - in: query name: page_size description: The number of items to return. schema: type: integer format: uint32 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListLbTypesResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lb-types" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/lb-types" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/lb/{lb_id}/subscribe: post: tags: - Alert Subscribers operationId: SubscribeToLb summary: Subscribe a subscriber to alerts for a given Load Balancer description: Subscribe an existing subscriber to alerts for a given Load Balancer. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Lb' requestBody: required: true content: application/json: schema: type: object properties: subscriber_id: type: string description: Subscriber ID. required: - subscriber_id x-properties-order: - subscriber_id security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"subscriber_id":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/lb/{lb_id}/subscribe" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/lb/{lb_id}/subscribe" \ X-Auth-Token:$SCW_SECRET_KEY \ subscriber_id="string" /lb/v1/zones/{zone}/lb/{lb_id}/unsubscribe: delete: tags: - Alert Subscribers operationId: UnsubscribeFromLb summary: Unsubscribe a subscriber from alerts for a given Load Balancer description: Unsubscribe a subscriber from alerts for a given Load Balancer. The subscriber is not deleted, and can be resubscribed in the future if necessary. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Lb' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lb/{lb_id}/unsubscribe" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/lb/v1/zones/{zone}/lb/{lb_id}/unsubscribe" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/lb/subscription/{subscriber_id}: delete: tags: - Alert Subscribers operationId: DeleteSubscriber summary: Delete a subscriber description: Delete an existing subscriber, specified by its subscriber ID. Deleting a subscriber is permanent, and cannot be undone. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: subscriber_id description: Subscriber ID. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lb/subscription/{subscriber_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/lb/v1/zones/{zone}/lb/subscription/{subscriber_id}" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/lbs: get: tags: - Load Balancer operationId: ListLbs summary: List Load Balancers description: List all Load Balancers in the specified zone, for a Scaleway Organization or Scaleway Project. By default, the Load Balancers returned in the list are ordered by creation date in ascending order, though this can be modified via the `order_by` field. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: query name: name description: Load Balancer name to filter for. schema: type: string - in: query name: order_by description: Sort order of Load Balancers in the response. schema: type: string enum: - created_at_asc - created_at_desc - name_asc - name_desc default: created_at_asc - in: query name: page_size description: Number of Load Balancers to return. schema: type: integer format: uint32 - in: query name: page description: Page number to return, from the paginated results. schema: type: integer format: int32 - in: query name: organization_id description: Organization ID to filter for, only Load Balancers from this Organization will be returned. schema: type: string - in: query name: project_id description: Project ID to filter for, only Load Balancers from this Project will be returned. schema: type: string - in: query name: tags description: Filter by tag, only Load Balancers with one or more matching tags will be returned. schema: type: array items: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListLbsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/lbs" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Load Balancer operationId: CreateLb summary: Create a Load Balancer description: Create a new Load Balancer. Note that the Load Balancer will be created without frontends or backends; these must be created separately via the dedicated endpoints. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Lb' requestBody: required: true content: application/json: schema: type: object properties: organization_id: type: string description: Scaleway Organization to create the Load Balancer in. deprecated: true nullable: true x-one-of: ProjectIdentifier project_id: type: string description: Scaleway Project to create the Load Balancer in. nullable: true x-one-of: ProjectIdentifier name: type: string description: Name for the Load Balancer. description: type: string description: Description for the Load Balancer. ip_id: type: string description: ID of an existing flexible IP address to attach to the Load Balancer. deprecated: true nullable: true assign_flexible_ip: type: boolean description: Defines whether to automatically assign a flexible public IP to the Load Balancer. Default value is `true` (assign). nullable: true assign_flexible_ipv6: type: boolean description: Defines whether to automatically assign a flexible public IPv6 to the Load Balancer. Default value is `false` (do not assign). nullable: true ip_ids: type: array description: List of IP IDs to attach to the Load Balancer. items: type: string tags: type: array description: List of tags for the Load Balancer. items: type: string type: type: string description: Load Balancer commercial offer type. Use the Load Balancer types endpoint to retrieve a list of available offer types. ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on the client side, in an SSL/TLS offloading context. Intermediate is suitable for general-purpose servers with a variety of clients, recommended for almost all systems (>= TLS1.2). Modern is suitable for services with clients that support TLS 1.3 and do not need backward compatibility (= TLS1.3). Old is compatible with a small number of very old clients and should be used only as a last resort (>= TLS1.0). enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown required: - name x-properties-order: - organization_id - project_id - name - description - ip_id - assign_flexible_ip - assign_flexible_ipv6 - ip_ids - tags - type - ssl_compatibility_level security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "description": "string", "name": "string", "type": "string" }' \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/lbs" \ X-Auth-Token:$SCW_SECRET_KEY \ description="string" \ name="string" \ type="string" /lb/v1/zones/{zone}/lbs/{lb_id}: get: tags: - Load Balancer operationId: GetLb summary: Get a Load Balancer description: Retrieve information about an existing Load Balancer, specified by its Load Balancer ID. Its full details, including name, status and IP address, are returned in the response object. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Lb' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - Load Balancer operationId: UpdateLb summary: Update a Load Balancer description: Update the parameters of an existing Load Balancer, specified by its Load Balancer ID. Note that the request type is PUT and not PATCH. You must set all parameters. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Lb' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Load Balancer name. description: type: string description: Load Balancer description. tags: type: array description: List of tags for the Load Balancer. items: type: string ssl_compatibility_level: type: string description: Determines the minimal SSL version which needs to be supported on the client side, in an SSL/TLS offloading context. Intermediate is suitable for general-purpose servers with a variety of clients, recommended for almost all systems (>= TLS1.2). Modern is suitable for services with clients that support TLS 1.3 and do not need backward compatibility (= TLS1.3). Old is compatible with a small number of very old clients and should be used only as a last resort (>= TLS1.0). enum: - ssl_compatibility_level_unknown - ssl_compatibility_level_intermediate - ssl_compatibility_level_modern - ssl_compatibility_level_old default: ssl_compatibility_level_unknown required: - name - description x-properties-order: - name - description - tags - ssl_compatibility_level security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"description":"string","name":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ description="string" \ name="string" delete: tags: - Load Balancer operationId: DeleteLb summary: Delete a Load Balancer description: Delete an existing Load Balancer, specified by its Load Balancer ID. Deleting a Load Balancer is permanent, and cannot be undone. The Load Balancer's flexible IP address can either be deleted with the Load Balancer, or kept in your account for future use. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: ID of the Load Balancer to delete. required: true schema: type: string - in: query name: release_ip description: Defines whether the Load Balancer's flexible IP should be deleted. Set to true to release the flexible IP, or false to keep it available in your account for future Load Balancers. required: true schema: type: boolean responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}?release_ip=false" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ release_ip==false /lb/v1/zones/{zone}/lbs/{lb_id}/attach-private-network: post: tags: - Private Networks operationId: AttachPrivateNetwork summary: Attach a Load Balancer to a Private Network description: Attach a specified Load Balancer to a specified Private Network, defining a static or DHCP configuration for the Load Balancer on the network. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.PrivateNetwork' requestBody: required: true content: application/json: schema: type: object properties: private_network_id: type: string description: Private Network ID. ipam_ids: type: array description: IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network. In the future, it will be possible to specify multiple IPs in this field (IPv4 and IPv6), for now only one ID of an IPv4 address is expected. When null, a new private IP address is created for the Load Balancer on this Private Network. (UUID format) example: - 6170692e-7363-616c-6577-61792e636f6d items: type: string required: - private_network_id x-properties-order: - private_network_id - ipam_ids security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"private_network_id":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/attach-private-network" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/attach-private-network" \ X-Auth-Token:$SCW_SECRET_KEY \ private_network_id="string" /lb/v1/zones/{zone}/lbs/{lb_id}/backend-stats: get: tags: - Backends operationId: ListBackendStats summary: List backend server statistics description: List information about your backend servers, including their state and the result of their last health check. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string - in: query name: page description: The page number to return, from the paginated results. schema: type: integer format: int32 - in: query name: page_size description: Number of items to return. schema: type: integer format: uint32 - in: query name: backend_id description: ID of the backend. schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListBackendStatsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/backend-stats" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/backend-stats" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/lbs/{lb_id}/backends: get: tags: - Backends operationId: ListBackends summary: List the backends of a given Load Balancer description: List all the backends of a Load Balancer, specified by its Load Balancer ID. By default, results are returned in ascending order by the creation date of each backend. The response is an array of backend objects, containing full details of each one including their configuration parameters such as protocol, port and forwarding algorithm. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string - in: query name: name description: Name of the backend to filter for. schema: type: string - in: query name: order_by description: Sort order of backends in the response. schema: type: string enum: - created_at_asc - created_at_desc - name_asc - name_desc default: created_at_asc - in: query name: page description: The page number to return, from the paginated results. schema: type: integer format: int32 - in: query name: page_size description: Number of backends to return. schema: type: integer format: uint32 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListBackendsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/backends" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/backends" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Backends operationId: CreateBackend summary: Create a backend for a given Load Balancer description: Create a new backend for a given Load Balancer, specifying its full configuration including protocol, port and forwarding algorithm. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Backend' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name for the backend. forward_protocol: type: string description: Protocol to be used by the backend when forwarding traffic to backend servers. enum: - tcp - http default: tcp forward_port: type: integer description: Port to be used by the backend when forwarding traffic to backend servers. format: int32 forward_port_algorithm: type: string description: Load balancing algorithm to be used when determining which backend server to forward new traffic to. enum: - roundrobin - leastconn - first default: roundrobin sticky_sessions: type: string description: Defines whether to activate sticky sessions (binding a particular session to a particular backend server) 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: - none - cookie - table default: none sticky_sessions_cookie_name: type: string description: Cookie name for cookie-based sticky sessions. health_check: type: object description: Object defining the health check to be carried out by the backend when checking the status and health of backend servers. properties: port: type: integer description: Port to use for the backend server health check. format: int32 check_delay: type: number description: Time to wait between two consecutive health checks. (in milliseconds) default: 3000 check_timeout: type: number description: Maximum time a backend server has to reply to the health check. (in milliseconds) default: 1000 check_max_retries: type: integer description: Number of consecutive unsuccessful health checks after which the server will be considered dead. format: int32 tcp_config: type: object description: Object to configure a basic TCP health check. nullable: true x-one-of: config mysql_config: type: object description: 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. properties: user: type: string description: MySQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: config pgsql_config: type: object description: Object to configure a PostgreSQL health check. properties: user: type: string description: PostgreSQL user to use for the health check. nullable: true x-properties-order: - user x-one-of: config ldap_config: type: object description: Object to configure an LDAP health check. The response is analyzed to find the LDAPv3 response message. nullable: true x-one-of: config redis_config: type: object description: Object to configure a Redis health check. The response is analyzed to find the +PONG response message. nullable: true x-one-of: config http_config: type: object description: Object to configure an HTTP health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. nullable: true x-properties-order: - uri - method - code - host_header x-one-of: config https_config: type: object description: Object to configure an HTTPS health check. properties: uri: type: string description: |- HTTP path used for the health check. The HTTP path to use when performing a health check on backend servers. method: type: string description: |- HTTP method used for the health check. The HTTP method used when performing a health check on backend servers. code: type: integer description: |- 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. format: int32 nullable: true host_header: type: string description: |- HTTP host header used for the health check. The HTTP host header used when performing a health check on backend servers. sni: type: string description: |- SNI used for SSL health checks. The SNI value used when performing a health check on backend servers over SSL. nullable: true x-properties-order: - uri - method - code - host_header - sni x-one-of: config check_send_proxy: type: boolean description: Defines whether proxy protocol should be activated for the health check. transient_check_delay: type: string description: Time to wait between two consecutive health checks when a backend server is in a transient state (going UP or DOWN). (in seconds) example: 2.5s nullable: true default: 0.5s x-properties-order: - port - check_delay - check_timeout - check_max_retries - tcp_config - mysql_config - pgsql_config - ldap_config - redis_config - http_config - https_config - check_send_proxy - transient_check_delay server_ip: type: array description: List of backend server IP addresses (IPv4 or IPv6) the backend should forward traffic to. items: type: string send_proxy_v2: type: boolean description: Deprecated in favor of proxy_protocol field. deprecated: true timeout_server: type: number description: Maximum allowed time for a backend server to process a request. (in milliseconds) timeout_connect: type: number description: Maximum allowed time for establishing a connection to a backend server. (in milliseconds) timeout_tunnel: type: number description: Maximum allowed tunnel inactivity time after Websocket is established (takes precedence over client and server timeout). (in milliseconds) on_marked_down_action: type: string description: Action to take when a backend server is marked as down. enum: - on_marked_down_action_none - shutdown_sessions default: on_marked_down_action_none proxy_protocol: type: string description: 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: - 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 failover_host: type: string description: 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. nullable: true ssl_bridging: type: boolean description: Defines whether to enable SSL bridging between the Load Balancer and backend servers. nullable: true ignore_ssl_server_verify: type: boolean description: Defines whether the server certificate verification should be ignored. nullable: true redispatch_attempt_count: type: integer description: Whether to use another backend server on each attempt. format: int32 nullable: true max_retries: type: integer description: Number of retries when a backend server connection failed. format: int32 nullable: true max_connections: type: integer description: Maximum number of connections allowed per backend server. format: int32 nullable: true timeout_queue: type: string description: Maximum time for a request to be left pending in queue when `max_connections` is reached. (in seconds) example: 2.5s nullable: true required: - name - forward_protocol - forward_port - forward_port_algorithm - sticky_sessions - health_check - server_ip x-properties-order: - name - forward_protocol - forward_port - forward_port_algorithm - sticky_sessions - sticky_sessions_cookie_name - health_check - server_ip - send_proxy_v2 - timeout_server - timeout_connect - timeout_tunnel - on_marked_down_action - proxy_protocol - failover_host - ssl_bridging - ignore_ssl_server_verify - redispatch_attempt_count - max_retries - max_connections - timeout_queue security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "forward_port": 42, "forward_port_algorithm": "roundrobin", "forward_protocol": "tcp", "health_check": { "check_delay": 3000, "check_max_retries": 42, "check_send_proxy": false, "check_timeout": 1000, "http_config": { "code": 42, "host_header": "string", "method": "string", "uri": "string" }, "https_config": { "code": 42, "host_header": "string", "method": "string", "sni": "string", "uri": "string" }, "ldap_config": {}, "mysql_config": { "user": "string" }, "pgsql_config": { "user": "string" }, "port": 42, "redis_config": {}, "tcp_config": {}, "transient_check_delay": "2.5s" }, "name": "string", "send_proxy_v2": false, "server_ip": [ "string" ], "sticky_sessions": "none", "sticky_sessions_cookie_name": "string" }' \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/backends" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/backends" \ X-Auth-Token:$SCW_SECRET_KEY \ forward_port:=42 \ forward_port_algorithm="roundrobin" \ forward_protocol="tcp" \ health_check:='{ "check_delay": 3000, "check_max_retries": 42, "check_send_proxy": false, "check_timeout": 1000, "http_config": { "code": 42, "host_header": "string", "method": "string", "uri": "string" }, "https_config": { "code": 42, "host_header": "string", "method": "string", "sni": "string", "uri": "string" }, "ldap_config": {}, "mysql_config": { "user": "string" }, "pgsql_config": { "user": "string" }, "port": 42, "redis_config": {}, "tcp_config": {}, "transient_check_delay": "2.5s" }' \ name="string" \ send_proxy_v2:=false \ server_ip:='[ "string" ]' \ sticky_sessions="none" \ sticky_sessions_cookie_name="string" /lb/v1/zones/{zone}/lbs/{lb_id}/certificates: get: tags: - Certificate operationId: ListCertificates summary: List all SSL/TLS certificates on a given Load Balancer description: List all the SSL/TLS certificates on a given Load Balancer. The response is an array of certificate objects, which are by default listed in ascending order of creation date. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string - in: query name: order_by description: Sort order of certificates in the response. schema: type: string enum: - created_at_asc - created_at_desc - name_asc - name_desc default: created_at_asc - in: query name: page description: The page number to return, from the paginated results. schema: type: integer format: int32 - in: query name: page_size description: Number of certificates to return. schema: type: integer format: uint32 - in: query name: name description: Certificate name to filter for, only certificates of this name will be returned. schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListCertificatesResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/certificates" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/certificates" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Certificate operationId: CreateCertificate summary: Create an SSL/TLS certificate description: Generate a new SSL/TLS certificate for a given Load Balancer. You can choose to create a Let's Encrypt certificate, or import a custom certificate. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Certificate' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name for the certificate. letsencrypt: type: object description: Object to define a new Let's Encrypt certificate to be generated. properties: common_name: type: string description: Main domain name of certificate (this domain must exist and resolve to your Load Balancer IP address). subject_alternative_name: type: array description: Alternative domain names (all domain names must exist and resolve to your Load Balancer IP address). items: type: string nullable: true required: - common_name x-properties-order: - common_name - subject_alternative_name x-one-of: type custom_certificate: type: object description: Object to define an existing custom certificate to be imported. properties: certificate_chain: type: string description: Full PEM-formatted certificate, consisting of the entire certificate chain including public key, private key, and (optionally) Certificate Authorities. nullable: true required: - certificate_chain x-properties-order: - certificate_chain x-one-of: type required: - name x-properties-order: - name - letsencrypt - custom_certificate security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/certificates" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/certificates" \ X-Auth-Token:$SCW_SECRET_KEY \ name="string" /lb/v1/zones/{zone}/lbs/{lb_id}/detach-private-network: post: tags: - Private Networks operationId: DetachPrivateNetwork summary: Detach Load Balancer from Private Network description: Detach a specified Load Balancer from a specified Private Network. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load balancer ID. required: true schema: type: string responses: "204": description: "" requestBody: required: true content: application/json: schema: type: object properties: private_network_id: type: string description: Set your instance private network id. required: - private_network_id x-properties-order: - private_network_id security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"private_network_id":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/detach-private-network" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/detach-private-network" \ X-Auth-Token:$SCW_SECRET_KEY \ private_network_id="string" /lb/v1/zones/{zone}/lbs/{lb_id}/frontends: get: tags: - Frontends operationId: ListFrontends summary: List frontends of a given Load Balancer description: List all the frontends of a Load Balancer, specified by its Load Balancer ID. By default, results are returned in ascending order by the creation date of each frontend. The response is an array of frontend objects, containing full details of each one including the port they listen on and the backend they are attached to. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string - in: query name: name description: Name of the frontend to filter for. schema: type: string - in: query name: order_by description: Sort order of frontends in the response. schema: type: string enum: - created_at_asc - created_at_desc - name_asc - name_desc default: created_at_asc - in: query name: page description: The page number to return, from the paginated results. schema: type: integer format: int32 - in: query name: page_size description: Number of frontends to return. schema: type: integer format: uint32 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListFrontendsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/frontends" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/frontends" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Frontends operationId: CreateFrontend summary: Create a frontend in a given Load Balancer description: Create a new frontend for a given Load Balancer, specifying its configuration including the port it should listen on and the backend to attach it to. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID (ID of the Load Balancer to attach the frontend to). required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Frontend' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name for the frontend. inbound_port: type: integer description: Port the frontend should listen on. format: int32 backend_id: type: string description: Backend ID (ID of the backend the frontend should pass traffic to). timeout_client: type: number description: Maximum allowed inactivity time on the client side. (in milliseconds) certificate_id: type: string description: Certificate ID, deprecated in favor of certificate_ids array. deprecated: true nullable: true certificate_ids: type: array description: List of SSL/TLS certificate IDs to bind to the frontend. nullable: true items: type: string enable_http3: type: boolean description: Defines whether to enable HTTP/3 protocol on the frontend. connection_rate_limit: type: integer description: Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second. format: uint32 nullable: true enable_access_logs: type: boolean description: Defines whether to enable access logs on the frontend. required: - name - inbound_port - backend_id x-properties-order: - name - inbound_port - backend_id - timeout_client - certificate_id - certificate_ids - enable_http3 - connection_rate_limit - enable_access_logs security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "backend_id": "string", "enable_access_logs": false, "enable_http3": false, "inbound_port": 42, "name": "string" }' \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/frontends" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/frontends" \ X-Auth-Token:$SCW_SECRET_KEY \ backend_id="string" \ enable_access_logs:=false \ enable_http3:=false \ inbound_port:=42 \ name="string" /lb/v1/zones/{zone}/lbs/{lb_id}/migrate: post: tags: - Load Balancer operationId: MigrateLb summary: Migrate a Load Balancer description: Migrate an existing Load Balancer from one commercial type to another. Allows you to scale your Load Balancer up or down in terms of bandwidth or multi-cloud provision. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Lb' requestBody: required: true content: application/json: schema: type: object properties: type: type: string description: Load Balancer type to migrate to (use the List all Load Balancer offer types endpoint to get a list of available offer types). required: - type x-properties-order: - type security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"type":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/migrate" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/migrate" \ X-Auth-Token:$SCW_SECRET_KEY \ type="string" /lb/v1/zones/{zone}/lbs/{lb_id}/private-networks: get: tags: - Private Networks operationId: ListLbPrivateNetworks summary: List Private Networks attached to a Load Balancer description: List the Private Networks attached to a given Load Balancer, specified by its Load Balancer ID. The response is an array of Private Network objects, giving information including the status, configuration, name and creation date of each Private Network. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string - in: query name: order_by description: Sort order of Private Network objects in the response. schema: type: string enum: - created_at_asc - created_at_desc default: created_at_asc - in: query name: page_size description: Number of objects to return. schema: type: integer format: uint32 - in: query name: page description: The page number to return, from the paginated results. schema: type: integer format: int32 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListLbPrivateNetworksResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/private-networks" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/private-networks" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/lbs/{lb_id}/stats: get: tags: - Stats operationId: GetLbStats summary: Get usage statistics of a given Load Balancer parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: lb_id description: Load Balancer ID. required: true schema: type: string - in: query name: backend_id description: ID of the backend. schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.LbStats' security: - scaleway: [] deprecated: true x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/stats" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/stats" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/routes: get: tags: - Route operationId: ListRoutes summary: List all routes description: List all routes for a given frontend. The response is an array of routes, each one with a specified backend to direct to if a certain condition is matched (based on the value of the SNI field or HTTP Host header). parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: query name: order_by description: Sort order of routes in the response. schema: type: string enum: - created_at_asc - created_at_desc default: created_at_asc - in: query name: page_size description: The number of route objects to return. schema: type: integer format: uint32 - in: query name: page description: The page number to return, from the paginated results. schema: type: integer format: int32 - in: query name: frontend_id description: Frontend ID to filter for, only Routes from this Frontend will be returned. schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListRoutesResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/routes" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/routes" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Route operationId: CreateRoute summary: Create a route description: Create a new route on a given frontend. To configure a route, specify the backend to direct to if a certain condition is matched (based on the value of the SNI field or HTTP Host header). parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Route' requestBody: required: true content: application/json: schema: type: object properties: frontend_id: type: string description: ID of the source frontend to create the route on. backend_id: type: string description: ID of the target backend for the route. match: type: object description: 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. properties: sni: type: string description: |- 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. nullable: true x-one-of: MatchType host_header: type: string description: |- 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. nullable: true x-one-of: MatchType match_subdomains: type: boolean description: If true, all subdomains will match. path_begin: type: string description: |- Path begin value to match. Value to match in the URL beginning path from an incoming request. nullable: true x-one-of: MatchType x-properties-order: - sni - host_header - match_subdomains - path_begin x-properties-order: - frontend_id - backend_id - match security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"backend_id":"string","frontend_id":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/routes" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/routes" \ X-Auth-Token:$SCW_SECRET_KEY \ backend_id="string" \ frontend_id="string" /lb/v1/zones/{zone}/routes/{route_id}: get: tags: - Route operationId: GetRoute summary: Get a route description: Retrieve information about an existing route, specified by its route ID. Its full details, origin frontend, target backend and match condition, are returned in the response object. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: route_id description: Route ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Route' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - Route operationId: UpdateRoute summary: Update a route description: Update the configuration of an existing route, specified by its route ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: route_id description: Route ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Route' requestBody: required: true content: application/json: schema: type: object properties: backend_id: type: string description: ID of the target backend for the route. match: type: object description: 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. properties: sni: type: string description: |- 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. nullable: true x-one-of: MatchType host_header: type: string description: |- 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. nullable: true x-one-of: MatchType match_subdomains: type: boolean description: If true, all subdomains will match. path_begin: type: string description: |- Path begin value to match. Value to match in the URL beginning path from an incoming request. nullable: true x-one-of: MatchType x-properties-order: - sni - host_header - match_subdomains - path_begin x-properties-order: - backend_id - match security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"backend_id":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ backend_id="string" delete: tags: - Route operationId: DeleteRoute summary: Delete a route description: Delete an existing route, specified by its route ID. Deleting a route is permanent, and cannot be undone. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: route_id description: Route ID. required: true schema: type: string responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}" \ X-Auth-Token:$SCW_SECRET_KEY /lb/v1/zones/{zone}/subscribers: get: tags: - Alert Subscribers operationId: ListSubscriber summary: List all subscribers description: List all subscribers to Load Balancer alerts. By default, returns all subscribers to Load Balancer alerts for the Organization associated with the authentication token used for the request. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: query name: order_by description: Sort order of subscribers in the response. schema: type: string enum: - created_at_asc - created_at_desc - name_asc - name_desc default: created_at_asc - in: query name: page description: The page number to return, from the paginated results. schema: type: integer format: int32 - in: query name: page_size description: The number of items to return. schema: type: integer format: uint32 - in: query name: name description: Subscriber name to search for. schema: type: string - in: query name: organization_id description: Filter subscribers by Organization ID. schema: type: string - in: query name: project_id description: Filter subscribers by Project ID. schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.ListSubscriberResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/subscribers?name=string" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/subscribers" \ X-Auth-Token:$SCW_SECRET_KEY \ name==string post: tags: - Alert Subscribers operationId: CreateSubscriber summary: Create a subscriber description: Create a new subscriber, either with an email configuration or a webhook configuration, for a specified Scaleway Project. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Subscriber' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Subscriber name. email_config: type: object description: Email address configuration. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: WebHook URI configuration. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config organization_id: type: string description: Organization ID to create the subscriber in. deprecated: true nullable: true x-one-of: ProjectIdentifier project_id: type: string description: Project ID to create the subscriber in. nullable: true x-one-of: ProjectIdentifier required: - name x-properties-order: - name - email_config - webhook_config - organization_id - project_id security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/subscribers" - lang: HTTPie source: |- http POST "https://api.scaleway.com/lb/v1/zones/{zone}/subscribers" \ X-Auth-Token:$SCW_SECRET_KEY \ name="string" /lb/v1/zones/{zone}/subscribers/{subscriber_id}: get: tags: - Alert Subscribers operationId: GetSubscriber summary: Get a subscriber description: Retrieve information about an existing subscriber, specified by its subscriber ID. Its full details, including name and email/webhook configuration, are returned in the response object. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: subscriber_id description: Subscriber ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Subscriber' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/lb/v1/zones/{zone}/subscribers/{subscriber_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/lb/v1/zones/{zone}/subscribers/{subscriber_id}" \ X-Auth-Token:$SCW_SECRET_KEY put: tags: - Alert Subscribers operationId: UpdateSubscriber summary: Update a subscriber description: Update the parameters of a given subscriber (e.g. name, webhook configuration, email configuration), specified by its subscriber ID. parameters: - in: path name: zone description: The zone you want to target required: true schema: type: string enum: - fr-par-1 - fr-par-2 - nl-ams-1 - nl-ams-2 - nl-ams-3 - pl-waw-1 - pl-waw-2 - pl-waw-3 - in: path name: subscriber_id description: Subscriber ID. required: true schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.lb.v1.Subscriber' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Subscriber name. email_config: type: object description: Email address configuration. properties: email: type: string description: Email address to send alerts to. nullable: true x-properties-order: - email x-one-of: config webhook_config: type: object description: Webhook URI configuration. properties: uri: type: string description: URI to receive POST requests. nullable: true x-properties-order: - uri x-one-of: config required: - name x-properties-order: - name - email_config - webhook_config security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PUT \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"string"}' \ "https://api.scaleway.com/lb/v1/zones/{zone}/subscribers/{subscriber_id}" - lang: HTTPie source: |- http PUT "https://api.scaleway.com/lb/v1/zones/{zone}/subscribers/{subscriber_id}" \ X-Auth-Token:$SCW_SECRET_KEY \ name="string"