scaleway.LoadbalancerFrontend
Explore with Pulumi AI
Creates and manages Scaleway Load-Balancer Frontends. For more information, see the documentation.
Example Usage
Basic
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const frontend01 = new scaleway.LoadbalancerFrontend("frontend01", {
lbId: scaleway_lb.lb01.id,
backendId: scaleway_lb_backend.backend01.id,
inboundPort: 80,
});
import pulumi
import pulumiverse_scaleway as scaleway
frontend01 = scaleway.LoadbalancerFrontend("frontend01",
lb_id=scaleway_lb["lb01"]["id"],
backend_id=scaleway_lb_backend["backend01"]["id"],
inbound_port=80)
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := scaleway.NewLoadbalancerFrontend(ctx, "frontend01", &scaleway.LoadbalancerFrontendArgs{
LbId: pulumi.Any(scaleway_lb.Lb01.Id),
BackendId: pulumi.Any(scaleway_lb_backend.Backend01.Id),
InboundPort: pulumi.Int(80),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
var frontend01 = new Scaleway.LoadbalancerFrontend("frontend01", new()
{
LbId = scaleway_lb.Lb01.Id,
BackendId = scaleway_lb_backend.Backend01.Id,
InboundPort = 80,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.LoadbalancerFrontend;
import com.pulumi.scaleway.LoadbalancerFrontendArgs;
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 LoadbalancerFrontend("frontend01", LoadbalancerFrontendArgs.builder()
.lbId(scaleway_lb.lb01().id())
.backendId(scaleway_lb_backend.backend01().id())
.inboundPort("80")
.build());
}
}
resources:
frontend01:
type: scaleway:LoadbalancerFrontend
properties:
lbId: ${scaleway_lb.lb01.id}
backendId: ${scaleway_lb_backend.backend01.id}
inboundPort: '80'
With ACLs
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const frontend01 = new scaleway.LoadbalancerFrontend("frontend01", {
lbId: scaleway_lb.lb01.id,
backendId: scaleway_lb_backend.backend01.id,
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",
],
},
},
],
});
import pulumi
import pulumiverse_scaleway as scaleway
frontend01 = scaleway.LoadbalancerFrontend("frontend01",
lb_id=scaleway_lb["lb01"]["id"],
backend_id=scaleway_lb_backend["backend01"]["id"],
inbound_port=80,
acls=[
scaleway.LoadbalancerFrontendAclArgs(
name="blacklist wellknwon IPs",
action=scaleway.LoadbalancerFrontendAclActionArgs(
type="allow",
),
match=scaleway.LoadbalancerFrontendAclMatchArgs(
ip_subnets=[
"192.168.0.1",
"192.168.0.2",
"192.168.10.0/24",
],
),
),
scaleway.LoadbalancerFrontendAclArgs(
action=scaleway.LoadbalancerFrontendAclActionArgs(
type="deny",
),
match=scaleway.LoadbalancerFrontendAclMatchArgs(
ip_subnets=["51.51.51.51"],
http_filter="regex",
http_filter_values=["^foo*bar$"],
),
),
scaleway.LoadbalancerFrontendAclArgs(
action=scaleway.LoadbalancerFrontendAclActionArgs(
type="allow",
),
match=scaleway.LoadbalancerFrontendAclMatchArgs(
http_filter="path_begin",
http_filter_values=[
"foo",
"bar",
],
),
),
scaleway.LoadbalancerFrontendAclArgs(
action=scaleway.LoadbalancerFrontendAclActionArgs(
type="allow",
),
match=scaleway.LoadbalancerFrontendAclMatchArgs(
http_filter="path_begin",
http_filter_values=["hi"],
invert=True,
),
),
scaleway.LoadbalancerFrontendAclArgs(
action=scaleway.LoadbalancerFrontendAclActionArgs(
type="allow",
),
match=scaleway.LoadbalancerFrontendAclMatchArgs(
http_filter="http_header_match",
http_filter_values="foo",
http_filter_option="bar",
),
),
scaleway.LoadbalancerFrontendAclArgs(
action=scaleway.LoadbalancerFrontendAclActionArgs(
type="redirect",
redirects=[scaleway.LoadbalancerFrontendAclActionRedirectArgs(
type="location",
target="https://example.com",
code=307,
)],
),
match=scaleway.LoadbalancerFrontendAclMatchArgs(
ip_subnets=["10.0.0.10"],
http_filter="path_begin",
http_filter_values=[
"foo",
"bar",
],
),
),
])
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := scaleway.NewLoadbalancerFrontend(ctx, "frontend01", &scaleway.LoadbalancerFrontendArgs{
LbId: pulumi.Any(scaleway_lb.Lb01.Id),
BackendId: pulumi.Any(scaleway_lb_backend.Backend01.Id),
InboundPort: pulumi.Int(80),
Acls: scaleway.LoadbalancerFrontendAclArray{
&scaleway.LoadbalancerFrontendAclArgs{
Name: pulumi.String("blacklist wellknwon IPs"),
Action: &scaleway.LoadbalancerFrontendAclActionArgs{
Type: pulumi.String("allow"),
},
Match: &scaleway.LoadbalancerFrontendAclMatchArgs{
IpSubnets: pulumi.StringArray{
pulumi.String("192.168.0.1"),
pulumi.String("192.168.0.2"),
pulumi.String("192.168.10.0/24"),
},
},
},
&scaleway.LoadbalancerFrontendAclArgs{
Action: &scaleway.LoadbalancerFrontendAclActionArgs{
Type: pulumi.String("deny"),
},
Match: &scaleway.LoadbalancerFrontendAclMatchArgs{
IpSubnets: pulumi.StringArray{
pulumi.String("51.51.51.51"),
},
HttpFilter: pulumi.String("regex"),
HttpFilterValues: pulumi.StringArray{
pulumi.String("^foo*bar$"),
},
},
},
&scaleway.LoadbalancerFrontendAclArgs{
Action: &scaleway.LoadbalancerFrontendAclActionArgs{
Type: pulumi.String("allow"),
},
Match: &scaleway.LoadbalancerFrontendAclMatchArgs{
HttpFilter: pulumi.String("path_begin"),
HttpFilterValues: pulumi.StringArray{
pulumi.String("foo"),
pulumi.String("bar"),
},
},
},
&scaleway.LoadbalancerFrontendAclArgs{
Action: &scaleway.LoadbalancerFrontendAclActionArgs{
Type: pulumi.String("allow"),
},
Match: &scaleway.LoadbalancerFrontendAclMatchArgs{
HttpFilter: pulumi.String("path_begin"),
HttpFilterValues: pulumi.StringArray{
pulumi.String("hi"),
},
Invert: pulumi.Bool(true),
},
},
&scaleway.LoadbalancerFrontendAclArgs{
Action: &scaleway.LoadbalancerFrontendAclActionArgs{
Type: pulumi.String("allow"),
},
Match: &scaleway.LoadbalancerFrontendAclMatchArgs{
HttpFilter: pulumi.String("http_header_match"),
HttpFilterValues: pulumi.StringArray("foo"),
HttpFilterOption: pulumi.String("bar"),
},
},
&scaleway.LoadbalancerFrontendAclArgs{
Action: &scaleway.LoadbalancerFrontendAclActionArgs{
Type: pulumi.String("redirect"),
Redirects: scaleway.LoadbalancerFrontendAclActionRedirectArray{
&scaleway.LoadbalancerFrontendAclActionRedirectArgs{
Type: pulumi.String("location"),
Target: pulumi.String("https://example.com"),
Code: pulumi.Int(307),
},
},
},
Match: &scaleway.LoadbalancerFrontendAclMatchArgs{
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
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
var frontend01 = new Scaleway.LoadbalancerFrontend("frontend01", new()
{
LbId = scaleway_lb.Lb01.Id,
BackendId = scaleway_lb_backend.Backend01.Id,
InboundPort = 80,
Acls = new[]
{
new Scaleway.Inputs.LoadbalancerFrontendAclArgs
{
Name = "blacklist wellknwon IPs",
Action = new Scaleway.Inputs.LoadbalancerFrontendAclActionArgs
{
Type = "allow",
},
Match = new Scaleway.Inputs.LoadbalancerFrontendAclMatchArgs
{
IpSubnets = new[]
{
"192.168.0.1",
"192.168.0.2",
"192.168.10.0/24",
},
},
},
new Scaleway.Inputs.LoadbalancerFrontendAclArgs
{
Action = new Scaleway.Inputs.LoadbalancerFrontendAclActionArgs
{
Type = "deny",
},
Match = new Scaleway.Inputs.LoadbalancerFrontendAclMatchArgs
{
IpSubnets = new[]
{
"51.51.51.51",
},
HttpFilter = "regex",
HttpFilterValues = new[]
{
"^foo*bar$",
},
},
},
new Scaleway.Inputs.LoadbalancerFrontendAclArgs
{
Action = new Scaleway.Inputs.LoadbalancerFrontendAclActionArgs
{
Type = "allow",
},
Match = new Scaleway.Inputs.LoadbalancerFrontendAclMatchArgs
{
HttpFilter = "path_begin",
HttpFilterValues = new[]
{
"foo",
"bar",
},
},
},
new Scaleway.Inputs.LoadbalancerFrontendAclArgs
{
Action = new Scaleway.Inputs.LoadbalancerFrontendAclActionArgs
{
Type = "allow",
},
Match = new Scaleway.Inputs.LoadbalancerFrontendAclMatchArgs
{
HttpFilter = "path_begin",
HttpFilterValues = new[]
{
"hi",
},
Invert = true,
},
},
new Scaleway.Inputs.LoadbalancerFrontendAclArgs
{
Action = new Scaleway.Inputs.LoadbalancerFrontendAclActionArgs
{
Type = "allow",
},
Match = new Scaleway.Inputs.LoadbalancerFrontendAclMatchArgs
{
HttpFilter = "http_header_match",
HttpFilterValues = "foo",
HttpFilterOption = "bar",
},
},
new Scaleway.Inputs.LoadbalancerFrontendAclArgs
{
Action = new Scaleway.Inputs.LoadbalancerFrontendAclActionArgs
{
Type = "redirect",
Redirects = new[]
{
new Scaleway.Inputs.LoadbalancerFrontendAclActionRedirectArgs
{
Type = "location",
Target = "https://example.com",
Code = 307,
},
},
},
Match = new Scaleway.Inputs.LoadbalancerFrontendAclMatchArgs
{
IpSubnets = new[]
{
"10.0.0.10",
},
HttpFilter = "path_begin",
HttpFilterValues = new[]
{
"foo",
"bar",
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.LoadbalancerFrontend;
import com.pulumi.scaleway.LoadbalancerFrontendArgs;
import com.pulumi.scaleway.inputs.LoadbalancerFrontendAclArgs;
import com.pulumi.scaleway.inputs.LoadbalancerFrontendAclActionArgs;
import com.pulumi.scaleway.inputs.LoadbalancerFrontendAclMatchArgs;
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 LoadbalancerFrontend("frontend01", LoadbalancerFrontendArgs.builder()
.lbId(scaleway_lb.lb01().id())
.backendId(scaleway_lb_backend.backend01().id())
.inboundPort("80")
.acls(
LoadbalancerFrontendAclArgs.builder()
.name("blacklist wellknwon IPs")
.action(LoadbalancerFrontendAclActionArgs.builder()
.type("allow")
.build())
.match(LoadbalancerFrontendAclMatchArgs.builder()
.ipSubnets(
"192.168.0.1",
"192.168.0.2",
"192.168.10.0/24")
.build())
.build(),
LoadbalancerFrontendAclArgs.builder()
.action(LoadbalancerFrontendAclActionArgs.builder()
.type("deny")
.build())
.match(LoadbalancerFrontendAclMatchArgs.builder()
.ipSubnets("51.51.51.51")
.httpFilter("regex")
.httpFilterValues("^foo*bar$")
.build())
.build(),
LoadbalancerFrontendAclArgs.builder()
.action(LoadbalancerFrontendAclActionArgs.builder()
.type("allow")
.build())
.match(LoadbalancerFrontendAclMatchArgs.builder()
.httpFilter("path_begin")
.httpFilterValues(
"foo",
"bar")
.build())
.build(),
LoadbalancerFrontendAclArgs.builder()
.action(LoadbalancerFrontendAclActionArgs.builder()
.type("allow")
.build())
.match(LoadbalancerFrontendAclMatchArgs.builder()
.httpFilter("path_begin")
.httpFilterValues("hi")
.invert("true")
.build())
.build(),
LoadbalancerFrontendAclArgs.builder()
.action(LoadbalancerFrontendAclActionArgs.builder()
.type("allow")
.build())
.match(LoadbalancerFrontendAclMatchArgs.builder()
.httpFilter("http_header_match")
.httpFilterValues("foo")
.httpFilterOption("bar")
.build())
.build(),
LoadbalancerFrontendAclArgs.builder()
.action(LoadbalancerFrontendAclActionArgs.builder()
.type("redirect")
.redirects(LoadbalancerFrontendAclActionRedirectArgs.builder()
.type("location")
.target("https://example.com")
.code(307)
.build())
.build())
.match(LoadbalancerFrontendAclMatchArgs.builder()
.ipSubnets("10.0.0.10")
.httpFilter("path_begin")
.httpFilterValues(
"foo",
"bar")
.build())
.build())
.build());
}
}
resources:
frontend01:
type: scaleway:LoadbalancerFrontend
properties:
lbId: ${scaleway_lb.lb01.id}
backendId: ${scaleway_lb_backend.backend01.id}
inboundPort: '80'
# Allow downstream requests from: 192.168.0.1, 192.168.0.2 or 192.168.10.0/24
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
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,
backend_id: Optional[str] = None,
inbound_port: Optional[int] = None,
lb_id: Optional[str] = None,
acls: Optional[Sequence[LoadbalancerFrontendAclArgs]] = None,
certificate_ids: Optional[Sequence[str]] = None,
enable_http3: Optional[bool] = None,
external_acls: Optional[bool] = 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 string
- The unique name of the resource.
- args LoadbalancerFrontendArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args 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 string
- The unique name of the resource.
- args LoadbalancerFrontendArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args LoadbalancerFrontendArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args LoadbalancerFrontendArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var loadbalancerFrontendResource = new Scaleway.LoadbalancerFrontend("loadbalancerFrontendResource", new()
{
BackendId = "string",
InboundPort = 0,
LbId = "string",
Acls = new[]
{
new Scaleway.Inputs.LoadbalancerFrontendAclArgs
{
Action = new Scaleway.Inputs.LoadbalancerFrontendAclActionArgs
{
Type = "string",
Redirects = new[]
{
new Scaleway.Inputs.LoadbalancerFrontendAclActionRedirectArgs
{
Code = 0,
Target = "string",
Type = "string",
},
},
},
Match = new Scaleway.Inputs.LoadbalancerFrontendAclMatchArgs
{
HttpFilter = "string",
HttpFilterOption = "string",
HttpFilterValues = new[]
{
"string",
},
Invert = false,
IpSubnets = new[]
{
"string",
},
},
CreatedAt = "string",
Description = "string",
Name = "string",
UpdatedAt = "string",
},
},
CertificateIds = new[]
{
"string",
},
EnableHttp3 = false,
ExternalAcls = false,
Name = "string",
TimeoutClient = "string",
});
example, err := scaleway.NewLoadbalancerFrontend(ctx, "loadbalancerFrontendResource", &scaleway.LoadbalancerFrontendArgs{
BackendId: pulumi.String("string"),
InboundPort: pulumi.Int(0),
LbId: pulumi.String("string"),
Acls: scaleway.LoadbalancerFrontendAclArray{
&scaleway.LoadbalancerFrontendAclArgs{
Action: &scaleway.LoadbalancerFrontendAclActionArgs{
Type: pulumi.String("string"),
Redirects: scaleway.LoadbalancerFrontendAclActionRedirectArray{
&scaleway.LoadbalancerFrontendAclActionRedirectArgs{
Code: pulumi.Int(0),
Target: pulumi.String("string"),
Type: pulumi.String("string"),
},
},
},
Match: &scaleway.LoadbalancerFrontendAclMatchArgs{
HttpFilter: pulumi.String("string"),
HttpFilterOption: pulumi.String("string"),
HttpFilterValues: pulumi.StringArray{
pulumi.String("string"),
},
Invert: pulumi.Bool(false),
IpSubnets: pulumi.StringArray{
pulumi.String("string"),
},
},
CreatedAt: pulumi.String("string"),
Description: pulumi.String("string"),
Name: pulumi.String("string"),
UpdatedAt: pulumi.String("string"),
},
},
CertificateIds: pulumi.StringArray{
pulumi.String("string"),
},
EnableHttp3: pulumi.Bool(false),
ExternalAcls: pulumi.Bool(false),
Name: pulumi.String("string"),
TimeoutClient: pulumi.String("string"),
})
var loadbalancerFrontendResource = new LoadbalancerFrontend("loadbalancerFrontendResource", LoadbalancerFrontendArgs.builder()
.backendId("string")
.inboundPort(0)
.lbId("string")
.acls(LoadbalancerFrontendAclArgs.builder()
.action(LoadbalancerFrontendAclActionArgs.builder()
.type("string")
.redirects(LoadbalancerFrontendAclActionRedirectArgs.builder()
.code(0)
.target("string")
.type("string")
.build())
.build())
.match(LoadbalancerFrontendAclMatchArgs.builder()
.httpFilter("string")
.httpFilterOption("string")
.httpFilterValues("string")
.invert(false)
.ipSubnets("string")
.build())
.createdAt("string")
.description("string")
.name("string")
.updatedAt("string")
.build())
.certificateIds("string")
.enableHttp3(false)
.externalAcls(false)
.name("string")
.timeoutClient("string")
.build());
loadbalancer_frontend_resource = scaleway.LoadbalancerFrontend("loadbalancerFrontendResource",
backend_id="string",
inbound_port=0,
lb_id="string",
acls=[scaleway.LoadbalancerFrontendAclArgs(
action=scaleway.LoadbalancerFrontendAclActionArgs(
type="string",
redirects=[scaleway.LoadbalancerFrontendAclActionRedirectArgs(
code=0,
target="string",
type="string",
)],
),
match=scaleway.LoadbalancerFrontendAclMatchArgs(
http_filter="string",
http_filter_option="string",
http_filter_values=["string"],
invert=False,
ip_subnets=["string"],
),
created_at="string",
description="string",
name="string",
updated_at="string",
)],
certificate_ids=["string"],
enable_http3=False,
external_acls=False,
name="string",
timeout_client="string")
const loadbalancerFrontendResource = new scaleway.LoadbalancerFrontend("loadbalancerFrontendResource", {
backendId: "string",
inboundPort: 0,
lbId: "string",
acls: [{
action: {
type: "string",
redirects: [{
code: 0,
target: "string",
type: "string",
}],
},
match: {
httpFilter: "string",
httpFilterOption: "string",
httpFilterValues: ["string"],
invert: false,
ipSubnets: ["string"],
},
createdAt: "string",
description: "string",
name: "string",
updatedAt: "string",
}],
certificateIds: ["string"],
enableHttp3: false,
externalAcls: false,
name: "string",
timeoutClient: "string",
});
type: scaleway:LoadbalancerFrontend
properties:
acls:
- action:
redirects:
- code: 0
target: string
type: string
type: string
createdAt: string
description: string
match:
httpFilter: string
httpFilterOption: string
httpFilterValues:
- string
invert: false
ipSubnets:
- string
name: string
updatedAt: string
backendId: string
certificateIds:
- string
enableHttp3: false
externalAcls: false
inboundPort: 0
lbId: string
name: string
timeoutClient: string
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
The LoadbalancerFrontend resource accepts the following input properties:
- Backend
Id string The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- Inbound
Port int - TCP port to listen on the front side.
- Lb
Id string - The load-balancer ID this frontend is attached to.
- Acls
List<Pulumiverse.
Scaleway. Inputs. Loadbalancer Frontend Acl> - A list of ACL rules to apply to the load-balancer frontend. Defined below.
- Certificate
Ids List<string> List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- Enable
Http3 bool - Activates HTTP/3 protocol.
- External
Acls bool - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - Name string
- The ACL name. If not provided it will be randomly generated.
- Timeout
Client string - Maximum inactivity time on the client side. (e.g.:
1s
)
- Backend
Id string The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- Inbound
Port int - TCP port to listen on the front side.
- Lb
Id string - The load-balancer ID this frontend is attached to.
- Acls
[]Loadbalancer
Frontend Acl Args - A list of ACL rules to apply to the load-balancer frontend. Defined below.
- Certificate
Ids []string List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- Enable
Http3 bool - Activates HTTP/3 protocol.
- External
Acls bool - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - Name string
- The ACL name. If not provided it will be randomly generated.
- Timeout
Client string - Maximum inactivity time on the client side. (e.g.:
1s
)
- backend
Id String The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- inbound
Port Integer - TCP port to listen on the front side.
- lb
Id String - The load-balancer ID this frontend is attached to.
- acls
List<Loadbalancer
Frontend Acl> - A list of ACL rules to apply to the load-balancer frontend. Defined below.
- certificate
Ids List<String> List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- enable
Http3 Boolean - Activates HTTP/3 protocol.
- external
Acls Boolean - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - name String
- The ACL name. If not provided it will be randomly generated.
- timeout
Client String - Maximum inactivity time on the client side. (e.g.:
1s
)
- backend
Id string The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- inbound
Port number - TCP port to listen on the front side.
- lb
Id string - The load-balancer ID this frontend is attached to.
- acls
Loadbalancer
Frontend Acl[] - A list of ACL rules to apply to the load-balancer frontend. Defined below.
- certificate
Ids string[] List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- enable
Http3 boolean - Activates HTTP/3 protocol.
- external
Acls boolean - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - name string
- The ACL name. If not provided it will be randomly generated.
- timeout
Client string - Maximum inactivity time on the client side. (e.g.:
1s
)
- backend_
id str The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- inbound_
port int - TCP port to listen on the front side.
- lb_
id str - The load-balancer ID this frontend is attached to.
- acls
Sequence[Loadbalancer
Frontend Acl Args] - 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.
- enable_
http3 bool - Activates HTTP/3 protocol.
- external_
acls bool - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb 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
)
- backend
Id String The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- inbound
Port Number - TCP port to listen on the front side.
- lb
Id String - The load-balancer ID this frontend is attached to.
- acls List<Property Map>
- A list of ACL rules to apply to the load-balancer frontend. Defined below.
- certificate
Ids List<String> List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- enable
Http3 Boolean - Activates HTTP/3 protocol.
- external
Acls Boolean - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - name String
- The ACL name. If not provided it will be randomly generated.
- timeout
Client 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:
- Certificate
Id string - (Deprecated) first certificate ID used by the frontend.
- Id string
- The provider-assigned unique ID for this managed resource.
- Certificate
Id string - (Deprecated) first certificate ID used by the frontend.
- Id string
- The provider-assigned unique ID for this managed resource.
- certificate
Id String - (Deprecated) first certificate ID used by the frontend.
- id String
- The provider-assigned unique ID for this managed resource.
- certificate
Id string - (Deprecated) first certificate ID used by the frontend.
- id string
- The provider-assigned unique ID for this managed resource.
- certificate_
id str - (Deprecated) first certificate ID used by the frontend.
- id str
- The provider-assigned unique ID for this managed resource.
- certificate
Id String - (Deprecated) first certificate ID used by the frontend.
- 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,
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)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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.
- Acls
List<Pulumiverse.
Scaleway. Inputs. Loadbalancer Frontend Acl> - A list of ACL rules to apply to the load-balancer frontend. Defined below.
- Backend
Id string The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- Certificate
Id string - (Deprecated) first certificate ID used by the frontend.
- Certificate
Ids List<string> List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- Enable
Http3 bool - Activates HTTP/3 protocol.
- External
Acls bool - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - Inbound
Port int - TCP port to listen on the front side.
- Lb
Id string - The load-balancer ID this frontend is attached to.
- Name string
- The ACL name. If not provided it will be randomly generated.
- Timeout
Client string - Maximum inactivity time on the client side. (e.g.:
1s
)
- Acls
[]Loadbalancer
Frontend Acl Args - A list of ACL rules to apply to the load-balancer frontend. Defined below.
- Backend
Id string The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- Certificate
Id string - (Deprecated) first certificate ID used by the frontend.
- Certificate
Ids []string List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- Enable
Http3 bool - Activates HTTP/3 protocol.
- External
Acls bool - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - Inbound
Port int - TCP port to listen on the front side.
- Lb
Id string - The load-balancer ID this frontend is attached to.
- Name string
- The ACL name. If not provided it will be randomly generated.
- Timeout
Client string - Maximum inactivity time on the client side. (e.g.:
1s
)
- acls
List<Loadbalancer
Frontend Acl> - A list of ACL rules to apply to the load-balancer frontend. Defined below.
- backend
Id String The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- certificate
Id String - (Deprecated) first certificate ID used by the frontend.
- certificate
Ids List<String> List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- enable
Http3 Boolean - Activates HTTP/3 protocol.
- external
Acls Boolean - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - inbound
Port Integer - TCP port to listen on the front side.
- lb
Id String - The load-balancer ID this frontend is attached to.
- name String
- The ACL name. If not provided it will be randomly generated.
- timeout
Client String - Maximum inactivity time on the client side. (e.g.:
1s
)
- acls
Loadbalancer
Frontend Acl[] - A list of ACL rules to apply to the load-balancer frontend. Defined below.
- backend
Id string The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- certificate
Id string - (Deprecated) first certificate ID used by the frontend.
- certificate
Ids string[] List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- enable
Http3 boolean - Activates HTTP/3 protocol.
- external
Acls boolean - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - inbound
Port number - TCP port to listen on the front side.
- lb
Id string - The load-balancer ID this frontend is attached to.
- name string
- The ACL name. If not provided it will be randomly generated.
- timeout
Client string - Maximum inactivity time on the client side. (e.g.:
1s
)
- acls
Sequence[Loadbalancer
Frontend Acl Args] - A list of ACL rules to apply to the load-balancer frontend. Defined below.
- backend_
id str The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- certificate_
id str - (Deprecated) first certificate ID used by the frontend.
- certificate_
ids Sequence[str] List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- enable_
http3 bool - Activates HTTP/3 protocol.
- external_
acls bool - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - inbound_
port int - TCP port to listen on the front side.
- lb_
id str - The load-balancer ID 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.
- backend
Id String The load-balancer backend ID this frontend is attached to.
Important: Updates to
lb_id
orbackend_id
will recreate the frontend.- certificate
Id String - (Deprecated) first certificate ID used by the frontend.
- certificate
Ids List<String> List of Certificate IDs that should be used by the frontend.
Important: Certificates are not allowed on port 80.
- enable
Http3 Boolean - Activates HTTP/3 protocol.
- external
Acls Boolean - A boolean to specify whether to use lb_acl.
If
external_acls
is set totrue
,acl
can not be set directly in the lb frontend. - inbound
Port Number - TCP port to listen on the front side.
- lb
Id String - The load-balancer ID this frontend is attached to.
- name String
- The ACL name. If not provided it will be randomly generated.
- timeout
Client String - Maximum inactivity time on the client side. (e.g.:
1s
)
Supporting Types
LoadbalancerFrontendAcl, LoadbalancerFrontendAclArgs
- Action
Pulumiverse.
Scaleway. Inputs. Loadbalancer Frontend Acl Action - Action to undertake when an ACL filter matches.
- Match
Pulumiverse.
Scaleway. Inputs. Loadbalancer Frontend Acl Match - The ACL match rule. At least
ip_subnet
orhttp_filter
andhttp_filter_value
are required. - Created
At 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.
- Updated
At string - IsDate and time of ACL's update (RFC 3339 format)
- Action
Loadbalancer
Frontend Acl Action - Action to undertake when an ACL filter matches.
- Match
Loadbalancer
Frontend Acl Match - The ACL match rule. At least
ip_subnet
orhttp_filter
andhttp_filter_value
are required. - Created
At 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.
- Updated
At string - IsDate and time of ACL's update (RFC 3339 format)
- action
Loadbalancer
Frontend Acl Action - Action to undertake when an ACL filter matches.
- match
Loadbalancer
Frontend Acl Match - The ACL match rule. At least
ip_subnet
orhttp_filter
andhttp_filter_value
are required. - created
At 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.
- updated
At String - IsDate and time of ACL's update (RFC 3339 format)
- action
Loadbalancer
Frontend Acl Action - Action to undertake when an ACL filter matches.
- match
Loadbalancer
Frontend Acl Match - The ACL match rule. At least
ip_subnet
orhttp_filter
andhttp_filter_value
are required. - created
At 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.
- updated
At string - IsDate and time of ACL's update (RFC 3339 format)
- action
Loadbalancer
Frontend Acl Action - Action to undertake when an ACL filter matches.
- match
Loadbalancer
Frontend Acl Match - The ACL match rule. At least
ip_subnet
orhttp_filter
andhttp_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 Property Map
- Action to undertake when an ACL filter matches.
- match Property Map
- The ACL match rule. At least
ip_subnet
orhttp_filter
andhttp_filter_value
are required. - created
At 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.
- updated
At String - IsDate and time of ACL's update (RFC 3339 format)
LoadbalancerFrontendAclAction, LoadbalancerFrontendAclActionArgs
- Type string
- The redirect type. Possible values are:
location
orscheme
. - Redirects
List<Pulumiverse.
Scaleway. Inputs. Loadbalancer Frontend Acl Action Redirect> - Redirect parameters when using an ACL with
redirect
action.
- Type string
- The redirect type. Possible values are:
location
orscheme
. - Redirects
[]Loadbalancer
Frontend Acl Action Redirect - Redirect parameters when using an ACL with
redirect
action.
- type String
- The redirect type. Possible values are:
location
orscheme
. - redirects
List<Loadbalancer
Frontend Acl Action Redirect> - Redirect parameters when using an ACL with
redirect
action.
- type string
- The redirect type. Possible values are:
location
orscheme
. - redirects
Loadbalancer
Frontend Acl Action Redirect[] - Redirect parameters when using an ACL with
redirect
action.
- type str
- The redirect type. Possible values are:
location
orscheme
. - redirects
Sequence[Loadbalancer
Frontend Acl Action Redirect] - Redirect parameters when using an ACL with
redirect
action.
- type String
- The redirect type. Possible values are:
location
orscheme
. - redirects List<Property Map>
- Redirect parameters when using an ACL with
redirect
action.
LoadbalancerFrontendAclActionRedirect, LoadbalancerFrontendAclActionRedirectArgs
LoadbalancerFrontendAclMatch, LoadbalancerFrontendAclMatchArgs
- Http
Filter 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
orregex
. - Http
Filter stringOption - If you have
http_filter
athttp_header_match
, you can use this field to filter on the HTTP header's value. - Http
Filter List<string>Values - 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 List<string> - A list of IPs or CIDR v4/v6 addresses of the client of the session to match.
- Http
Filter 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
orregex
. - Http
Filter stringOption - If you have
http_filter
athttp_header_match
, you can use this field to filter on the HTTP header's value. - Http
Filter []stringValues - 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 []string - A list of IPs or CIDR v4/v6 addresses of the client of the session to match.
- http
Filter 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
orregex
. - http
Filter StringOption - If you have
http_filter
athttp_header_match
, you can use this field to filter on the HTTP header's value. - http
Filter List<String>Values - 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". - ip
Subnets List<String> - A list of IPs or CIDR v4/v6 addresses of the client of the session to match.
- http
Filter 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
orregex
. - http
Filter stringOption - If you have
http_filter
athttp_header_match
, you can use this field to filter on the HTTP header's value. - http
Filter string[]Values - 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". - ip
Subnets string[] - A list of IPs or CIDR v4/v6 addresses of the client of the session 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
orregex
. - http_
filter_ stroption - If you have
http_filter
athttp_header_match
, you can use this field to filter on the HTTP header's value. - http_
filter_ Sequence[str]values - 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 client of the session to match.
- http
Filter 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
orregex
. - http
Filter StringOption - If you have
http_filter
athttp_header_match
, you can use this field to filter on the HTTP header's value. - http
Filter List<String>Values - 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". - ip
Subnets List<String> - A list of IPs or CIDR v4/v6 addresses of the client of the session to match.
Import
Load-Balancer frontend can be imported using the {zone}/{id}
, e.g.
bash
$ pulumi import scaleway:index/loadbalancerFrontend:LoadbalancerFrontend frontend01 fr-par-1/11111111-1111-1111-1111-111111111111
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.