openapi: 3.1.0
info:
  title: Load balancer API
  description: This API allows you to manage your Load Balancers.
  version: v1
servers:
- url: https://api.scaleway.com
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.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.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/regions/{region}/acls/{acl_id}:
    get:
      operationId: GetAcl
      summary: Get an ACL
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/acls/{acl_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/acls/{acl_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    put:
      operationId: UpdateAcl
      summary: Update an ACL
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/acls/{acl_id}"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/lb/v1/regions/{region}/acls/{acl_id}" \
            X-Auth-Token:$SCW_SECRET_KEY \
            action:='{
              "redirect": {
                  "code": 42,
                  "target": "string",
                  "type": "location"
              },
              "type": "allow"
            }' \
            index:=42 \
            name="string"
    delete:
      operationId: DeleteAcl
      summary: Delete an ACL
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/acls/{acl_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/lb/v1/regions/{region}/acls/{acl_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/backends/{backend_id}:
    get:
      operationId: GetBackend
      summary: Get a backend in a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/backends/{backend_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/backends/{backend_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    put:
      operationId: UpdateBackend
      summary: Update a backend in a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/backends/{backend_id}"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/lb/v1/regions/{region}/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:
      operationId: DeleteBackend
      summary: Delete a backend in a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/backends/{backend_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/lb/v1/regions/{region}/backends/{backend_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/backends/{backend_id}/healthcheck:
    put:
      operationId: UpdateHealthCheck
      summary: Update an health check for a given backend
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/backends/{backend_id}/healthcheck"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/lb/v1/regions/{region}/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/regions/{region}/backends/{backend_id}/servers:
    post:
      operationId: AddBackendServers
      summary: Add a set of servers in a given backend
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/backends/{backend_id}/servers"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/backends/{backend_id}/servers" \
            X-Auth-Token:$SCW_SECRET_KEY \
            server_ip:='["string"]'
    put:
      operationId: SetBackendServers
      summary: Define all servers in a given backend
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/backends/{backend_id}/servers"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/lb/v1/regions/{region}/backends/{backend_id}/servers" \
            X-Auth-Token:$SCW_SECRET_KEY \
            server_ip:='["string"]'
    delete:
      operationId: RemoveBackendServers
      summary: Remove a set of servers for a given backend
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/backends/{backend_id}/servers"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/lb/v1/regions/{region}/backends/{backend_id}/servers" \
            X-Auth-Token:$SCW_SECRET_KEY \
            server_ip:='["string"]'
  /lb/v1/regions/{region}/certificates/{certificate_id}:
    get:
      operationId: GetCertificate
      summary: Get a TLS certificate
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/certificates/{certificate_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/certificates/{certificate_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    put:
      operationId: UpdateCertificate
      summary: Update a TLS certificate
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/certificates/{certificate_id}"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/lb/v1/regions/{region}/certificates/{certificate_id}" \
            X-Auth-Token:$SCW_SECRET_KEY \
            name="string"
    delete:
      operationId: DeleteCertificate
      summary: Delete a TLS certificate
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/certificates/{certificate_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/lb/v1/regions/{region}/certificates/{certificate_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/frontends/{frontend_id}:
    get:
      operationId: GetFrontend
      summary: Get a frontend
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/frontends/{frontend_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/frontends/{frontend_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    put:
      operationId: UpdateFrontend
      summary: Update a frontend
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/frontends/{frontend_id}"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/lb/v1/regions/{region}/frontends/{frontend_id}" \
            X-Auth-Token:$SCW_SECRET_KEY \
            backend_id="string" \
            enable_http3:=false \
            inbound_port:=42 \
            name="string"
    delete:
      operationId: DeleteFrontend
      summary: Delete a frontend
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/frontends/{frontend_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/lb/v1/regions/{region}/frontends/{frontend_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/frontends/{frontend_id}/acls:
    get:
      operationId: ListAcls
      summary: List ACL for a given frontend
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/frontends/{frontend_id}/acls"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/frontends/{frontend_id}/acls" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      operationId: CreateAcl
      summary: Create an ACL for a given frontend
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/frontends/{frontend_id}/acls"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/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"
  /lb/v1/regions/{region}/ips:
    get:
      operationId: ListIPs
      summary: List IPs
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/ips"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/ips" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      operationId: CreateIp
      summary: Create an IP
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      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/regions/{region}/ips"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/ips" \
            X-Auth-Token:$SCW_SECRET_KEY \
            is_ipv6:=false
  /lb/v1/regions/{region}/ips/{ip_id}:
    get:
      operationId: GetIp
      summary: Get an IP
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/ips/{ip_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/ips/{ip_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    patch:
      operationId: UpdateIp
      summary: Update an IP
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/ips/{ip_id}"
      - lang: HTTPie
        source: |-
          http PATCH "https://api.scaleway.com/lb/v1/regions/{region}/ips/{ip_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    delete:
      operationId: ReleaseIp
      summary: Delete an IP
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/ips/{ip_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/lb/v1/regions/{region}/ips/{ip_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/lb-types:
    get:
      operationId: ListLbTypes
      summary: List all load balancer offer type
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lb-types"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/lb-types" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/lb/{lb_id}/subscribe:
    post:
      operationId: SubscribeToLb
      summary: Subscribe a subscriber to a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lb/{lb_id}/subscribe"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/lb/{lb_id}/subscribe" \
            X-Auth-Token:$SCW_SECRET_KEY \
            subscriber_id="string"
  /lb/v1/regions/{region}/lb/{lb_id}/unsubscribe:
    delete:
      operationId: UnsubscribeFromLb
      summary: Unsubscribe a subscriber from a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lb/{lb_id}/unsubscribe"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/lb/v1/regions/{region}/lb/{lb_id}/unsubscribe" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/lb/subscriber/{subscriber_id}:
    delete:
      operationId: DeleteSubscriber
      summary: Delete a subscriber
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lb/subscriber/{subscriber_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/lb/v1/regions/{region}/lb/subscriber/{subscriber_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/lbs:
    get:
      operationId: ListLbs
      summary: List load balancers
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/lbs" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      operationId: CreateLb
      summary: Create a load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      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/regions/{region}/lbs"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/lbs" \
            X-Auth-Token:$SCW_SECRET_KEY \
            description="string" \
            name="string" \
            type="string"
  /lb/v1/regions/{region}/lbs/{lb_id}:
    get:
      operationId: GetLb
      summary: Get a load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    put:
      operationId: UpdateLb
      summary: Update a load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}" \
            X-Auth-Token:$SCW_SECRET_KEY \
            description="string" \
            name="string"
    delete:
      operationId: DeleteLb
      summary: Delete a load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}?release_ip=false"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}" \
            X-Auth-Token:$SCW_SECRET_KEY \
            release_ip==false
  /lb/v1/regions/{region}/lbs/{lb_id}/backend-stats:
    get:
      operationId: ListBackendStats
      summary: List backend server statistics
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}/backend-stats"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/backend-stats" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/lbs/{lb_id}/backends:
    get:
      operationId: ListBackends
      summary: List backends in a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}/backends"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/backends" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      operationId: CreateBackend
      summary: Create a backend in a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}/backends"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/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/regions/{region}/lbs/{lb_id}/certificates:
    get:
      operationId: ListCertificates
      summary: List all TLS certificates on a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}/certificates"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/certificates" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      operationId: CreateCertificate
      summary: Create a TLS certificate
      description: Generate a new TLS certificate using Let's Encrypt or import your
        certificate.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}/certificates"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/certificates" \
            X-Auth-Token:$SCW_SECRET_KEY \
            name="string"
  /lb/v1/regions/{region}/lbs/{lb_id}/frontends:
    get:
      operationId: ListFrontends
      summary: List frontends in a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}/frontends"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/frontends" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      operationId: CreateFrontend
      summary: Create a frontend in a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}/frontends"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/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/regions/{region}/lbs/{lb_id}/migrate:
    post:
      operationId: MigrateLb
      summary: Migrate a load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}/migrate"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/migrate" \
            X-Auth-Token:$SCW_SECRET_KEY \
            type="string"
  /lb/v1/regions/{region}/lbs/{lb_id}/private-networks:
    get:
      operationId: ListLbPrivateNetworks
      summary: List attached private network of load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}/private-networks"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/private-networks" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/lbs/{lb_id}/private-networks/{private_network_id}/attach:
    post:
      operationId: AttachPrivateNetwork
      summary: Add load balancer on instance private network
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: lb_id
        description: Load Balancer ID.
        required: true
        schema:
          type: string
      - in: path
        name: private_network_id
        description: Private Network 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:
                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
              x-properties-order:
              - 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 '{}' \
            "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/private-networks/{private_network_id}/attach"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/private-networks/{private_network_id}/attach" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/lbs/{lb_id}/private-networks/{private_network_id}/detach:
    post:
      operationId: DetachPrivateNetwork
      summary: Remove load balancer of private network
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: lb_id
        description: Load balancer ID.
        required: true
        schema:
          type: string
      - in: path
        name: private_network_id
        description: Set your instance private network id.
        required: true
        schema:
          type: string
      responses:
        "204":
          description: ""
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: |-
          curl -X POST \
            -H "X-Auth-Token: $SCW_SECRET_KEY" \
            -H "Content-Type: application/json" \
            -d '{}' \
            "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/private-networks/{private_network_id}/detach"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/private-networks/{private_network_id}/detach" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/lbs/{lb_id}/stats:
    get:
      operationId: GetLbStats
      summary: Get usage statistics of a given load balancer
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/lbs/{lb_id}/stats"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/lbs/{lb_id}/stats" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/routes:
    get:
      operationId: ListRoutes
      summary: List all backend redirections
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/routes"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/routes" \
            X-Auth-Token:$SCW_SECRET_KEY
    post:
      operationId: CreateRoute
      summary: Create a backend redirection
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      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/regions/{region}/routes"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/routes" \
            X-Auth-Token:$SCW_SECRET_KEY \
            backend_id="string" \
            frontend_id="string"
  /lb/v1/regions/{region}/routes/{route_id}:
    get:
      operationId: GetRoute
      summary: Get single backend redirection
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/routes/{route_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/routes/{route_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    put:
      operationId: UpdateRoute
      summary: Edit a backend redirection
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/routes/{route_id}"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/lb/v1/regions/{region}/routes/{route_id}" \
            X-Auth-Token:$SCW_SECRET_KEY \
            backend_id="string"
    delete:
      operationId: DeleteRoute
      summary: Delete a backend redirection
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/routes/{route_id}"
      - lang: HTTPie
        source: |-
          http DELETE "https://api.scaleway.com/lb/v1/regions/{region}/routes/{route_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
  /lb/v1/regions/{region}/subscribers:
    get:
      operationId: ListSubscriber
      summary: List all subscriber
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/subscribers?name=string"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/subscribers" \
            X-Auth-Token:$SCW_SECRET_KEY \
            name==string
    post:
      operationId: CreateSubscriber
      summary: Create a subscriber, webhook or email
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      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/regions/{region}/subscribers"
      - lang: HTTPie
        source: |-
          http POST "https://api.scaleway.com/lb/v1/regions/{region}/subscribers" \
            X-Auth-Token:$SCW_SECRET_KEY \
            name="string"
  /lb/v1/regions/{region}/subscribers/{subscriber_id}:
    get:
      operationId: GetSubscriber
      summary: Get a subscriber
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/subscribers/{subscriber_id}"
      - lang: HTTPie
        source: |-
          http GET "https://api.scaleway.com/lb/v1/regions/{region}/subscribers/{subscriber_id}" \
            X-Auth-Token:$SCW_SECRET_KEY
    put:
      operationId: UpdateSubscriber
      summary: Update a subscriber
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - 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/regions/{region}/subscribers/{subscriber_id}"
      - lang: HTTPie
        source: |-
          http PUT "https://api.scaleway.com/lb/v1/regions/{region}/subscribers/{subscriber_id}" \
            X-Auth-Token:$SCW_SECRET_KEY \
            name="string"
