1. Packages
  2. Scaleway
  3. API Docs
  4. LoadbalancerFrontend
Scaleway v1.26.0 published on Friday, Mar 28, 2025 by pulumiverse

scaleway.LoadbalancerFrontend

Explore with Pulumi AI

Deprecated: scaleway.index/loadbalancerfrontend.LoadbalancerFrontend has been deprecated in favor of scaleway.loadbalancers/frontend.Frontend

Creates and manages Scaleway Load Balancer frontends.

For more information, see the main documentation or API documentation.

Example Usage

Basic

import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";

const frontend01 = new scaleway.loadbalancers.Frontend("frontend01", {
    lbId: lb01.id,
    backendId: backend01.id,
    name: "frontend01",
    inboundPort: 80,
});
Copy
import pulumi
import pulumiverse_scaleway as scaleway

frontend01 = scaleway.loadbalancers.Frontend("frontend01",
    lb_id=lb01["id"],
    backend_id=backend01["id"],
    name="frontend01",
    inbound_port=80)
Copy
package main

import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/loadbalancers"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancers.NewFrontend(ctx, "frontend01", &loadbalancers.FrontendArgs{
			LbId:        pulumi.Any(lb01.Id),
			BackendId:   pulumi.Any(backend01.Id),
			Name:        pulumi.String("frontend01"),
			InboundPort: pulumi.Int(80),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;

return await Deployment.RunAsync(() => 
{
    var frontend01 = new Scaleway.Loadbalancers.Frontend("frontend01", new()
    {
        LbId = lb01.Id,
        BackendId = backend01.Id,
        Name = "frontend01",
        InboundPort = 80,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.loadbalancers.Frontend;
import com.pulumi.scaleway.loadbalancers.FrontendArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var frontend01 = new Frontend("frontend01", FrontendArgs.builder()
            .lbId(lb01.id())
            .backendId(backend01.id())
            .name("frontend01")
            .inboundPort("80")
            .build());

    }
}
Copy
resources:
  frontend01:
    type: scaleway:loadbalancers:Frontend
    properties:
      lbId: ${lb01.id}
      backendId: ${backend01.id}
      name: frontend01
      inboundPort: '80'
Copy

With ACLs

import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";

const frontend01 = new scaleway.loadbalancers.Frontend("frontend01", {
    lbId: lb01.id,
    backendId: backend01.id,
    name: "frontend01",
    inboundPort: 80,
    acls: [
        {
            name: "blacklist wellknwon IPs",
            action: {
                type: "allow",
            },
            match: {
                ipSubnets: [
                    "192.168.0.1",
                    "192.168.0.2",
                    "192.168.10.0/24",
                ],
            },
        },
        {
            action: {
                type: "deny",
            },
            match: {
                ipSubnets: ["51.51.51.51"],
                httpFilter: "regex",
                httpFilterValues: ["^foo*bar$"],
            },
        },
        {
            action: {
                type: "allow",
            },
            match: {
                httpFilter: "path_begin",
                httpFilterValues: [
                    "foo",
                    "bar",
                ],
            },
        },
        {
            action: {
                type: "allow",
            },
            match: {
                httpFilter: "path_begin",
                httpFilterValues: ["hi"],
                invert: true,
            },
        },
        {
            action: {
                type: "allow",
            },
            match: {
                httpFilter: "http_header_match",
                httpFilterValues: "foo",
                httpFilterOption: "bar",
            },
        },
        {
            action: {
                type: "redirect",
                redirects: [{
                    type: "location",
                    target: "https://example.com",
                    code: 307,
                }],
            },
            match: {
                ipSubnets: ["10.0.0.10"],
                httpFilter: "path_begin",
                httpFilterValues: [
                    "foo",
                    "bar",
                ],
            },
        },
    ],
});
Copy
import pulumi
import pulumiverse_scaleway as scaleway

frontend01 = scaleway.loadbalancers.Frontend("frontend01",
    lb_id=lb01["id"],
    backend_id=backend01["id"],
    name="frontend01",
    inbound_port=80,
    acls=[
        {
            "name": "blacklist wellknwon IPs",
            "action": {
                "type": "allow",
            },
            "match": {
                "ip_subnets": [
                    "192.168.0.1",
                    "192.168.0.2",
                    "192.168.10.0/24",
                ],
            },
        },
        {
            "action": {
                "type": "deny",
            },
            "match": {
                "ip_subnets": ["51.51.51.51"],
                "http_filter": "regex",
                "http_filter_values": ["^foo*bar$"],
            },
        },
        {
            "action": {
                "type": "allow",
            },
            "match": {
                "http_filter": "path_begin",
                "http_filter_values": [
                    "foo",
                    "bar",
                ],
            },
        },
        {
            "action": {
                "type": "allow",
            },
            "match": {
                "http_filter": "path_begin",
                "http_filter_values": ["hi"],
                "invert": True,
            },
        },
        {
            "action": {
                "type": "allow",
            },
            "match": {
                "http_filter": "http_header_match",
                "http_filter_values": "foo",
                "http_filter_option": "bar",
            },
        },
        {
            "action": {
                "type": "redirect",
                "redirects": [{
                    "type": "location",
                    "target": "https://example.com",
                    "code": 307,
                }],
            },
            "match": {
                "ip_subnets": ["10.0.0.10"],
                "http_filter": "path_begin",
                "http_filter_values": [
                    "foo",
                    "bar",
                ],
            },
        },
    ])
Copy
package main

import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/loadbalancers"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := loadbalancers.NewFrontend(ctx, "frontend01", &loadbalancers.FrontendArgs{
			LbId:        pulumi.Any(lb01.Id),
			BackendId:   pulumi.Any(backend01.Id),
			Name:        pulumi.String("frontend01"),
			InboundPort: pulumi.Int(80),
			Acls: loadbalancers.FrontendAclArray{
				&loadbalancers.FrontendAclArgs{
					Name: pulumi.String("blacklist wellknwon IPs"),
					Action: &loadbalancers.FrontendAclActionArgs{
						Type: pulumi.String("allow"),
					},
					Match: &loadbalancers.FrontendAclMatchArgs{
						IpSubnets: pulumi.StringArray{
							pulumi.String("192.168.0.1"),
							pulumi.String("192.168.0.2"),
							pulumi.String("192.168.10.0/24"),
						},
					},
				},
				&loadbalancers.FrontendAclArgs{
					Action: &loadbalancers.FrontendAclActionArgs{
						Type: pulumi.String("deny"),
					},
					Match: &loadbalancers.FrontendAclMatchArgs{
						IpSubnets: pulumi.StringArray{
							pulumi.String("51.51.51.51"),
						},
						HttpFilter: pulumi.String("regex"),
						HttpFilterValues: pulumi.StringArray{
							pulumi.String("^foo*bar$"),
						},
					},
				},
				&loadbalancers.FrontendAclArgs{
					Action: &loadbalancers.FrontendAclActionArgs{
						Type: pulumi.String("allow"),
					},
					Match: &loadbalancers.FrontendAclMatchArgs{
						HttpFilter: pulumi.String("path_begin"),
						HttpFilterValues: pulumi.StringArray{
							pulumi.String("foo"),
							pulumi.String("bar"),
						},
					},
				},
				&loadbalancers.FrontendAclArgs{
					Action: &loadbalancers.FrontendAclActionArgs{
						Type: pulumi.String("allow"),
					},
					Match: &loadbalancers.FrontendAclMatchArgs{
						HttpFilter: pulumi.String("path_begin"),
						HttpFilterValues: pulumi.StringArray{
							pulumi.String("hi"),
						},
						Invert: pulumi.Bool(true),
					},
				},
				&loadbalancers.FrontendAclArgs{
					Action: &loadbalancers.FrontendAclActionArgs{
						Type: pulumi.String("allow"),
					},
					Match: &loadbalancers.FrontendAclMatchArgs{
						HttpFilter:       pulumi.String("http_header_match"),
						HttpFilterValues: pulumi.StringArray("foo"),
						HttpFilterOption: pulumi.String("bar"),
					},
				},
				&loadbalancers.FrontendAclArgs{
					Action: &loadbalancers.FrontendAclActionArgs{
						Type: pulumi.String("redirect"),
						Redirects: loadbalancers.FrontendAclActionRedirectArray{
							&loadbalancers.FrontendAclActionRedirectArgs{
								Type:   pulumi.String("location"),
								Target: pulumi.String("https://example.com"),
								Code:   pulumi.Int(307),
							},
						},
					},
					Match: &loadbalancers.FrontendAclMatchArgs{
						IpSubnets: pulumi.StringArray{
							pulumi.String("10.0.0.10"),
						},
						HttpFilter: pulumi.String("path_begin"),
						HttpFilterValues: pulumi.StringArray{
							pulumi.String("foo"),
							pulumi.String("bar"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;

return await Deployment.RunAsync(() => 
{
    var frontend01 = new Scaleway.Loadbalancers.Frontend("frontend01", new()
    {
        LbId = lb01.Id,
        BackendId = backend01.Id,
        Name = "frontend01",
        InboundPort = 80,
        Acls = new[]
        {
            new Scaleway.Loadbalancers.Inputs.FrontendAclArgs
            {
                Name = "blacklist wellknwon IPs",
                Action = new Scaleway.Loadbalancers.Inputs.FrontendAclActionArgs
                {
                    Type = "allow",
                },
                Match = new Scaleway.Loadbalancers.Inputs.FrontendAclMatchArgs
                {
                    IpSubnets = new[]
                    {
                        "192.168.0.1",
                        "192.168.0.2",
                        "192.168.10.0/24",
                    },
                },
            },
            new Scaleway.Loadbalancers.Inputs.FrontendAclArgs
            {
                Action = new Scaleway.Loadbalancers.Inputs.FrontendAclActionArgs
                {
                    Type = "deny",
                },
                Match = new Scaleway.Loadbalancers.Inputs.FrontendAclMatchArgs
                {
                    IpSubnets = new[]
                    {
                        "51.51.51.51",
                    },
                    HttpFilter = "regex",
                    HttpFilterValues = new[]
                    {
                        "^foo*bar$",
                    },
                },
            },
            new Scaleway.Loadbalancers.Inputs.FrontendAclArgs
            {
                Action = new Scaleway.Loadbalancers.Inputs.FrontendAclActionArgs
                {
                    Type = "allow",
                },
                Match = new Scaleway.Loadbalancers.Inputs.FrontendAclMatchArgs
                {
                    HttpFilter = "path_begin",
                    HttpFilterValues = new[]
                    {
                        "foo",
                        "bar",
                    },
                },
            },
            new Scaleway.Loadbalancers.Inputs.FrontendAclArgs
            {
                Action = new Scaleway.Loadbalancers.Inputs.FrontendAclActionArgs
                {
                    Type = "allow",
                },
                Match = new Scaleway.Loadbalancers.Inputs.FrontendAclMatchArgs
                {
                    HttpFilter = "path_begin",
                    HttpFilterValues = new[]
                    {
                        "hi",
                    },
                    Invert = true,
                },
            },
            new Scaleway.Loadbalancers.Inputs.FrontendAclArgs
            {
                Action = new Scaleway.Loadbalancers.Inputs.FrontendAclActionArgs
                {
                    Type = "allow",
                },
                Match = new Scaleway.Loadbalancers.Inputs.FrontendAclMatchArgs
                {
                    HttpFilter = "http_header_match",
                    HttpFilterValues = "foo",
                    HttpFilterOption = "bar",
                },
            },
            new Scaleway.Loadbalancers.Inputs.FrontendAclArgs
            {
                Action = new Scaleway.Loadbalancers.Inputs.FrontendAclActionArgs
                {
                    Type = "redirect",
                    Redirects = new[]
                    {
                        new Scaleway.Loadbalancers.Inputs.FrontendAclActionRedirectArgs
                        {
                            Type = "location",
                            Target = "https://example.com",
                            Code = 307,
                        },
                    },
                },
                Match = new Scaleway.Loadbalancers.Inputs.FrontendAclMatchArgs
                {
                    IpSubnets = new[]
                    {
                        "10.0.0.10",
                    },
                    HttpFilter = "path_begin",
                    HttpFilterValues = new[]
                    {
                        "foo",
                        "bar",
                    },
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.loadbalancers.Frontend;
import com.pulumi.scaleway.loadbalancers.FrontendArgs;
import com.pulumi.scaleway.loadbalancers.inputs.FrontendAclArgs;
import com.pulumi.scaleway.loadbalancers.inputs.FrontendAclActionArgs;
import com.pulumi.scaleway.loadbalancers.inputs.FrontendAclMatchArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var frontend01 = new Frontend("frontend01", FrontendArgs.builder()
            .lbId(lb01.id())
            .backendId(backend01.id())
            .name("frontend01")
            .inboundPort("80")
            .acls(            
                FrontendAclArgs.builder()
                    .name("blacklist wellknwon IPs")
                    .action(FrontendAclActionArgs.builder()
                        .type("allow")
                        .build())
                    .match(FrontendAclMatchArgs.builder()
                        .ipSubnets(                        
                            "192.168.0.1",
                            "192.168.0.2",
                            "192.168.10.0/24")
                        .build())
                    .build(),
                FrontendAclArgs.builder()
                    .action(FrontendAclActionArgs.builder()
                        .type("deny")
                        .build())
                    .match(FrontendAclMatchArgs.builder()
                        .ipSubnets("51.51.51.51")
                        .httpFilter("regex")
                        .httpFilterValues("^foo*bar$")
                        .build())
                    .build(),
                FrontendAclArgs.builder()
                    .action(FrontendAclActionArgs.builder()
                        .type("allow")
                        .build())
                    .match(FrontendAclMatchArgs.builder()
                        .httpFilter("path_begin")
                        .httpFilterValues(                        
                            "foo",
                            "bar")
                        .build())
                    .build(),
                FrontendAclArgs.builder()
                    .action(FrontendAclActionArgs.builder()
                        .type("allow")
                        .build())
                    .match(FrontendAclMatchArgs.builder()
                        .httpFilter("path_begin")
                        .httpFilterValues("hi")
                        .invert("true")
                        .build())
                    .build(),
                FrontendAclArgs.builder()
                    .action(FrontendAclActionArgs.builder()
                        .type("allow")
                        .build())
                    .match(FrontendAclMatchArgs.builder()
                        .httpFilter("http_header_match")
                        .httpFilterValues("foo")
                        .httpFilterOption("bar")
                        .build())
                    .build(),
                FrontendAclArgs.builder()
                    .action(FrontendAclActionArgs.builder()
                        .type("redirect")
                        .redirects(FrontendAclActionRedirectArgs.builder()
                            .type("location")
                            .target("https://example.com")
                            .code(307)
                            .build())
                        .build())
                    .match(FrontendAclMatchArgs.builder()
                        .ipSubnets("10.0.0.10")
                        .httpFilter("path_begin")
                        .httpFilterValues(                        
                            "foo",
                            "bar")
                        .build())
                    .build())
            .build());

    }
}
Copy
resources:
  frontend01:
    type: scaleway:loadbalancers:Frontend
    properties:
      lbId: ${lb01.id}
      backendId: ${backend01.id}
      name: frontend01
      inboundPort: '80'
      acls:
        - name: blacklist wellknwon IPs
          action:
            type: allow
          match:
            ipSubnets:
              - 192.168.0.1
              - 192.168.0.2
              - 192.168.10.0/24
        - action:
            type: deny
          match:
            ipSubnets:
              - 51.51.51.51
            httpFilter: regex
            httpFilterValues:
              - ^foo*bar$
        - action:
            type: allow
          match:
            httpFilter: path_begin
            httpFilterValues:
              - foo
              - bar
        - action:
            type: allow
          match:
            httpFilter: path_begin
            httpFilterValues:
              - hi
            invert: 'true'
        - action:
            type: allow
          match:
            httpFilter: http_header_match
            httpFilterValues: foo
            httpFilterOption: bar
        - action:
            type: redirect
            redirects:
              - type: location
                target: https://example.com
                code: 307
          match:
            ipSubnets:
              - 10.0.0.10
            httpFilter: path_begin
            httpFilterValues:
              - foo
              - bar
Copy

Create LoadbalancerFrontend Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new LoadbalancerFrontend(name: string, args: LoadbalancerFrontendArgs, opts?: CustomResourceOptions);
@overload
def LoadbalancerFrontend(resource_name: str,
                         args: LoadbalancerFrontendArgs,
                         opts: Optional[ResourceOptions] = None)

@overload
def LoadbalancerFrontend(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         acls: Optional[Sequence[LoadbalancerFrontendAclArgs]] = None,
                         backend_id: Optional[str] = None,
                         certificate_ids: Optional[Sequence[str]] = None,
                         connection_rate_limit: Optional[int] = None,
                         enable_http3: Optional[bool] = None,
                         external_acls: Optional[bool] = None,
                         inbound_port: Optional[int] = None,
                         lb_id: Optional[str] = None,
                         name: Optional[str] = None,
                         timeout_client: Optional[str] = None)
func NewLoadbalancerFrontend(ctx *Context, name string, args LoadbalancerFrontendArgs, opts ...ResourceOption) (*LoadbalancerFrontend, error)
public LoadbalancerFrontend(string name, LoadbalancerFrontendArgs args, CustomResourceOptions? opts = null)
public LoadbalancerFrontend(String name, LoadbalancerFrontendArgs args)
public LoadbalancerFrontend(String name, LoadbalancerFrontendArgs args, CustomResourceOptions options)
type: scaleway:LoadbalancerFrontend
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. LoadbalancerFrontendArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. LoadbalancerFrontendArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. LoadbalancerFrontendArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. LoadbalancerFrontendArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. LoadbalancerFrontendArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

LoadbalancerFrontend Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The LoadbalancerFrontend resource accepts the following input properties:

BackendId
This property is required.
Changes to this property will trigger replacement.
string

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

InboundPort This property is required. int
TCP port to listen to on the front side.
LbId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Load Balancer this frontend is attached to.
Acls List<Pulumiverse.Scaleway.Inputs.LoadbalancerFrontendAcl>
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
CertificateIds List<string>

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

ConnectionRateLimit int
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
EnableHttp3 bool
Activates HTTP/3 protocol.
ExternalAcls bool
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
Name string
The ACL name. If not provided it will be randomly generated.
TimeoutClient string
Maximum inactivity time on the client side. (e.g. 1s)
BackendId
This property is required.
Changes to this property will trigger replacement.
string

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

InboundPort This property is required. int
TCP port to listen to on the front side.
LbId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Load Balancer this frontend is attached to.
Acls []LoadbalancerFrontendAclArgs
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
CertificateIds []string

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

ConnectionRateLimit int
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
EnableHttp3 bool
Activates HTTP/3 protocol.
ExternalAcls bool
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
Name string
The ACL name. If not provided it will be randomly generated.
TimeoutClient string
Maximum inactivity time on the client side. (e.g. 1s)
backendId
This property is required.
Changes to this property will trigger replacement.
String

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

inboundPort This property is required. Integer
TCP port to listen to on the front side.
lbId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the Load Balancer this frontend is attached to.
acls List<LoadbalancerFrontendAcl>
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
certificateIds List<String>

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

connectionRateLimit Integer
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
enableHttp3 Boolean
Activates HTTP/3 protocol.
externalAcls Boolean
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
name String
The ACL name. If not provided it will be randomly generated.
timeoutClient String
Maximum inactivity time on the client side. (e.g. 1s)
backendId
This property is required.
Changes to this property will trigger replacement.
string

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

inboundPort This property is required. number
TCP port to listen to on the front side.
lbId
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Load Balancer this frontend is attached to.
acls LoadbalancerFrontendAcl[]
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
certificateIds string[]

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

connectionRateLimit number
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
enableHttp3 boolean
Activates HTTP/3 protocol.
externalAcls boolean
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
name string
The ACL name. If not provided it will be randomly generated.
timeoutClient string
Maximum inactivity time on the client side. (e.g. 1s)
backend_id
This property is required.
Changes to this property will trigger replacement.
str

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

inbound_port This property is required. int
TCP port to listen to on the front side.
lb_id
This property is required.
Changes to this property will trigger replacement.
str
The ID of the Load Balancer this frontend is attached to.
acls Sequence[LoadbalancerFrontendAclArgs]
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
certificate_ids Sequence[str]

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

connection_rate_limit int
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
enable_http3 bool
Activates HTTP/3 protocol.
external_acls bool
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
name str
The ACL name. If not provided it will be randomly generated.
timeout_client str
Maximum inactivity time on the client side. (e.g. 1s)
backendId
This property is required.
Changes to this property will trigger replacement.
String

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

inboundPort This property is required. Number
TCP port to listen to on the front side.
lbId
This property is required.
Changes to this property will trigger replacement.
String
The ID of the Load Balancer this frontend is attached to.
acls List<Property Map>
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
certificateIds List<String>

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

connectionRateLimit Number
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
enableHttp3 Boolean
Activates HTTP/3 protocol.
externalAcls Boolean
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
name String
The ACL name. If not provided it will be randomly generated.
timeoutClient String
Maximum inactivity time on the client side. (e.g. 1s)

Outputs

All input properties are implicitly available as output properties. Additionally, the LoadbalancerFrontend resource produces the following output properties:

CertificateId string
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

Id string
The provider-assigned unique ID for this managed resource.
CertificateId string
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

Id string
The provider-assigned unique ID for this managed resource.
certificateId String
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

id String
The provider-assigned unique ID for this managed resource.
certificateId string
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

id string
The provider-assigned unique ID for this managed resource.
certificate_id str
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

id str
The provider-assigned unique ID for this managed resource.
certificateId String
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

id String
The provider-assigned unique ID for this managed resource.

Look up Existing LoadbalancerFrontend Resource

Get an existing LoadbalancerFrontend resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: LoadbalancerFrontendState, opts?: CustomResourceOptions): LoadbalancerFrontend
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        acls: Optional[Sequence[LoadbalancerFrontendAclArgs]] = None,
        backend_id: Optional[str] = None,
        certificate_id: Optional[str] = None,
        certificate_ids: Optional[Sequence[str]] = None,
        connection_rate_limit: Optional[int] = None,
        enable_http3: Optional[bool] = None,
        external_acls: Optional[bool] = None,
        inbound_port: Optional[int] = None,
        lb_id: Optional[str] = None,
        name: Optional[str] = None,
        timeout_client: Optional[str] = None) -> LoadbalancerFrontend
func GetLoadbalancerFrontend(ctx *Context, name string, id IDInput, state *LoadbalancerFrontendState, opts ...ResourceOption) (*LoadbalancerFrontend, error)
public static LoadbalancerFrontend Get(string name, Input<string> id, LoadbalancerFrontendState? state, CustomResourceOptions? opts = null)
public static LoadbalancerFrontend get(String name, Output<String> id, LoadbalancerFrontendState state, CustomResourceOptions options)
resources:  _:    type: scaleway:LoadbalancerFrontend    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Acls List<Pulumiverse.Scaleway.Inputs.LoadbalancerFrontendAcl>
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
BackendId Changes to this property will trigger replacement. string

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

CertificateId string
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

CertificateIds List<string>

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

ConnectionRateLimit int
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
EnableHttp3 bool
Activates HTTP/3 protocol.
ExternalAcls bool
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
InboundPort int
TCP port to listen to on the front side.
LbId Changes to this property will trigger replacement. string
The ID of the Load Balancer this frontend is attached to.
Name string
The ACL name. If not provided it will be randomly generated.
TimeoutClient string
Maximum inactivity time on the client side. (e.g. 1s)
Acls []LoadbalancerFrontendAclArgs
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
BackendId Changes to this property will trigger replacement. string

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

CertificateId string
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

CertificateIds []string

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

ConnectionRateLimit int
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
EnableHttp3 bool
Activates HTTP/3 protocol.
ExternalAcls bool
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
InboundPort int
TCP port to listen to on the front side.
LbId Changes to this property will trigger replacement. string
The ID of the Load Balancer this frontend is attached to.
Name string
The ACL name. If not provided it will be randomly generated.
TimeoutClient string
Maximum inactivity time on the client side. (e.g. 1s)
acls List<LoadbalancerFrontendAcl>
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
backendId Changes to this property will trigger replacement. String

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

certificateId String
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

certificateIds List<String>

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

connectionRateLimit Integer
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
enableHttp3 Boolean
Activates HTTP/3 protocol.
externalAcls Boolean
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
inboundPort Integer
TCP port to listen to on the front side.
lbId Changes to this property will trigger replacement. String
The ID of the Load Balancer this frontend is attached to.
name String
The ACL name. If not provided it will be randomly generated.
timeoutClient String
Maximum inactivity time on the client side. (e.g. 1s)
acls LoadbalancerFrontendAcl[]
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
backendId Changes to this property will trigger replacement. string

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

certificateId string
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

certificateIds string[]

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

connectionRateLimit number
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
enableHttp3 boolean
Activates HTTP/3 protocol.
externalAcls boolean
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
inboundPort number
TCP port to listen to on the front side.
lbId Changes to this property will trigger replacement. string
The ID of the Load Balancer this frontend is attached to.
name string
The ACL name. If not provided it will be randomly generated.
timeoutClient string
Maximum inactivity time on the client side. (e.g. 1s)
acls Sequence[LoadbalancerFrontendAclArgs]
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
backend_id Changes to this property will trigger replacement. str

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

certificate_id str
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

certificate_ids Sequence[str]

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

connection_rate_limit int
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
enable_http3 bool
Activates HTTP/3 protocol.
external_acls bool
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
inbound_port int
TCP port to listen to on the front side.
lb_id Changes to this property will trigger replacement. str
The ID of the Load Balancer this frontend is attached to.
name str
The ACL name. If not provided it will be randomly generated.
timeout_client str
Maximum inactivity time on the client side. (e.g. 1s)
acls List<Property Map>
A list of ACL rules to apply to the Load Balancer frontend. Defined below.
backendId Changes to this property will trigger replacement. String

The ID of the Load Balancer backend this frontend is attached to.

Important: Updates to lb_id or backend_id will recreate the frontend.

certificateId String
(Deprecated, use certificate_ids instead) First certificate ID used by the frontend.

Deprecated: Please use certificate_ids

certificateIds List<String>

List of certificate IDs that should be used by the frontend.

Important: Certificates are not allowed on port 80.

connectionRateLimit Number
The rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.
enableHttp3 Boolean
Activates HTTP/3 protocol.
externalAcls Boolean
A boolean to specify whether to use lb_acl. If external_acls is set to true, acl can not be set directly in the Load Balancer frontend.
inboundPort Number
TCP port to listen to on the front side.
lbId Changes to this property will trigger replacement. String
The ID of the Load Balancer this frontend is attached to.
name String
The ACL name. If not provided it will be randomly generated.
timeoutClient String
Maximum inactivity time on the client side. (e.g. 1s)

Supporting Types

LoadbalancerFrontendAcl
, LoadbalancerFrontendAclArgs

Action This property is required. Pulumiverse.Scaleway.Inputs.LoadbalancerFrontendAclAction
Action to undertake when an ACL filter matches.
Match This property is required. Pulumiverse.Scaleway.Inputs.LoadbalancerFrontendAclMatch
The ACL match rule. At least ip_subnet or http_filter and http_filter_value are required.
CreatedAt string
IsDate and time of ACL's creation (RFC 3339 format)
Description string
Description of the ACL
Name string
The ACL name. If not provided it will be randomly generated.
UpdatedAt string
IsDate and time of ACL's update (RFC 3339 format)
Action This property is required. LoadbalancerFrontendAclAction
Action to undertake when an ACL filter matches.
Match This property is required. LoadbalancerFrontendAclMatch
The ACL match rule. At least ip_subnet or http_filter and http_filter_value are required.
CreatedAt string
IsDate and time of ACL's creation (RFC 3339 format)
Description string
Description of the ACL
Name string
The ACL name. If not provided it will be randomly generated.
UpdatedAt string
IsDate and time of ACL's update (RFC 3339 format)
action This property is required. LoadbalancerFrontendAclAction
Action to undertake when an ACL filter matches.
match This property is required. LoadbalancerFrontendAclMatch
The ACL match rule. At least ip_subnet or http_filter and http_filter_value are required.
createdAt String
IsDate and time of ACL's creation (RFC 3339 format)
description String
Description of the ACL
name String
The ACL name. If not provided it will be randomly generated.
updatedAt String
IsDate and time of ACL's update (RFC 3339 format)
action This property is required. LoadbalancerFrontendAclAction
Action to undertake when an ACL filter matches.
match This property is required. LoadbalancerFrontendAclMatch
The ACL match rule. At least ip_subnet or http_filter and http_filter_value are required.
createdAt string
IsDate and time of ACL's creation (RFC 3339 format)
description string
Description of the ACL
name string
The ACL name. If not provided it will be randomly generated.
updatedAt string
IsDate and time of ACL's update (RFC 3339 format)
action This property is required. LoadbalancerFrontendAclAction
Action to undertake when an ACL filter matches.
match This property is required. LoadbalancerFrontendAclMatch
The ACL match rule. At least ip_subnet or http_filter and http_filter_value are required.
created_at str
IsDate and time of ACL's creation (RFC 3339 format)
description str
Description of the ACL
name str
The ACL name. If not provided it will be randomly generated.
updated_at str
IsDate and time of ACL's update (RFC 3339 format)
action This property is required. Property Map
Action to undertake when an ACL filter matches.
match This property is required. Property Map
The ACL match rule. At least ip_subnet or http_filter and http_filter_value are required.
createdAt String
IsDate and time of ACL's creation (RFC 3339 format)
description String
Description of the ACL
name String
The ACL name. If not provided it will be randomly generated.
updatedAt String
IsDate and time of ACL's update (RFC 3339 format)

LoadbalancerFrontendAclAction
, LoadbalancerFrontendAclActionArgs

Type This property is required. string
The action type. Possible values are: allow or deny or redirect.
Redirects List<Pulumiverse.Scaleway.Inputs.LoadbalancerFrontendAclActionRedirect>
Redirect parameters when using an ACL with redirect action.
Type This property is required. string
The action type. Possible values are: allow or deny or redirect.
Redirects []LoadbalancerFrontendAclActionRedirect
Redirect parameters when using an ACL with redirect action.
type This property is required. String
The action type. Possible values are: allow or deny or redirect.
redirects List<LoadbalancerFrontendAclActionRedirect>
Redirect parameters when using an ACL with redirect action.
type This property is required. string
The action type. Possible values are: allow or deny or redirect.
redirects LoadbalancerFrontendAclActionRedirect[]
Redirect parameters when using an ACL with redirect action.
type This property is required. str
The action type. Possible values are: allow or deny or redirect.
redirects Sequence[LoadbalancerFrontendAclActionRedirect]
Redirect parameters when using an ACL with redirect action.
type This property is required. String
The action type. Possible values are: allow or deny or redirect.
redirects List<Property Map>
Redirect parameters when using an ACL with redirect action.

LoadbalancerFrontendAclActionRedirect
, LoadbalancerFrontendAclActionRedirectArgs

Code int
The HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308.
Target string
A URL can be used in case of a location redirect (e.g. https://scaleway.com will redirect to this same URL). A scheme name (e.g. https, http, ftp, git) will replace the request's original scheme.
Type string
The redirect type. Possible values are: location or scheme.
Code int
The HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308.
Target string
A URL can be used in case of a location redirect (e.g. https://scaleway.com will redirect to this same URL). A scheme name (e.g. https, http, ftp, git) will replace the request's original scheme.
Type string
The redirect type. Possible values are: location or scheme.
code Integer
The HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308.
target String
A URL can be used in case of a location redirect (e.g. https://scaleway.com will redirect to this same URL). A scheme name (e.g. https, http, ftp, git) will replace the request's original scheme.
type String
The redirect type. Possible values are: location or scheme.
code number
The HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308.
target string
A URL can be used in case of a location redirect (e.g. https://scaleway.com will redirect to this same URL). A scheme name (e.g. https, http, ftp, git) will replace the request's original scheme.
type string
The redirect type. Possible values are: location or scheme.
code int
The HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308.
target str
A URL can be used in case of a location redirect (e.g. https://scaleway.com will redirect to this same URL). A scheme name (e.g. https, http, ftp, git) will replace the request's original scheme.
type str
The redirect type. Possible values are: location or scheme.
code Number
The HTTP redirect code to use. Valid values are 301, 302, 303, 307 and 308.
target String
A URL can be used in case of a location redirect (e.g. https://scaleway.com will redirect to this same URL). A scheme name (e.g. https, http, ftp, git) will replace the request's original scheme.
type String
The redirect type. Possible values are: location or scheme.

LoadbalancerFrontendAclMatch
, LoadbalancerFrontendAclMatchArgs

HttpFilter string
The HTTP filter to match. This filter is supported only if your backend protocol has an HTTP forward protocol. It extracts the request's URL path, which starts at the first slash and ends before the question mark (without the host part). Possible values are: acl_http_filter_none, path_begin, path_end, http_header_match or regex.
HttpFilterOption string
If you have http_filter at http_header_match, you can use this field to filter on the HTTP header's value.
HttpFilterValues List<string>
A list of possible values to match for the given HTTP filter. Keep in mind that in the case of http_header_match the HTTP header field name is case insensitive.
Invert bool
If set to true, the condition will be of type "unless".
IpSubnets List<string>
A list of IPs, or CIDR v4/v6 addresses of the session client, to match.
HttpFilter string
The HTTP filter to match. This filter is supported only if your backend protocol has an HTTP forward protocol. It extracts the request's URL path, which starts at the first slash and ends before the question mark (without the host part). Possible values are: acl_http_filter_none, path_begin, path_end, http_header_match or regex.
HttpFilterOption string
If you have http_filter at http_header_match, you can use this field to filter on the HTTP header's value.
HttpFilterValues []string
A list of possible values to match for the given HTTP filter. Keep in mind that in the case of http_header_match the HTTP header field name is case insensitive.
Invert bool
If set to true, the condition will be of type "unless".
IpSubnets []string
A list of IPs, or CIDR v4/v6 addresses of the session client, to match.
httpFilter String
The HTTP filter to match. This filter is supported only if your backend protocol has an HTTP forward protocol. It extracts the request's URL path, which starts at the first slash and ends before the question mark (without the host part). Possible values are: acl_http_filter_none, path_begin, path_end, http_header_match or regex.
httpFilterOption String
If you have http_filter at http_header_match, you can use this field to filter on the HTTP header's value.
httpFilterValues List<String>
A list of possible values to match for the given HTTP filter. Keep in mind that in the case of http_header_match the HTTP header field name is case insensitive.
invert Boolean
If set to true, the condition will be of type "unless".
ipSubnets List<String>
A list of IPs, or CIDR v4/v6 addresses of the session client, to match.
httpFilter string
The HTTP filter to match. This filter is supported only if your backend protocol has an HTTP forward protocol. It extracts the request's URL path, which starts at the first slash and ends before the question mark (without the host part). Possible values are: acl_http_filter_none, path_begin, path_end, http_header_match or regex.
httpFilterOption string
If you have http_filter at http_header_match, you can use this field to filter on the HTTP header's value.
httpFilterValues string[]
A list of possible values to match for the given HTTP filter. Keep in mind that in the case of http_header_match the HTTP header field name is case insensitive.
invert boolean
If set to true, the condition will be of type "unless".
ipSubnets string[]
A list of IPs, or CIDR v4/v6 addresses of the session client, to match.
http_filter str
The HTTP filter to match. This filter is supported only if your backend protocol has an HTTP forward protocol. It extracts the request's URL path, which starts at the first slash and ends before the question mark (without the host part). Possible values are: acl_http_filter_none, path_begin, path_end, http_header_match or regex.
http_filter_option str
If you have http_filter at http_header_match, you can use this field to filter on the HTTP header's value.
http_filter_values Sequence[str]
A list of possible values to match for the given HTTP filter. Keep in mind that in the case of http_header_match the HTTP header field name is case insensitive.
invert bool
If set to true, the condition will be of type "unless".
ip_subnets Sequence[str]
A list of IPs, or CIDR v4/v6 addresses of the session client, to match.
httpFilter String
The HTTP filter to match. This filter is supported only if your backend protocol has an HTTP forward protocol. It extracts the request's URL path, which starts at the first slash and ends before the question mark (without the host part). Possible values are: acl_http_filter_none, path_begin, path_end, http_header_match or regex.
httpFilterOption String
If you have http_filter at http_header_match, you can use this field to filter on the HTTP header's value.
httpFilterValues List<String>
A list of possible values to match for the given HTTP filter. Keep in mind that in the case of http_header_match the HTTP header field name is case insensitive.
invert Boolean
If set to true, the condition will be of type "unless".
ipSubnets List<String>
A list of IPs, or CIDR v4/v6 addresses of the session client, to match.

Import

Load Balancer frontends can be imported using {zone}/{id}, e.g.

bash

$ pulumi import scaleway:index/loadbalancerFrontend:LoadbalancerFrontend frontend01 fr-par-1/11111111-1111-1111-1111-111111111111
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
scaleway pulumiverse/pulumi-scaleway
License
Apache-2.0
Notes
This Pulumi package is based on the scaleway Terraform Provider.