Scaleway logo
Load Balancer API

The Load Balancer ACL object. It represents an Access Control List rule, which tells a given frontend to allow or deny incoming traffic based on the traffic's source IP address and/or HTTP path and header. Use this endpoint to create, list, get, update and delete ACLs.


Get an ACL

GET
https://api.scaleway.com
/lb/v1/zones/{zone}/acls/{acl_id}

Get information for a particular ACL, specified by its ACL ID. The response returns full details of the ACL, including its name, action, match rule and frontend.

Get an ACL › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
acl_id
​string · required

ACL ID.

Get an ACL › Responses

200
id
​string

ACL ID.

name
​string

ACL name.

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

Action to take when incoming traffic matches an ACL filter.

​scaleway.lb.v1.Frontend

ACL is attached to this frontend object.

index
​integer · int32

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

created_at
​string | null · date-time

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

updated_at
​string | null · date-time

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

description
​string

ACL description.


Update an ACL

PUT
https://api.scaleway.com
/lb/v1/zones/{zone}/acls/{acl_id}

Update a particular ACL, specified by its ACL ID. You can update details including its name, action and match rule.

Update an ACL › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
acl_id
​string · required

ACL ID.

Update an ACL › Request Body

name
​string · required

ACL name.

​scaleway.lb.v1.AclAction · required

Action to take when incoming traffic matches an ACL filter.

index
​integer · int32 · required

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

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

description
​string | null

ACL description.

Update an ACL › Responses

200
id
​string

ACL ID.

name
​string

ACL name.

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

Action to take when incoming traffic matches an ACL filter.

​scaleway.lb.v1.Frontend

ACL is attached to this frontend object.

index
​integer · int32

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

created_at
​string | null · date-time

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

updated_at
​string | null · date-time

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

description
​string

ACL description.


Delete an ACL

DELETE
https://api.scaleway.com
/lb/v1/zones/{zone}/acls/{acl_id}

Delete an ACL, specified by its ACL ID. Deleting an ACL is irreversible and cannot be undone.

Delete an ACL › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
acl_id
​string · required

ACL ID.

Delete an ACL › Responses

No data returned

List ACLs for a given frontend

GET
https://api.scaleway.com
/lb/v1/zones/{zone}/frontends/{frontend_id}/acls

List the ACLs for a given frontend, specified by its frontend ID. The response is an array of ACL objects, each one representing an ACL that denies or allows traffic based on certain conditions.

List ACLs for a given frontend › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
frontend_id
​string · required

Frontend ID (ACLs attached to this frontend will be returned in the response).

List ACLs for a given frontend › query Parameters

order_by
​scaleway.lb.v1.ListAclRequest.OrderBy · enum

Sort order of ACLs in the response.

Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
Default: created_at_asc
page
​integer · int32

The page number to return, from the paginated results.

page_size
​integer · uint32

The number of ACLs to return.

name
​string

ACL name to filter for.

List ACLs for a given frontend › Responses

200

List of ACL objects.

total_count
​integer · uint32

The total number of objects.


Define all ACLs for a given frontend

PUT
https://api.scaleway.com
/lb/v1/zones/{zone}/frontends/{frontend_id}/acls

For a given frontend specified by its frontend ID, define and add the complete set of ACLS for that frontend. Any existing ACLs on this frontend will be removed.

Define all ACLs for a given frontend › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
frontend_id
​string · required

Frontend ID.

Define all ACLs for a given frontend › Request Body

​scaleway.lb.v1.AclSpec[] · required

List of ACLs for this frontend. Any other existing ACLs on this frontend will be removed.

Define all ACLs for a given frontend › Responses

200

List of ACL objects.

total_count
​integer · uint32

The total number of ACL objects.


Create an ACL for a given frontend

POST
https://api.scaleway.com
/lb/v1/zones/{zone}/frontends/{frontend_id}/acls

Create a new ACL for a given frontend. Each ACL must have a name, an action to perform (allow or deny), and a match rule (the action is carried out when the incoming traffic matches the rule).

Create an ACL for a given frontend › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
frontend_id
​string · required

Frontend ID to attach the ACL to.

Create an ACL for a given frontend › Request Body

name
​string · required

ACL name.

​scaleway.lb.v1.AclAction · required

Action to take when incoming traffic matches an ACL filter.

index
​integer · int32 · required

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

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

description
​string

ACL description.

Create an ACL for a given frontend › Responses

200
id
​string

ACL ID.

name
​string

ACL name.

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

Action to take when incoming traffic matches an ACL filter.

​scaleway.lb.v1.Frontend

ACL is attached to this frontend object.

index
​integer · int32

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

created_at
​string | null · date-time

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

updated_at
​string | null · date-time

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

description
​string

ACL description.