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    <Message type=\"note\">\n    This
    is an optional step that seeks to simplify your usage of the Load Balancer API.\n
    \   </Message>\n\n    ```bash\n    export SCW_SECRET_KEY=\"<API secret key>\"\n
    \   export SCW_DEFAULT_ZONE=\"<Scaleway default Availability Zone>\"\n    export
    SCW_PROJECT_ID=\"<Scaleway 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 `<LOAD-BALANCER-ID>`
    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/<LOAD-BALANCER-ID>/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          *
    `\"<type>_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 `<LOAD-BALANCER-ID>`
    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/<LOAD-BALANCER-ID>/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 `<LOAD-BALANCER-ID>`
    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/<LOAD-BALANCER-ID>\"
    \\\n      -d '{\n        \"release_ip\": false\n      }'\n    ```\n\n\n<Message
    type=\"requirement\">\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</Message>\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.
                  nullable: true
              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"
