scaleway.loadbalancers.Route
Explore with Pulumi AI
Creates and manages Scaleway Load Balancer routes.
For more information, see the main documentation or API documentation.
Example Usage
With SNI for direction to TCP backends
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const ip01 = new scaleway.loadbalancers.Ip("ip01", {});
const lb01 = new scaleway.loadbalancers.LoadBalancer("lb01", {
ipId: ip01.id,
name: "test-lb",
type: "lb-s",
});
const bkd01 = new scaleway.loadbalancers.Backend("bkd01", {
lbId: lb01.id,
forwardProtocol: "tcp",
forwardPort: 80,
proxyProtocol: "none",
});
const frt01 = new scaleway.loadbalancers.Frontend("frt01", {
lbId: lb01.id,
backendId: bkd01.id,
inboundPort: 80,
});
const rt01 = new scaleway.loadbalancers.Route("rt01", {
frontendId: frt01.id,
backendId: bkd01.id,
matchSni: "sni.scaleway.com",
});
import pulumi
import pulumiverse_scaleway as scaleway
ip01 = scaleway.loadbalancers.Ip("ip01")
lb01 = scaleway.loadbalancers.LoadBalancer("lb01",
ip_id=ip01.id,
name="test-lb",
type="lb-s")
bkd01 = scaleway.loadbalancers.Backend("bkd01",
lb_id=lb01.id,
forward_protocol="tcp",
forward_port=80,
proxy_protocol="none")
frt01 = scaleway.loadbalancers.Frontend("frt01",
lb_id=lb01.id,
backend_id=bkd01.id,
inbound_port=80)
rt01 = scaleway.loadbalancers.Route("rt01",
frontend_id=frt01.id,
backend_id=bkd01.id,
match_sni="sni.scaleway.com")
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 {
ip01, err := loadbalancers.NewIp(ctx, "ip01", nil)
if err != nil {
return err
}
lb01, err := loadbalancers.NewLoadBalancer(ctx, "lb01", &loadbalancers.LoadBalancerArgs{
IpId: ip01.ID(),
Name: pulumi.String("test-lb"),
Type: pulumi.String("lb-s"),
})
if err != nil {
return err
}
bkd01, err := loadbalancers.NewBackend(ctx, "bkd01", &loadbalancers.BackendArgs{
LbId: lb01.ID(),
ForwardProtocol: pulumi.String("tcp"),
ForwardPort: pulumi.Int(80),
ProxyProtocol: pulumi.String("none"),
})
if err != nil {
return err
}
frt01, err := loadbalancers.NewFrontend(ctx, "frt01", &loadbalancers.FrontendArgs{
LbId: lb01.ID(),
BackendId: bkd01.ID(),
InboundPort: pulumi.Int(80),
})
if err != nil {
return err
}
_, err = loadbalancers.NewRoute(ctx, "rt01", &loadbalancers.RouteArgs{
FrontendId: frt01.ID(),
BackendId: bkd01.ID(),
MatchSni: pulumi.String("sni.scaleway.com"),
})
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 ip01 = new Scaleway.Loadbalancers.Ip("ip01");
var lb01 = new Scaleway.Loadbalancers.LoadBalancer("lb01", new()
{
IpId = ip01.Id,
Name = "test-lb",
Type = "lb-s",
});
var bkd01 = new Scaleway.Loadbalancers.Backend("bkd01", new()
{
LbId = lb01.Id,
ForwardProtocol = "tcp",
ForwardPort = 80,
ProxyProtocol = "none",
});
var frt01 = new Scaleway.Loadbalancers.Frontend("frt01", new()
{
LbId = lb01.Id,
BackendId = bkd01.Id,
InboundPort = 80,
});
var rt01 = new Scaleway.Loadbalancers.Route("rt01", new()
{
FrontendId = frt01.Id,
BackendId = bkd01.Id,
MatchSni = "sni.scaleway.com",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.loadbalancers.Ip;
import com.pulumi.scaleway.loadbalancers.LoadBalancer;
import com.pulumi.scaleway.loadbalancers.LoadBalancerArgs;
import com.pulumi.scaleway.loadbalancers.Backend;
import com.pulumi.scaleway.loadbalancers.BackendArgs;
import com.pulumi.scaleway.loadbalancers.Frontend;
import com.pulumi.scaleway.loadbalancers.FrontendArgs;
import com.pulumi.scaleway.loadbalancers.Route;
import com.pulumi.scaleway.loadbalancers.RouteArgs;
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 ip01 = new Ip("ip01");
var lb01 = new LoadBalancer("lb01", LoadBalancerArgs.builder()
.ipId(ip01.id())
.name("test-lb")
.type("lb-s")
.build());
var bkd01 = new Backend("bkd01", BackendArgs.builder()
.lbId(lb01.id())
.forwardProtocol("tcp")
.forwardPort(80)
.proxyProtocol("none")
.build());
var frt01 = new Frontend("frt01", FrontendArgs.builder()
.lbId(lb01.id())
.backendId(bkd01.id())
.inboundPort(80)
.build());
var rt01 = new Route("rt01", RouteArgs.builder()
.frontendId(frt01.id())
.backendId(bkd01.id())
.matchSni("sni.scaleway.com")
.build());
}
}
resources:
ip01:
type: scaleway:loadbalancers:Ip
lb01:
type: scaleway:loadbalancers:LoadBalancer
properties:
ipId: ${ip01.id}
name: test-lb
type: lb-s
bkd01:
type: scaleway:loadbalancers:Backend
properties:
lbId: ${lb01.id}
forwardProtocol: tcp
forwardPort: 80
proxyProtocol: none
frt01:
type: scaleway:loadbalancers:Frontend
properties:
lbId: ${lb01.id}
backendId: ${bkd01.id}
inboundPort: 80
rt01:
type: scaleway:loadbalancers:Route
properties:
frontendId: ${frt01.id}
backendId: ${bkd01.id}
matchSni: sni.scaleway.com
With host-header for direction to HTTP backends
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const ip01 = new scaleway.loadbalancers.Ip("ip01", {});
const lb01 = new scaleway.loadbalancers.LoadBalancer("lb01", {
ipId: ip01.id,
name: "test-lb",
type: "lb-s",
});
const bkd01 = new scaleway.loadbalancers.Backend("bkd01", {
lbId: lb01.id,
forwardProtocol: "http",
forwardPort: 80,
proxyProtocol: "none",
});
const frt01 = new scaleway.loadbalancers.Frontend("frt01", {
lbId: lb01.id,
backendId: bkd01.id,
inboundPort: 80,
});
const rt01 = new scaleway.loadbalancers.Route("rt01", {
frontendId: frt01.id,
backendId: bkd01.id,
matchHostHeader: "host.scaleway.com",
});
import pulumi
import pulumiverse_scaleway as scaleway
ip01 = scaleway.loadbalancers.Ip("ip01")
lb01 = scaleway.loadbalancers.LoadBalancer("lb01",
ip_id=ip01.id,
name="test-lb",
type="lb-s")
bkd01 = scaleway.loadbalancers.Backend("bkd01",
lb_id=lb01.id,
forward_protocol="http",
forward_port=80,
proxy_protocol="none")
frt01 = scaleway.loadbalancers.Frontend("frt01",
lb_id=lb01.id,
backend_id=bkd01.id,
inbound_port=80)
rt01 = scaleway.loadbalancers.Route("rt01",
frontend_id=frt01.id,
backend_id=bkd01.id,
match_host_header="host.scaleway.com")
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 {
ip01, err := loadbalancers.NewIp(ctx, "ip01", nil)
if err != nil {
return err
}
lb01, err := loadbalancers.NewLoadBalancer(ctx, "lb01", &loadbalancers.LoadBalancerArgs{
IpId: ip01.ID(),
Name: pulumi.String("test-lb"),
Type: pulumi.String("lb-s"),
})
if err != nil {
return err
}
bkd01, err := loadbalancers.NewBackend(ctx, "bkd01", &loadbalancers.BackendArgs{
LbId: lb01.ID(),
ForwardProtocol: pulumi.String("http"),
ForwardPort: pulumi.Int(80),
ProxyProtocol: pulumi.String("none"),
})
if err != nil {
return err
}
frt01, err := loadbalancers.NewFrontend(ctx, "frt01", &loadbalancers.FrontendArgs{
LbId: lb01.ID(),
BackendId: bkd01.ID(),
InboundPort: pulumi.Int(80),
})
if err != nil {
return err
}
_, err = loadbalancers.NewRoute(ctx, "rt01", &loadbalancers.RouteArgs{
FrontendId: frt01.ID(),
BackendId: bkd01.ID(),
MatchHostHeader: pulumi.String("host.scaleway.com"),
})
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 ip01 = new Scaleway.Loadbalancers.Ip("ip01");
var lb01 = new Scaleway.Loadbalancers.LoadBalancer("lb01", new()
{
IpId = ip01.Id,
Name = "test-lb",
Type = "lb-s",
});
var bkd01 = new Scaleway.Loadbalancers.Backend("bkd01", new()
{
LbId = lb01.Id,
ForwardProtocol = "http",
ForwardPort = 80,
ProxyProtocol = "none",
});
var frt01 = new Scaleway.Loadbalancers.Frontend("frt01", new()
{
LbId = lb01.Id,
BackendId = bkd01.Id,
InboundPort = 80,
});
var rt01 = new Scaleway.Loadbalancers.Route("rt01", new()
{
FrontendId = frt01.Id,
BackendId = bkd01.Id,
MatchHostHeader = "host.scaleway.com",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.loadbalancers.Ip;
import com.pulumi.scaleway.loadbalancers.LoadBalancer;
import com.pulumi.scaleway.loadbalancers.LoadBalancerArgs;
import com.pulumi.scaleway.loadbalancers.Backend;
import com.pulumi.scaleway.loadbalancers.BackendArgs;
import com.pulumi.scaleway.loadbalancers.Frontend;
import com.pulumi.scaleway.loadbalancers.FrontendArgs;
import com.pulumi.scaleway.loadbalancers.Route;
import com.pulumi.scaleway.loadbalancers.RouteArgs;
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 ip01 = new Ip("ip01");
var lb01 = new LoadBalancer("lb01", LoadBalancerArgs.builder()
.ipId(ip01.id())
.name("test-lb")
.type("lb-s")
.build());
var bkd01 = new Backend("bkd01", BackendArgs.builder()
.lbId(lb01.id())
.forwardProtocol("http")
.forwardPort(80)
.proxyProtocol("none")
.build());
var frt01 = new Frontend("frt01", FrontendArgs.builder()
.lbId(lb01.id())
.backendId(bkd01.id())
.inboundPort(80)
.build());
var rt01 = new Route("rt01", RouteArgs.builder()
.frontendId(frt01.id())
.backendId(bkd01.id())
.matchHostHeader("host.scaleway.com")
.build());
}
}
resources:
ip01:
type: scaleway:loadbalancers:Ip
lb01:
type: scaleway:loadbalancers:LoadBalancer
properties:
ipId: ${ip01.id}
name: test-lb
type: lb-s
bkd01:
type: scaleway:loadbalancers:Backend
properties:
lbId: ${lb01.id}
forwardProtocol: http
forwardPort: 80
proxyProtocol: none
frt01:
type: scaleway:loadbalancers:Frontend
properties:
lbId: ${lb01.id}
backendId: ${bkd01.id}
inboundPort: 80
rt01:
type: scaleway:loadbalancers:Route
properties:
frontendId: ${frt01.id}
backendId: ${bkd01.id}
matchHostHeader: host.scaleway.com
With path-begin matching for HTTP backends
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const ip = new scaleway.loadbalancers.Ip("ip", {});
const lb = new scaleway.loadbalancers.LoadBalancer("lb", {
ipId: ip.id,
name: "my-lb",
type: "lb-s",
});
const app = new scaleway.loadbalancers.Backend("app", {
lbId: lb.id,
forwardProtocol: "http",
forwardPort: 80,
proxyProtocol: "none",
});
const admin = new scaleway.loadbalancers.Backend("admin", {
lbId: lb.id,
forwardProtocol: "http",
forwardPort: 8080,
proxyProtocol: "none",
});
const frontend = new scaleway.loadbalancers.Frontend("frontend", {
lbId: lb.id,
backendId: app.id,
inboundPort: 80,
});
const adminRoute = new scaleway.loadbalancers.Route("admin_route", {
frontendId: frontend.id,
backendId: admin.id,
matchPathBegin: "/admin",
});
const defaultRoute = new scaleway.loadbalancers.Route("default_route", {
frontendId: frontend.id,
backendId: app.id,
matchPathBegin: "/",
});
import pulumi
import pulumiverse_scaleway as scaleway
ip = scaleway.loadbalancers.Ip("ip")
lb = scaleway.loadbalancers.LoadBalancer("lb",
ip_id=ip.id,
name="my-lb",
type="lb-s")
app = scaleway.loadbalancers.Backend("app",
lb_id=lb.id,
forward_protocol="http",
forward_port=80,
proxy_protocol="none")
admin = scaleway.loadbalancers.Backend("admin",
lb_id=lb.id,
forward_protocol="http",
forward_port=8080,
proxy_protocol="none")
frontend = scaleway.loadbalancers.Frontend("frontend",
lb_id=lb.id,
backend_id=app.id,
inbound_port=80)
admin_route = scaleway.loadbalancers.Route("admin_route",
frontend_id=frontend.id,
backend_id=admin.id,
match_path_begin="/admin")
default_route = scaleway.loadbalancers.Route("default_route",
frontend_id=frontend.id,
backend_id=app.id,
match_path_begin="/")
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 {
ip, err := loadbalancers.NewIp(ctx, "ip", nil)
if err != nil {
return err
}
lb, err := loadbalancers.NewLoadBalancer(ctx, "lb", &loadbalancers.LoadBalancerArgs{
IpId: ip.ID(),
Name: pulumi.String("my-lb"),
Type: pulumi.String("lb-s"),
})
if err != nil {
return err
}
app, err := loadbalancers.NewBackend(ctx, "app", &loadbalancers.BackendArgs{
LbId: lb.ID(),
ForwardProtocol: pulumi.String("http"),
ForwardPort: pulumi.Int(80),
ProxyProtocol: pulumi.String("none"),
})
if err != nil {
return err
}
admin, err := loadbalancers.NewBackend(ctx, "admin", &loadbalancers.BackendArgs{
LbId: lb.ID(),
ForwardProtocol: pulumi.String("http"),
ForwardPort: pulumi.Int(8080),
ProxyProtocol: pulumi.String("none"),
})
if err != nil {
return err
}
frontend, err := loadbalancers.NewFrontend(ctx, "frontend", &loadbalancers.FrontendArgs{
LbId: lb.ID(),
BackendId: app.ID(),
InboundPort: pulumi.Int(80),
})
if err != nil {
return err
}
_, err = loadbalancers.NewRoute(ctx, "admin_route", &loadbalancers.RouteArgs{
FrontendId: frontend.ID(),
BackendId: admin.ID(),
MatchPathBegin: pulumi.String("/admin"),
})
if err != nil {
return err
}
_, err = loadbalancers.NewRoute(ctx, "default_route", &loadbalancers.RouteArgs{
FrontendId: frontend.ID(),
BackendId: app.ID(),
MatchPathBegin: pulumi.String("/"),
})
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 ip = new Scaleway.Loadbalancers.Ip("ip");
var lb = new Scaleway.Loadbalancers.LoadBalancer("lb", new()
{
IpId = ip.Id,
Name = "my-lb",
Type = "lb-s",
});
var app = new Scaleway.Loadbalancers.Backend("app", new()
{
LbId = lb.Id,
ForwardProtocol = "http",
ForwardPort = 80,
ProxyProtocol = "none",
});
var admin = new Scaleway.Loadbalancers.Backend("admin", new()
{
LbId = lb.Id,
ForwardProtocol = "http",
ForwardPort = 8080,
ProxyProtocol = "none",
});
var frontend = new Scaleway.Loadbalancers.Frontend("frontend", new()
{
LbId = lb.Id,
BackendId = app.Id,
InboundPort = 80,
});
var adminRoute = new Scaleway.Loadbalancers.Route("admin_route", new()
{
FrontendId = frontend.Id,
BackendId = admin.Id,
MatchPathBegin = "/admin",
});
var defaultRoute = new Scaleway.Loadbalancers.Route("default_route", new()
{
FrontendId = frontend.Id,
BackendId = app.Id,
MatchPathBegin = "/",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.loadbalancers.Ip;
import com.pulumi.scaleway.loadbalancers.LoadBalancer;
import com.pulumi.scaleway.loadbalancers.LoadBalancerArgs;
import com.pulumi.scaleway.loadbalancers.Backend;
import com.pulumi.scaleway.loadbalancers.BackendArgs;
import com.pulumi.scaleway.loadbalancers.Frontend;
import com.pulumi.scaleway.loadbalancers.FrontendArgs;
import com.pulumi.scaleway.loadbalancers.Route;
import com.pulumi.scaleway.loadbalancers.RouteArgs;
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 ip = new Ip("ip");
var lb = new LoadBalancer("lb", LoadBalancerArgs.builder()
.ipId(ip.id())
.name("my-lb")
.type("lb-s")
.build());
var app = new Backend("app", BackendArgs.builder()
.lbId(lb.id())
.forwardProtocol("http")
.forwardPort(80)
.proxyProtocol("none")
.build());
var admin = new Backend("admin", BackendArgs.builder()
.lbId(lb.id())
.forwardProtocol("http")
.forwardPort(8080)
.proxyProtocol("none")
.build());
var frontend = new Frontend("frontend", FrontendArgs.builder()
.lbId(lb.id())
.backendId(app.id())
.inboundPort(80)
.build());
var adminRoute = new Route("adminRoute", RouteArgs.builder()
.frontendId(frontend.id())
.backendId(admin.id())
.matchPathBegin("/admin")
.build());
var defaultRoute = new Route("defaultRoute", RouteArgs.builder()
.frontendId(frontend.id())
.backendId(app.id())
.matchPathBegin("/")
.build());
}
}
resources:
ip:
type: scaleway:loadbalancers:Ip
lb:
type: scaleway:loadbalancers:LoadBalancer
properties:
ipId: ${ip.id}
name: my-lb
type: lb-s
app:
type: scaleway:loadbalancers:Backend
properties:
lbId: ${lb.id}
forwardProtocol: http
forwardPort: 80
proxyProtocol: none
admin:
type: scaleway:loadbalancers:Backend
properties:
lbId: ${lb.id}
forwardProtocol: http
forwardPort: 8080
proxyProtocol: none
frontend:
type: scaleway:loadbalancers:Frontend
properties:
lbId: ${lb.id}
backendId: ${app.id}
inboundPort: 80
adminRoute:
type: scaleway:loadbalancers:Route
name: admin_route
properties:
frontendId: ${frontend.id}
backendId: ${admin.id}
matchPathBegin: /admin
defaultRoute:
type: scaleway:loadbalancers:Route
name: default_route
properties:
frontendId: ${frontend.id}
backendId: ${app.id}
matchPathBegin: /
Create Route Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Route(name: string, args: RouteArgs, opts?: CustomResourceOptions);
@overload
def Route(resource_name: str,
args: RouteArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Route(resource_name: str,
opts: Optional[ResourceOptions] = None,
backend_id: Optional[str] = None,
frontend_id: Optional[str] = None,
match_host_header: Optional[str] = None,
match_path_begin: Optional[str] = None,
match_sni: Optional[str] = None,
match_subdomains: Optional[bool] = None)
func NewRoute(ctx *Context, name string, args RouteArgs, opts ...ResourceOption) (*Route, error)
public Route(string name, RouteArgs args, CustomResourceOptions? opts = null)
type: scaleway:loadbalancers:Route
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 RouteArgs
- 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 RouteArgs
- 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 RouteArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args RouteArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args RouteArgs
- 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 scalewayRouteResource = new Scaleway.Loadbalancers.Route("scalewayRouteResource", new()
{
BackendId = "string",
FrontendId = "string",
MatchHostHeader = "string",
MatchPathBegin = "string",
MatchSni = "string",
MatchSubdomains = false,
});
example, err := loadbalancers.NewRoute(ctx, "scalewayRouteResource", &loadbalancers.RouteArgs{
BackendId: pulumi.String("string"),
FrontendId: pulumi.String("string"),
MatchHostHeader: pulumi.String("string"),
MatchPathBegin: pulumi.String("string"),
MatchSni: pulumi.String("string"),
MatchSubdomains: pulumi.Bool(false),
})
var scalewayRouteResource = new com.pulumi.scaleway.loadbalancers.Route("scalewayRouteResource", com.pulumi.scaleway.loadbalancers.RouteArgs.builder()
.backendId("string")
.frontendId("string")
.matchHostHeader("string")
.matchPathBegin("string")
.matchSni("string")
.matchSubdomains(false)
.build());
scaleway_route_resource = scaleway.loadbalancers.Route("scalewayRouteResource",
backend_id="string",
frontend_id="string",
match_host_header="string",
match_path_begin="string",
match_sni="string",
match_subdomains=False)
const scalewayRouteResource = new scaleway.loadbalancers.Route("scalewayRouteResource", {
backendId: "string",
frontendId: "string",
matchHostHeader: "string",
matchPathBegin: "string",
matchSni: "string",
matchSubdomains: false,
});
type: scaleway:loadbalancers:Route
properties:
backendId: string
frontendId: string
matchHostHeader: string
matchPathBegin: string
matchSni: string
matchSubdomains: false
Route 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 Route resource accepts the following input properties:
- Backend
Id string - The ID of the backend the route is associated with.
- Frontend
Id string - The ID of the frontend the route is associated with.
- Match
Host stringHeader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- Match
Path stringBegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - Match
Sni string The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- Match
Subdomains bool - If true, all subdomains will match.
- Backend
Id string - The ID of the backend the route is associated with.
- Frontend
Id string - The ID of the frontend the route is associated with.
- Match
Host stringHeader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- Match
Path stringBegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - Match
Sni string The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- Match
Subdomains bool - If true, all subdomains will match.
- backend
Id String - The ID of the backend the route is associated with.
- frontend
Id String - The ID of the frontend the route is associated with.
- match
Host StringHeader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- match
Path StringBegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - match
Sni String The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- match
Subdomains Boolean - If true, all subdomains will match.
- backend
Id string - The ID of the backend the route is associated with.
- frontend
Id string - The ID of the frontend the route is associated with.
- match
Host stringHeader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- match
Path stringBegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - match
Sni string The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- match
Subdomains boolean - If true, all subdomains will match.
- backend_
id str - The ID of the backend the route is associated with.
- frontend_
id str - The ID of the frontend the route is associated with.
- match_
host_ strheader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- match_
path_ strbegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - match_
sni str The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- match_
subdomains bool - If true, all subdomains will match.
- backend
Id String - The ID of the backend the route is associated with.
- frontend
Id String - The ID of the frontend the route is associated with.
- match
Host StringHeader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- match
Path StringBegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - match
Sni String The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- match
Subdomains Boolean - If true, all subdomains will match.
Outputs
All input properties are implicitly available as output properties. Additionally, the Route resource produces the following output properties:
- created_
at str - The date on which the route was created.
- id str
- The provider-assigned unique ID for this managed resource.
- updated_
at str - The date on which the route was last updated.
Look up Existing Route Resource
Get an existing Route 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?: RouteState, opts?: CustomResourceOptions): Route
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
backend_id: Optional[str] = None,
created_at: Optional[str] = None,
frontend_id: Optional[str] = None,
match_host_header: Optional[str] = None,
match_path_begin: Optional[str] = None,
match_sni: Optional[str] = None,
match_subdomains: Optional[bool] = None,
updated_at: Optional[str] = None) -> Route
func GetRoute(ctx *Context, name string, id IDInput, state *RouteState, opts ...ResourceOption) (*Route, error)
public static Route Get(string name, Input<string> id, RouteState? state, CustomResourceOptions? opts = null)
public static Route get(String name, Output<String> id, RouteState state, CustomResourceOptions options)
resources: _: type: scaleway:loadbalancers:Route get: id: ${id}
- 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.
- Backend
Id string - The ID of the backend the route is associated with.
- Created
At string - The date on which the route was created.
- Frontend
Id string - The ID of the frontend the route is associated with.
- Match
Host stringHeader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- Match
Path stringBegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - Match
Sni string The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- Match
Subdomains bool - If true, all subdomains will match.
- Updated
At string - The date on which the route was last updated.
- Backend
Id string - The ID of the backend the route is associated with.
- Created
At string - The date on which the route was created.
- Frontend
Id string - The ID of the frontend the route is associated with.
- Match
Host stringHeader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- Match
Path stringBegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - Match
Sni string The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- Match
Subdomains bool - If true, all subdomains will match.
- Updated
At string - The date on which the route was last updated.
- backend
Id String - The ID of the backend the route is associated with.
- created
At String - The date on which the route was created.
- frontend
Id String - The ID of the frontend the route is associated with.
- match
Host StringHeader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- match
Path StringBegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - match
Sni String The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- match
Subdomains Boolean - If true, all subdomains will match.
- updated
At String - The date on which the route was last updated.
- backend
Id string - The ID of the backend the route is associated with.
- created
At string - The date on which the route was created.
- frontend
Id string - The ID of the frontend the route is associated with.
- match
Host stringHeader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- match
Path stringBegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - match
Sni string The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- match
Subdomains boolean - If true, all subdomains will match.
- updated
At string - The date on which the route was last updated.
- backend_
id str - The ID of the backend the route is associated with.
- created_
at str - The date on which the route was created.
- frontend_
id str - The ID of the frontend the route is associated with.
- match_
host_ strheader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- match_
path_ strbegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - match_
sni str The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- match_
subdomains bool - If true, all subdomains will match.
- updated_
at str - The date on which the route was last updated.
- backend
Id String - The ID of the backend the route is associated with.
- created
At String - The date on which the route was created.
- frontend
Id String - The ID of the frontend the route is associated with.
- match
Host StringHeader The HTTP host header to match. Value to match in the HTTP Host request header from an incoming connection. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on HTTP Load Balancers.
- match
Path StringBegin - The value to match in the URL beginning path from an incoming request.
Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified. - match
Sni String The Server Name Indication (SNI) value to match. Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. Only one of
match_sni
,match_host_header
andmatch_path_begin
should be specified.Important: This field should be set for routes on TCP Load Balancers.
- match
Subdomains Boolean - If true, all subdomains will match.
- updated
At String - The date on which the route was last updated.
Import
Load Balancer frontends can be imported using {zone}/{id}
, e.g.
bash
$ pulumi import scaleway:loadbalancers/route:Route main 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.