scaleway.Loadbalancer
Explore with Pulumi AI
Creates and manages Scaleway Load Balancers.
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 main = new scaleway.LoadbalancerIp("main", {zone: "fr-par-1"});
const base = new scaleway.Loadbalancer("base", {
ipIds: [main.id],
zone: main.zone,
type: "LB-S",
});
import pulumi
import pulumiverse_scaleway as scaleway
main = scaleway.LoadbalancerIp("main", zone="fr-par-1")
base = scaleway.Loadbalancer("base",
ip_ids=[main.id],
zone=main.zone,
type="LB-S")
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 {
main, err := scaleway.NewLoadbalancerIp(ctx, "main", &scaleway.LoadbalancerIpArgs{
Zone: pulumi.String("fr-par-1"),
})
if err != nil {
return err
}
_, err = scaleway.NewLoadbalancer(ctx, "base", &scaleway.LoadbalancerArgs{
IpIds: pulumi.StringArray{
main.ID(),
},
Zone: main.Zone,
Type: pulumi.String("LB-S"),
})
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 main = new Scaleway.LoadbalancerIp("main", new()
{
Zone = "fr-par-1",
});
var @base = new Scaleway.Loadbalancer("base", new()
{
IpIds = new[]
{
main.Id,
},
Zone = main.Zone,
Type = "LB-S",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.LoadbalancerIp;
import com.pulumi.scaleway.LoadbalancerIpArgs;
import com.pulumi.scaleway.Loadbalancer;
import com.pulumi.scaleway.LoadbalancerArgs;
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 main = new LoadbalancerIp("main", LoadbalancerIpArgs.builder()
.zone("fr-par-1")
.build());
var base = new Loadbalancer("base", LoadbalancerArgs.builder()
.ipIds(main.id())
.zone(main.zone())
.type("LB-S")
.build());
}
}
resources:
main:
type: scaleway:LoadbalancerIp
properties:
zone: fr-par-1
base:
type: scaleway:Loadbalancer
properties:
ipIds:
- ${main.id}
zone: ${main.zone}
type: LB-S
Private LB
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const base = new scaleway.Loadbalancer("base", {
assignFlexibleIp: false,
type: "LB-S",
});
import pulumi
import pulumiverse_scaleway as scaleway
base = scaleway.Loadbalancer("base",
assign_flexible_ip=False,
type="LB-S")
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.NewLoadbalancer(ctx, "base", &scaleway.LoadbalancerArgs{
AssignFlexibleIp: pulumi.Bool(false),
Type: pulumi.String("LB-S"),
})
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 @base = new Scaleway.Loadbalancer("base", new()
{
AssignFlexibleIp = false,
Type = "LB-S",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.Loadbalancer;
import com.pulumi.scaleway.LoadbalancerArgs;
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 base = new Loadbalancer("base", LoadbalancerArgs.builder()
.assignFlexibleIp(false)
.type("LB-S")
.build());
}
}
resources:
base:
type: scaleway:Loadbalancer
properties:
assignFlexibleIp: false
type: LB-S
With IPv6
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const v4 = new scaleway.LoadbalancerIp("v4", {});
const v6 = new scaleway.LoadbalancerIp("v6", {isIpv6: true});
const main = new scaleway.Loadbalancer("main", {
ipIds: [
v4.id,
v6.id,
],
type: "LB-S",
});
import pulumi
import pulumiverse_scaleway as scaleway
v4 = scaleway.LoadbalancerIp("v4")
v6 = scaleway.LoadbalancerIp("v6", is_ipv6=True)
main = scaleway.Loadbalancer("main",
ip_ids=[
v4.id,
v6.id,
],
type="LB-S")
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 {
v4, err := scaleway.NewLoadbalancerIp(ctx, "v4", nil)
if err != nil {
return err
}
v6, err := scaleway.NewLoadbalancerIp(ctx, "v6", &scaleway.LoadbalancerIpArgs{
IsIpv6: pulumi.Bool(true),
})
if err != nil {
return err
}
_, err = scaleway.NewLoadbalancer(ctx, "main", &scaleway.LoadbalancerArgs{
IpIds: pulumi.StringArray{
v4.ID(),
v6.ID(),
},
Type: pulumi.String("LB-S"),
})
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 v4 = new Scaleway.LoadbalancerIp("v4");
var v6 = new Scaleway.LoadbalancerIp("v6", new()
{
IsIpv6 = true,
});
var main = new Scaleway.Loadbalancer("main", new()
{
IpIds = new[]
{
v4.Id,
v6.Id,
},
Type = "LB-S",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.LoadbalancerIp;
import com.pulumi.scaleway.LoadbalancerIpArgs;
import com.pulumi.scaleway.Loadbalancer;
import com.pulumi.scaleway.LoadbalancerArgs;
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 v4 = new LoadbalancerIp("v4");
var v6 = new LoadbalancerIp("v6", LoadbalancerIpArgs.builder()
.isIpv6(true)
.build());
var main = new Loadbalancer("main", LoadbalancerArgs.builder()
.ipIds(
v4.id(),
v6.id())
.type("LB-S")
.build());
}
}
resources:
v4:
type: scaleway:LoadbalancerIp
v6:
type: scaleway:LoadbalancerIp
properties:
isIpv6: true
main:
type: scaleway:Loadbalancer
properties:
ipIds:
- ${v4.id}
- ${v6.id}
type: LB-S
With IPAM IDs
Coming soon!
Coming soon!
Coming soon!
Coming soon!
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.Vpc;
import com.pulumi.scaleway.VpcPrivateNetwork;
import com.pulumi.scaleway.VpcPrivateNetworkArgs;
import com.pulumi.scaleway.inputs.VpcPrivateNetworkIpv4SubnetArgs;
import com.pulumi.scaleway.IpamIp;
import com.pulumi.scaleway.IpamIpArgs;
import com.pulumi.scaleway.inputs.IpamIpSourceArgs;
import com.pulumi.scaleway.LoadbalancerIp;
import com.pulumi.scaleway.Loadbalancer;
import com.pulumi.scaleway.LoadbalancerArgs;
import com.pulumi.scaleway.inputs.LoadbalancerPrivateNetworkArgs;
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 vpc01 = new Vpc("vpc01");
var pn01 = new VpcPrivateNetwork("pn01", VpcPrivateNetworkArgs.builder()
.vpcId(vpc01.id())
.ipv4Subnet(VpcPrivateNetworkIpv4SubnetArgs.builder()
.subnet("172.16.32.0/22")
.build())
.build());
var ip01 = new IpamIp("ip01", IpamIpArgs.builder()
.address("172.16.32.7")
.sources(IpamIpSourceArgs.builder()
.privateNetworkId(pn01.id())
.build())
.build());
var v4 = new LoadbalancerIp("v4");
var main = new Loadbalancer("main", LoadbalancerArgs.builder()
.ipIds(v4.id())
.type("LB-S")
.privateNetworks(LoadbalancerPrivateNetworkArgs.builder()
.privateNetworkId(pn01.id())
.ipamIds(ip01.id())
.build())
.build());
}
}
resources:
vpc01:
type: scaleway:Vpc
pn01:
type: scaleway:VpcPrivateNetwork
properties:
vpcId: ${vpc01.id}
ipv4Subnet:
subnet: 172.16.32.0/22
ip01:
type: scaleway:IpamIp
properties:
address: 172.16.32.7
sources:
- privateNetworkId: ${pn01.id}
v4:
type: scaleway:LoadbalancerIp
main:
type: scaleway:Loadbalancer
properties:
ipIds:
- ${v4.id}
type: LB-S
privateNetworks:
- privateNetworkId: ${pn01.id}
ipamIds:
- ${ip01.id}
Multiple configurations
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
//## IP for Public Gateway
const mainVpcPublicGatewayIp = new scaleway.VpcPublicGatewayIp("mainVpcPublicGatewayIp", {});
//## Scaleway Private Network
const mainVpcPrivateNetwork = new scaleway.VpcPrivateNetwork("mainVpcPrivateNetwork", {});
//## VPC Public Gateway Network
const mainVpcPublicGateway = new scaleway.VpcPublicGateway("mainVpcPublicGateway", {
type: "VPC-GW-S",
ipId: mainVpcPublicGatewayIp.id,
});
//## VPC Public Gateway Network DHCP config
const mainVpcPublicGatewayDhcp = new scaleway.VpcPublicGatewayDhcp("mainVpcPublicGatewayDhcp", {subnet: "10.0.0.0/24"});
//## VPC Gateway Network
const mainVpcGatewayNetwork = new scaleway.VpcGatewayNetwork("mainVpcGatewayNetwork", {
gatewayId: mainVpcPublicGateway.id,
privateNetworkId: mainVpcPrivateNetwork.id,
dhcpId: mainVpcPublicGatewayDhcp.id,
cleanupDhcp: true,
enableMasquerade: true,
});
//## Scaleway Instance
const mainInstanceServer = new scaleway.InstanceServer("mainInstanceServer", {
type: "DEV1-S",
image: "debian_bullseye",
enableIpv6: false,
privateNetworks: [{
pnId: mainVpcPrivateNetwork.id,
}],
});
//## IP for LB IP
const mainLoadbalancerIp = new scaleway.LoadbalancerIp("mainLoadbalancerIp", {});
//## Scaleway Private Network
const mainIndex_vpcPrivateNetworkVpcPrivateNetwork = new scaleway.VpcPrivateNetwork("mainIndex/vpcPrivateNetworkVpcPrivateNetwork", {});
//## Scaleway Load Balancer
const mainLoadbalancer = new scaleway.Loadbalancer("mainLoadbalancer", {
ipId: mainLoadbalancerIp.id,
type: "LB-S",
privateNetworks: [{
privateNetworkId: mainVpcPrivateNetwork.id,
dhcpConfig: true,
}],
}, {
dependsOn: [mainVpcPublicGateway],
});
import pulumi
import pulumiverse_scaleway as scaleway
### IP for Public Gateway
main_vpc_public_gateway_ip = scaleway.VpcPublicGatewayIp("mainVpcPublicGatewayIp")
### Scaleway Private Network
main_vpc_private_network = scaleway.VpcPrivateNetwork("mainVpcPrivateNetwork")
### VPC Public Gateway Network
main_vpc_public_gateway = scaleway.VpcPublicGateway("mainVpcPublicGateway",
type="VPC-GW-S",
ip_id=main_vpc_public_gateway_ip.id)
### VPC Public Gateway Network DHCP config
main_vpc_public_gateway_dhcp = scaleway.VpcPublicGatewayDhcp("mainVpcPublicGatewayDhcp", subnet="10.0.0.0/24")
### VPC Gateway Network
main_vpc_gateway_network = scaleway.VpcGatewayNetwork("mainVpcGatewayNetwork",
gateway_id=main_vpc_public_gateway.id,
private_network_id=main_vpc_private_network.id,
dhcp_id=main_vpc_public_gateway_dhcp.id,
cleanup_dhcp=True,
enable_masquerade=True)
### Scaleway Instance
main_instance_server = scaleway.InstanceServer("mainInstanceServer",
type="DEV1-S",
image="debian_bullseye",
enable_ipv6=False,
private_networks=[scaleway.InstanceServerPrivateNetworkArgs(
pn_id=main_vpc_private_network.id,
)])
### IP for LB IP
main_loadbalancer_ip = scaleway.LoadbalancerIp("mainLoadbalancerIp")
### Scaleway Private Network
main_index_vpc_private_network_vpc_private_network = scaleway.VpcPrivateNetwork("mainIndex/vpcPrivateNetworkVpcPrivateNetwork")
### Scaleway Load Balancer
main_loadbalancer = scaleway.Loadbalancer("mainLoadbalancer",
ip_id=main_loadbalancer_ip.id,
type="LB-S",
private_networks=[scaleway.LoadbalancerPrivateNetworkArgs(
private_network_id=main_vpc_private_network.id,
dhcp_config=True,
)],
opts = pulumi.ResourceOptions(depends_on=[main_vpc_public_gateway]))
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 {
// ## IP for Public Gateway
mainVpcPublicGatewayIp, err := scaleway.NewVpcPublicGatewayIp(ctx, "mainVpcPublicGatewayIp", nil)
if err != nil {
return err
}
// ## Scaleway Private Network
mainVpcPrivateNetwork, err := scaleway.NewVpcPrivateNetwork(ctx, "mainVpcPrivateNetwork", nil)
if err != nil {
return err
}
// ## VPC Public Gateway Network
mainVpcPublicGateway, err := scaleway.NewVpcPublicGateway(ctx, "mainVpcPublicGateway", &scaleway.VpcPublicGatewayArgs{
Type: pulumi.String("VPC-GW-S"),
IpId: mainVpcPublicGatewayIp.ID(),
})
if err != nil {
return err
}
// ## VPC Public Gateway Network DHCP config
mainVpcPublicGatewayDhcp, err := scaleway.NewVpcPublicGatewayDhcp(ctx, "mainVpcPublicGatewayDhcp", &scaleway.VpcPublicGatewayDhcpArgs{
Subnet: pulumi.String("10.0.0.0/24"),
})
if err != nil {
return err
}
// ## VPC Gateway Network
_, err = scaleway.NewVpcGatewayNetwork(ctx, "mainVpcGatewayNetwork", &scaleway.VpcGatewayNetworkArgs{
GatewayId: mainVpcPublicGateway.ID(),
PrivateNetworkId: mainVpcPrivateNetwork.ID(),
DhcpId: mainVpcPublicGatewayDhcp.ID(),
CleanupDhcp: pulumi.Bool(true),
EnableMasquerade: pulumi.Bool(true),
})
if err != nil {
return err
}
// ## Scaleway Instance
_, err = scaleway.NewInstanceServer(ctx, "mainInstanceServer", &scaleway.InstanceServerArgs{
Type: pulumi.String("DEV1-S"),
Image: pulumi.String("debian_bullseye"),
EnableIpv6: pulumi.Bool(false),
PrivateNetworks: scaleway.InstanceServerPrivateNetworkArray{
&scaleway.InstanceServerPrivateNetworkArgs{
PnId: mainVpcPrivateNetwork.ID(),
},
},
})
if err != nil {
return err
}
// ## IP for LB IP
mainLoadbalancerIp, err := scaleway.NewLoadbalancerIp(ctx, "mainLoadbalancerIp", nil)
if err != nil {
return err
}
// ## Scaleway Private Network
_, err = scaleway.NewVpcPrivateNetwork(ctx, "mainIndex/vpcPrivateNetworkVpcPrivateNetwork", nil)
if err != nil {
return err
}
// ## Scaleway Load Balancer
_, err = scaleway.NewLoadbalancer(ctx, "mainLoadbalancer", &scaleway.LoadbalancerArgs{
IpId: mainLoadbalancerIp.ID(),
Type: pulumi.String("LB-S"),
PrivateNetworks: scaleway.LoadbalancerPrivateNetworkArray{
&scaleway.LoadbalancerPrivateNetworkArgs{
PrivateNetworkId: mainVpcPrivateNetwork.ID(),
DhcpConfig: pulumi.Bool(true),
},
},
}, pulumi.DependsOn([]pulumi.Resource{
mainVpcPublicGateway,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
//## IP for Public Gateway
var mainVpcPublicGatewayIp = new Scaleway.VpcPublicGatewayIp("mainVpcPublicGatewayIp");
//## Scaleway Private Network
var mainVpcPrivateNetwork = new Scaleway.VpcPrivateNetwork("mainVpcPrivateNetwork");
//## VPC Public Gateway Network
var mainVpcPublicGateway = new Scaleway.VpcPublicGateway("mainVpcPublicGateway", new()
{
Type = "VPC-GW-S",
IpId = mainVpcPublicGatewayIp.Id,
});
//## VPC Public Gateway Network DHCP config
var mainVpcPublicGatewayDhcp = new Scaleway.VpcPublicGatewayDhcp("mainVpcPublicGatewayDhcp", new()
{
Subnet = "10.0.0.0/24",
});
//## VPC Gateway Network
var mainVpcGatewayNetwork = new Scaleway.VpcGatewayNetwork("mainVpcGatewayNetwork", new()
{
GatewayId = mainVpcPublicGateway.Id,
PrivateNetworkId = mainVpcPrivateNetwork.Id,
DhcpId = mainVpcPublicGatewayDhcp.Id,
CleanupDhcp = true,
EnableMasquerade = true,
});
//## Scaleway Instance
var mainInstanceServer = new Scaleway.InstanceServer("mainInstanceServer", new()
{
Type = "DEV1-S",
Image = "debian_bullseye",
EnableIpv6 = false,
PrivateNetworks = new[]
{
new Scaleway.Inputs.InstanceServerPrivateNetworkArgs
{
PnId = mainVpcPrivateNetwork.Id,
},
},
});
//## IP for LB IP
var mainLoadbalancerIp = new Scaleway.LoadbalancerIp("mainLoadbalancerIp");
//## Scaleway Private Network
var mainIndex_vpcPrivateNetworkVpcPrivateNetwork = new Scaleway.VpcPrivateNetwork("mainIndex/vpcPrivateNetworkVpcPrivateNetwork");
//## Scaleway Load Balancer
var mainLoadbalancer = new Scaleway.Loadbalancer("mainLoadbalancer", new()
{
IpId = mainLoadbalancerIp.Id,
Type = "LB-S",
PrivateNetworks = new[]
{
new Scaleway.Inputs.LoadbalancerPrivateNetworkArgs
{
PrivateNetworkId = mainVpcPrivateNetwork.Id,
DhcpConfig = true,
},
},
}, new CustomResourceOptions
{
DependsOn =
{
mainVpcPublicGateway,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.VpcPublicGatewayIp;
import com.pulumi.scaleway.VpcPrivateNetwork;
import com.pulumi.scaleway.VpcPublicGateway;
import com.pulumi.scaleway.VpcPublicGatewayArgs;
import com.pulumi.scaleway.VpcPublicGatewayDhcp;
import com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;
import com.pulumi.scaleway.VpcGatewayNetwork;
import com.pulumi.scaleway.VpcGatewayNetworkArgs;
import com.pulumi.scaleway.InstanceServer;
import com.pulumi.scaleway.InstanceServerArgs;
import com.pulumi.scaleway.inputs.InstanceServerPrivateNetworkArgs;
import com.pulumi.scaleway.LoadbalancerIp;
import com.pulumi.scaleway.Loadbalancer;
import com.pulumi.scaleway.LoadbalancerArgs;
import com.pulumi.scaleway.inputs.LoadbalancerPrivateNetworkArgs;
import com.pulumi.resources.CustomResourceOptions;
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) {
//## IP for Public Gateway
var mainVpcPublicGatewayIp = new VpcPublicGatewayIp("mainVpcPublicGatewayIp");
//## Scaleway Private Network
var mainVpcPrivateNetwork = new VpcPrivateNetwork("mainVpcPrivateNetwork");
//## VPC Public Gateway Network
var mainVpcPublicGateway = new VpcPublicGateway("mainVpcPublicGateway", VpcPublicGatewayArgs.builder()
.type("VPC-GW-S")
.ipId(mainVpcPublicGatewayIp.id())
.build());
//## VPC Public Gateway Network DHCP config
var mainVpcPublicGatewayDhcp = new VpcPublicGatewayDhcp("mainVpcPublicGatewayDhcp", VpcPublicGatewayDhcpArgs.builder()
.subnet("10.0.0.0/24")
.build());
//## VPC Gateway Network
var mainVpcGatewayNetwork = new VpcGatewayNetwork("mainVpcGatewayNetwork", VpcGatewayNetworkArgs.builder()
.gatewayId(mainVpcPublicGateway.id())
.privateNetworkId(mainVpcPrivateNetwork.id())
.dhcpId(mainVpcPublicGatewayDhcp.id())
.cleanupDhcp(true)
.enableMasquerade(true)
.build());
//## Scaleway Instance
var mainInstanceServer = new InstanceServer("mainInstanceServer", InstanceServerArgs.builder()
.type("DEV1-S")
.image("debian_bullseye")
.enableIpv6(false)
.privateNetworks(InstanceServerPrivateNetworkArgs.builder()
.pnId(mainVpcPrivateNetwork.id())
.build())
.build());
//## IP for LB IP
var mainLoadbalancerIp = new LoadbalancerIp("mainLoadbalancerIp");
//## Scaleway Private Network
var mainIndex_vpcPrivateNetworkVpcPrivateNetwork = new VpcPrivateNetwork("mainIndex/vpcPrivateNetworkVpcPrivateNetwork");
//## Scaleway Load Balancer
var mainLoadbalancer = new Loadbalancer("mainLoadbalancer", LoadbalancerArgs.builder()
.ipId(mainLoadbalancerIp.id())
.type("LB-S")
.privateNetworks(LoadbalancerPrivateNetworkArgs.builder()
.privateNetworkId(mainVpcPrivateNetwork.id())
.dhcpConfig(true)
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(mainVpcPublicGateway)
.build());
}
}
resources:
### IP for Public Gateway
mainVpcPublicGatewayIp:
type: scaleway:VpcPublicGatewayIp
### Scaleway Private Network
mainVpcPrivateNetwork:
type: scaleway:VpcPrivateNetwork
### VPC Public Gateway Network
mainVpcPublicGateway:
type: scaleway:VpcPublicGateway
properties:
type: VPC-GW-S
ipId: ${mainVpcPublicGatewayIp.id}
### VPC Public Gateway Network DHCP config
mainVpcPublicGatewayDhcp:
type: scaleway:VpcPublicGatewayDhcp
properties:
subnet: 10.0.0.0/24
### VPC Gateway Network
mainVpcGatewayNetwork:
type: scaleway:VpcGatewayNetwork
properties:
gatewayId: ${mainVpcPublicGateway.id}
privateNetworkId: ${mainVpcPrivateNetwork.id}
dhcpId: ${mainVpcPublicGatewayDhcp.id}
cleanupDhcp: true
enableMasquerade: true
### Scaleway Instance
mainInstanceServer:
type: scaleway:InstanceServer
properties:
type: DEV1-S
image: debian_bullseye
enableIpv6: false
privateNetworks:
- pnId: ${mainVpcPrivateNetwork.id}
### IP for LB IP
mainLoadbalancerIp:
type: scaleway:LoadbalancerIp
### Scaleway Private Network
mainIndex/vpcPrivateNetworkVpcPrivateNetwork:
type: scaleway:VpcPrivateNetwork
### Scaleway Load Balancer
mainLoadbalancer:
type: scaleway:Loadbalancer
properties:
ipId: ${mainLoadbalancerIp.id}
type: LB-S
privateNetworks:
- privateNetworkId: ${mainVpcPrivateNetwork.id}
dhcpConfig: true
options:
dependson:
- ${mainVpcPublicGateway}
Migration
In order to migrate to other Load Balancer types, you can check upwards or downwards migration via our CLI scw lb lb-types list
.
This change will not recreate your Load Balancer.
Please check our documentation for further details
IP ID
Since v1.15.0, ip_id
is a required field. This means that now a separate scaleway.LoadbalancerIp
is required.
When importing, the IP needs to be imported as well as the Load Balancer.
When upgrading to v1.15.0, you will need to create a new scaleway.LoadbalancerIp
resource and import it.
For instance, if you had the following:
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const main = new scaleway.Loadbalancer("main", {
type: "LB-S",
zone: "fr-par-1",
});
import pulumi
import pulumiverse_scaleway as scaleway
main = scaleway.Loadbalancer("main",
type="LB-S",
zone="fr-par-1")
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.NewLoadbalancer(ctx, "main", &scaleway.LoadbalancerArgs{
Type: pulumi.String("LB-S"),
Zone: pulumi.String("fr-par-1"),
})
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 main = new Scaleway.Loadbalancer("main", new()
{
Type = "LB-S",
Zone = "fr-par-1",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.Loadbalancer;
import com.pulumi.scaleway.LoadbalancerArgs;
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 main = new Loadbalancer("main", LoadbalancerArgs.builder()
.type("LB-S")
.zone("fr-par-1")
.build());
}
}
resources:
main:
type: scaleway:Loadbalancer
properties:
type: LB-S
zone: fr-par-1
You will need to update it to:
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const mainLoadbalancerIp = new scaleway.LoadbalancerIp("mainLoadbalancerIp", {});
const mainLoadbalancer = new scaleway.Loadbalancer("mainLoadbalancer", {
ipId: mainLoadbalancerIp.id,
zone: "fr-par-1",
type: "LB-S",
releaseIp: false,
});
import pulumi
import pulumiverse_scaleway as scaleway
main_loadbalancer_ip = scaleway.LoadbalancerIp("mainLoadbalancerIp")
main_loadbalancer = scaleway.Loadbalancer("mainLoadbalancer",
ip_id=main_loadbalancer_ip.id,
zone="fr-par-1",
type="LB-S",
release_ip=False)
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 {
mainLoadbalancerIp, err := scaleway.NewLoadbalancerIp(ctx, "mainLoadbalancerIp", nil)
if err != nil {
return err
}
_, err = scaleway.NewLoadbalancer(ctx, "mainLoadbalancer", &scaleway.LoadbalancerArgs{
IpId: mainLoadbalancerIp.ID(),
Zone: pulumi.String("fr-par-1"),
Type: pulumi.String("LB-S"),
ReleaseIp: pulumi.Bool(false),
})
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 mainLoadbalancerIp = new Scaleway.LoadbalancerIp("mainLoadbalancerIp");
var mainLoadbalancer = new Scaleway.Loadbalancer("mainLoadbalancer", new()
{
IpId = mainLoadbalancerIp.Id,
Zone = "fr-par-1",
Type = "LB-S",
ReleaseIp = false,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.LoadbalancerIp;
import com.pulumi.scaleway.Loadbalancer;
import com.pulumi.scaleway.LoadbalancerArgs;
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 mainLoadbalancerIp = new LoadbalancerIp("mainLoadbalancerIp");
var mainLoadbalancer = new Loadbalancer("mainLoadbalancer", LoadbalancerArgs.builder()
.ipId(mainLoadbalancerIp.id())
.zone("fr-par-1")
.type("LB-S")
.releaseIp(false)
.build());
}
}
resources:
mainLoadbalancerIp:
type: scaleway:LoadbalancerIp
mainLoadbalancer:
type: scaleway:Loadbalancer
properties:
ipId: ${mainLoadbalancerIp.id}
zone: fr-par-1
type: LB-S
releaseIp: false
Create Loadbalancer Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Loadbalancer(name: string, args: LoadbalancerArgs, opts?: CustomResourceOptions);
@overload
def Loadbalancer(resource_name: str,
args: LoadbalancerArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Loadbalancer(resource_name: str,
opts: Optional[ResourceOptions] = None,
type: Optional[str] = None,
private_networks: Optional[Sequence[LoadbalancerPrivateNetworkArgs]] = None,
description: Optional[str] = None,
ip_id: Optional[str] = None,
ip_ids: Optional[Sequence[str]] = None,
name: Optional[str] = None,
assign_flexible_ip: Optional[bool] = None,
project_id: Optional[str] = None,
release_ip: Optional[bool] = None,
ssl_compatibility_level: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
assign_flexible_ipv6: Optional[bool] = None,
zone: Optional[str] = None)
func NewLoadbalancer(ctx *Context, name string, args LoadbalancerArgs, opts ...ResourceOption) (*Loadbalancer, error)
public Loadbalancer(string name, LoadbalancerArgs args, CustomResourceOptions? opts = null)
public Loadbalancer(String name, LoadbalancerArgs args)
public Loadbalancer(String name, LoadbalancerArgs args, CustomResourceOptions options)
type: scaleway:Loadbalancer
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 LoadbalancerArgs
- 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 LoadbalancerArgs
- 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 LoadbalancerArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args LoadbalancerArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args LoadbalancerArgs
- 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 loadbalancerResource = new Scaleway.Loadbalancer("loadbalancerResource", new()
{
Type = "string",
PrivateNetworks = new[]
{
new Scaleway.Inputs.LoadbalancerPrivateNetworkArgs
{
PrivateNetworkId = "string",
DhcpConfig = false,
IpamIds = "string",
Status = "string",
Zone = "string",
},
},
Description = "string",
IpIds = new[]
{
"string",
},
Name = "string",
AssignFlexibleIp = false,
ProjectId = "string",
SslCompatibilityLevel = "string",
Tags = new[]
{
"string",
},
AssignFlexibleIpv6 = false,
Zone = "string",
});
example, err := scaleway.NewLoadbalancer(ctx, "loadbalancerResource", &scaleway.LoadbalancerArgs{
Type: pulumi.String("string"),
PrivateNetworks: scaleway.LoadbalancerPrivateNetworkArray{
&scaleway.LoadbalancerPrivateNetworkArgs{
PrivateNetworkId: pulumi.String("string"),
DhcpConfig: pulumi.Bool(false),
IpamIds: pulumi.String("string"),
Status: pulumi.String("string"),
Zone: pulumi.String("string"),
},
},
Description: pulumi.String("string"),
IpIds: pulumi.StringArray{
pulumi.String("string"),
},
Name: pulumi.String("string"),
AssignFlexibleIp: pulumi.Bool(false),
ProjectId: pulumi.String("string"),
SslCompatibilityLevel: pulumi.String("string"),
Tags: pulumi.StringArray{
pulumi.String("string"),
},
AssignFlexibleIpv6: pulumi.Bool(false),
Zone: pulumi.String("string"),
})
var loadbalancerResource = new Loadbalancer("loadbalancerResource", LoadbalancerArgs.builder()
.type("string")
.privateNetworks(LoadbalancerPrivateNetworkArgs.builder()
.privateNetworkId("string")
.dhcpConfig(false)
.ipamIds("string")
.status("string")
.zone("string")
.build())
.description("string")
.ipIds("string")
.name("string")
.assignFlexibleIp(false)
.projectId("string")
.sslCompatibilityLevel("string")
.tags("string")
.assignFlexibleIpv6(false)
.zone("string")
.build());
loadbalancer_resource = scaleway.Loadbalancer("loadbalancerResource",
type="string",
private_networks=[scaleway.LoadbalancerPrivateNetworkArgs(
private_network_id="string",
dhcp_config=False,
ipam_ids="string",
status="string",
zone="string",
)],
description="string",
ip_ids=["string"],
name="string",
assign_flexible_ip=False,
project_id="string",
ssl_compatibility_level="string",
tags=["string"],
assign_flexible_ipv6=False,
zone="string")
const loadbalancerResource = new scaleway.Loadbalancer("loadbalancerResource", {
type: "string",
privateNetworks: [{
privateNetworkId: "string",
dhcpConfig: false,
ipamIds: "string",
status: "string",
zone: "string",
}],
description: "string",
ipIds: ["string"],
name: "string",
assignFlexibleIp: false,
projectId: "string",
sslCompatibilityLevel: "string",
tags: ["string"],
assignFlexibleIpv6: false,
zone: "string",
});
type: scaleway:Loadbalancer
properties:
assignFlexibleIp: false
assignFlexibleIpv6: false
description: string
ipIds:
- string
name: string
privateNetworks:
- dhcpConfig: false
ipamIds: string
privateNetworkId: string
status: string
zone: string
projectId: string
sslCompatibilityLevel: string
tags:
- string
type: string
zone: string
Loadbalancer 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 Loadbalancer resource accepts the following input properties:
- Type string
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- Assign
Flexible boolIp - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- Assign
Flexible boolIpv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- Description string
- The description of the Load Balancer.
- Ip
Id string The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- Ip
Ids List<string> - The List of IP IDs to attach to the Load Balancer.
- Name string
- The name of the Load Balancer.
- Private
Networks List<Pulumiverse.Scaleway. Inputs. Loadbalancer Private Network> - List of private network to connect with your load balancer
- Project
Id string project_id
) The ID of the Project the Load Balancer is associated with.- Release
Ip bool - The
release_ip
allow the release of the IP address associated with the Load Balancer. - Ssl
Compatibility stringLevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- List<string>
- The tags associated with the Load Balancer.
- Zone string
zone
) The zone of the Load Balancer.
- Type string
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- Assign
Flexible boolIp - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- Assign
Flexible boolIpv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- Description string
- The description of the Load Balancer.
- Ip
Id string The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- Ip
Ids []string - The List of IP IDs to attach to the Load Balancer.
- Name string
- The name of the Load Balancer.
- Private
Networks []LoadbalancerPrivate Network Args - List of private network to connect with your load balancer
- Project
Id string project_id
) The ID of the Project the Load Balancer is associated with.- Release
Ip bool - The
release_ip
allow the release of the IP address associated with the Load Balancer. - Ssl
Compatibility stringLevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- []string
- The tags associated with the Load Balancer.
- Zone string
zone
) The zone of the Load Balancer.
- type String
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- assign
Flexible BooleanIp - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- assign
Flexible BooleanIpv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- description String
- The description of the Load Balancer.
- ip
Id String The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- ip
Ids List<String> - The List of IP IDs to attach to the Load Balancer.
- name String
- The name of the Load Balancer.
- private
Networks List<LoadbalancerPrivate Network> - List of private network to connect with your load balancer
- project
Id String project_id
) The ID of the Project the Load Balancer is associated with.- release
Ip Boolean - The
release_ip
allow the release of the IP address associated with the Load Balancer. - ssl
Compatibility StringLevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- List<String>
- The tags associated with the Load Balancer.
- zone String
zone
) The zone of the Load Balancer.
- type string
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- assign
Flexible booleanIp - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- assign
Flexible booleanIpv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- description string
- The description of the Load Balancer.
- ip
Id string The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- ip
Ids string[] - The List of IP IDs to attach to the Load Balancer.
- name string
- The name of the Load Balancer.
- private
Networks LoadbalancerPrivate Network[] - List of private network to connect with your load balancer
- project
Id string project_id
) The ID of the Project the Load Balancer is associated with.- release
Ip boolean - The
release_ip
allow the release of the IP address associated with the Load Balancer. - ssl
Compatibility stringLevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- string[]
- The tags associated with the Load Balancer.
- zone string
zone
) The zone of the Load Balancer.
- type str
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- assign_
flexible_ boolip - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- assign_
flexible_ boolipv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- description str
- The description of the Load Balancer.
- ip_
id str The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- ip_
ids Sequence[str] - The List of IP IDs to attach to the Load Balancer.
- name str
- The name of the Load Balancer.
- private_
networks Sequence[LoadbalancerPrivate Network Args] - List of private network to connect with your load balancer
- project_
id str project_id
) The ID of the Project the Load Balancer is associated with.- release_
ip bool - The
release_ip
allow the release of the IP address associated with the Load Balancer. - ssl_
compatibility_ strlevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- Sequence[str]
- The tags associated with the Load Balancer.
- zone str
zone
) The zone of the Load Balancer.
- type String
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- assign
Flexible BooleanIp - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- assign
Flexible BooleanIpv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- description String
- The description of the Load Balancer.
- ip
Id String The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- ip
Ids List<String> - The List of IP IDs to attach to the Load Balancer.
- name String
- The name of the Load Balancer.
- private
Networks List<Property Map> - List of private network to connect with your load balancer
- project
Id String project_id
) The ID of the Project the Load Balancer is associated with.- release
Ip Boolean - The
release_ip
allow the release of the IP address associated with the Load Balancer. - ssl
Compatibility StringLevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- List<String>
- The tags associated with the Load Balancer.
- zone String
zone
) The zone of the Load Balancer.
Outputs
All input properties are implicitly available as output properties. Additionally, the Loadbalancer resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Ip
Address string - The Load Balancer public IPv4 address.
- Ipv6Address string
- The Load Balancer public IPv6 address.
- Organization
Id string - The ID of the Organization ID the Load Balancer is associated with.
- Region string
- The region of the resource
- Id string
- The provider-assigned unique ID for this managed resource.
- Ip
Address string - The Load Balancer public IPv4 address.
- Ipv6Address string
- The Load Balancer public IPv6 address.
- Organization
Id string - The ID of the Organization ID the Load Balancer is associated with.
- Region string
- The region of the resource
- id String
- The provider-assigned unique ID for this managed resource.
- ip
Address String - The Load Balancer public IPv4 address.
- ipv6Address String
- The Load Balancer public IPv6 address.
- organization
Id String - The ID of the Organization ID the Load Balancer is associated with.
- region String
- The region of the resource
- id string
- The provider-assigned unique ID for this managed resource.
- ip
Address string - The Load Balancer public IPv4 address.
- ipv6Address string
- The Load Balancer public IPv6 address.
- organization
Id string - The ID of the Organization ID the Load Balancer is associated with.
- region string
- The region of the resource
- id str
- The provider-assigned unique ID for this managed resource.
- ip_
address str - The Load Balancer public IPv4 address.
- ipv6_
address str - The Load Balancer public IPv6 address.
- organization_
id str - The ID of the Organization ID the Load Balancer is associated with.
- region str
- The region of the resource
- id String
- The provider-assigned unique ID for this managed resource.
- ip
Address String - The Load Balancer public IPv4 address.
- ipv6Address String
- The Load Balancer public IPv6 address.
- organization
Id String - The ID of the Organization ID the Load Balancer is associated with.
- region String
- The region of the resource
Look up Existing Loadbalancer Resource
Get an existing Loadbalancer 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?: LoadbalancerState, opts?: CustomResourceOptions): Loadbalancer
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
assign_flexible_ip: Optional[bool] = None,
assign_flexible_ipv6: Optional[bool] = None,
description: Optional[str] = None,
ip_address: Optional[str] = None,
ip_id: Optional[str] = None,
ip_ids: Optional[Sequence[str]] = None,
ipv6_address: Optional[str] = None,
name: Optional[str] = None,
organization_id: Optional[str] = None,
private_networks: Optional[Sequence[LoadbalancerPrivateNetworkArgs]] = None,
project_id: Optional[str] = None,
region: Optional[str] = None,
release_ip: Optional[bool] = None,
ssl_compatibility_level: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
type: Optional[str] = None,
zone: Optional[str] = None) -> Loadbalancer
func GetLoadbalancer(ctx *Context, name string, id IDInput, state *LoadbalancerState, opts ...ResourceOption) (*Loadbalancer, error)
public static Loadbalancer Get(string name, Input<string> id, LoadbalancerState? state, CustomResourceOptions? opts = null)
public static Loadbalancer get(String name, Output<String> id, LoadbalancerState 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.
- Assign
Flexible boolIp - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- Assign
Flexible boolIpv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- Description string
- The description of the Load Balancer.
- Ip
Address string - The Load Balancer public IPv4 address.
- Ip
Id string The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- Ip
Ids List<string> - The List of IP IDs to attach to the Load Balancer.
- Ipv6Address string
- The Load Balancer public IPv6 address.
- Name string
- The name of the Load Balancer.
- Organization
Id string - The ID of the Organization ID the Load Balancer is associated with.
- Private
Networks List<Pulumiverse.Scaleway. Inputs. Loadbalancer Private Network> - List of private network to connect with your load balancer
- Project
Id string project_id
) The ID of the Project the Load Balancer is associated with.- Region string
- The region of the resource
- Release
Ip bool - The
release_ip
allow the release of the IP address associated with the Load Balancer. - Ssl
Compatibility stringLevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- List<string>
- The tags associated with the Load Balancer.
- Type string
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- Zone string
zone
) The zone of the Load Balancer.
- Assign
Flexible boolIp - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- Assign
Flexible boolIpv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- Description string
- The description of the Load Balancer.
- Ip
Address string - The Load Balancer public IPv4 address.
- Ip
Id string The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- Ip
Ids []string - The List of IP IDs to attach to the Load Balancer.
- Ipv6Address string
- The Load Balancer public IPv6 address.
- Name string
- The name of the Load Balancer.
- Organization
Id string - The ID of the Organization ID the Load Balancer is associated with.
- Private
Networks []LoadbalancerPrivate Network Args - List of private network to connect with your load balancer
- Project
Id string project_id
) The ID of the Project the Load Balancer is associated with.- Region string
- The region of the resource
- Release
Ip bool - The
release_ip
allow the release of the IP address associated with the Load Balancer. - Ssl
Compatibility stringLevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- []string
- The tags associated with the Load Balancer.
- Type string
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- Zone string
zone
) The zone of the Load Balancer.
- assign
Flexible BooleanIp - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- assign
Flexible BooleanIpv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- description String
- The description of the Load Balancer.
- ip
Address String - The Load Balancer public IPv4 address.
- ip
Id String The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- ip
Ids List<String> - The List of IP IDs to attach to the Load Balancer.
- ipv6Address String
- The Load Balancer public IPv6 address.
- name String
- The name of the Load Balancer.
- organization
Id String - The ID of the Organization ID the Load Balancer is associated with.
- private
Networks List<LoadbalancerPrivate Network> - List of private network to connect with your load balancer
- project
Id String project_id
) The ID of the Project the Load Balancer is associated with.- region String
- The region of the resource
- release
Ip Boolean - The
release_ip
allow the release of the IP address associated with the Load Balancer. - ssl
Compatibility StringLevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- List<String>
- The tags associated with the Load Balancer.
- type String
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- zone String
zone
) The zone of the Load Balancer.
- assign
Flexible booleanIp - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- assign
Flexible booleanIpv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- description string
- The description of the Load Balancer.
- ip
Address string - The Load Balancer public IPv4 address.
- ip
Id string The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- ip
Ids string[] - The List of IP IDs to attach to the Load Balancer.
- ipv6Address string
- The Load Balancer public IPv6 address.
- name string
- The name of the Load Balancer.
- organization
Id string - The ID of the Organization ID the Load Balancer is associated with.
- private
Networks LoadbalancerPrivate Network[] - List of private network to connect with your load balancer
- project
Id string project_id
) The ID of the Project the Load Balancer is associated with.- region string
- The region of the resource
- release
Ip boolean - The
release_ip
allow the release of the IP address associated with the Load Balancer. - ssl
Compatibility stringLevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- string[]
- The tags associated with the Load Balancer.
- type string
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- zone string
zone
) The zone of the Load Balancer.
- assign_
flexible_ boolip - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- assign_
flexible_ boolipv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- description str
- The description of the Load Balancer.
- ip_
address str - The Load Balancer public IPv4 address.
- ip_
id str The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- ip_
ids Sequence[str] - The List of IP IDs to attach to the Load Balancer.
- ipv6_
address str - The Load Balancer public IPv6 address.
- name str
- The name of the Load Balancer.
- organization_
id str - The ID of the Organization ID the Load Balancer is associated with.
- private_
networks Sequence[LoadbalancerPrivate Network Args] - List of private network to connect with your load balancer
- project_
id str project_id
) The ID of the Project the Load Balancer is associated with.- region str
- The region of the resource
- release_
ip bool - The
release_ip
allow the release of the IP address associated with the Load Balancer. - ssl_
compatibility_ strlevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- Sequence[str]
- The tags associated with the Load Balancer.
- type str
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- zone str
zone
) The zone of the Load Balancer.
- assign
Flexible BooleanIp - Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
- assign
Flexible BooleanIpv6 - Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
- description String
- The description of the Load Balancer.
- ip
Address String - The Load Balancer public IPv4 address.
- ip
Id String The ID of the associated Load Balancer IP. See below.
Important: Updates to
ip_id
will recreate the Load Balancer.- ip
Ids List<String> - The List of IP IDs to attach to the Load Balancer.
- ipv6Address String
- The Load Balancer public IPv6 address.
- name String
- The name of the Load Balancer.
- organization
Id String - The ID of the Organization ID the Load Balancer is associated with.
- private
Networks List<Property Map> - List of private network to connect with your load balancer
- project
Id String project_id
) The ID of the Project the Load Balancer is associated with.- region String
- The region of the resource
- release
Ip Boolean - The
release_ip
allow the release of the IP address associated with the Load Balancer. - ssl
Compatibility StringLevel - Enforces minimal SSL version (in SSL/TLS offloading context). Please check possible values.
- List<String>
- The tags associated with the Load Balancer.
- type String
- The type of the Load Balancer. Please check the migration section to upgrade the type.
- zone String
zone
) The zone of the Load Balancer.
Supporting Types
LoadbalancerPrivateNetwork, LoadbalancerPrivateNetworkArgs
- Private
Network stringId - (Required) The ID of the Private Network to attach to.
- Dhcp
Config bool - (Optional) Set to
true
if you want to let DHCP assign IP addresses. See below. - Ipam
Ids string - (Optional) IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network.
- Static
Config string - (Deprecated) Please use
ipam_ids
. Define a local ip address of your choice for the load balancer instance. - Status string
- The status of private network connection
- Zone string
zone
) The zone of the Load Balancer.
- Private
Network stringId - (Required) The ID of the Private Network to attach to.
- Dhcp
Config bool - (Optional) Set to
true
if you want to let DHCP assign IP addresses. See below. - Ipam
Ids string - (Optional) IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network.
- Static
Config string - (Deprecated) Please use
ipam_ids
. Define a local ip address of your choice for the load balancer instance. - Status string
- The status of private network connection
- Zone string
zone
) The zone of the Load Balancer.
- private
Network StringId - (Required) The ID of the Private Network to attach to.
- dhcp
Config Boolean - (Optional) Set to
true
if you want to let DHCP assign IP addresses. See below. - ipam
Ids String - (Optional) IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network.
- static
Config String - (Deprecated) Please use
ipam_ids
. Define a local ip address of your choice for the load balancer instance. - status String
- The status of private network connection
- zone String
zone
) The zone of the Load Balancer.
- private
Network stringId - (Required) The ID of the Private Network to attach to.
- dhcp
Config boolean - (Optional) Set to
true
if you want to let DHCP assign IP addresses. See below. - ipam
Ids string - (Optional) IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network.
- static
Config string - (Deprecated) Please use
ipam_ids
. Define a local ip address of your choice for the load balancer instance. - status string
- The status of private network connection
- zone string
zone
) The zone of the Load Balancer.
- private_
network_ strid - (Required) The ID of the Private Network to attach to.
- dhcp_
config bool - (Optional) Set to
true
if you want to let DHCP assign IP addresses. See below. - ipam_
ids str - (Optional) IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network.
- static_
config str - (Deprecated) Please use
ipam_ids
. Define a local ip address of your choice for the load balancer instance. - status str
- The status of private network connection
- zone str
zone
) The zone of the Load Balancer.
- private
Network StringId - (Required) The ID of the Private Network to attach to.
- dhcp
Config Boolean - (Optional) Set to
true
if you want to let DHCP assign IP addresses. See below. - ipam
Ids String - (Optional) IPAM ID of a pre-reserved IP address to assign to the Load Balancer on this Private Network.
- static
Config String - (Deprecated) Please use
ipam_ids
. Define a local ip address of your choice for the load balancer instance. - status String
- The status of private network connection
- zone String
zone
) The zone of the Load Balancer.
Import
Load Balancers can be imported using {zone}/{id}
, e.g.
bash
$ pulumi import scaleway:index/loadbalancer:Loadbalancer main fr-par-1/11111111-1111-1111-1111-111111111111
Be aware that you will also need to import the scaleway_lb_ip
resource.
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.