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", {
name: "private-lb",
type: "LB-S",
assignFlexibleIp: false,
});
import pulumi
import pulumiverse_scaleway as scaleway
base = scaleway.Loadbalancer("base",
name="private-lb",
type="LB-S",
assign_flexible_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 {
_, err := scaleway.NewLoadbalancer(ctx, "base", &scaleway.LoadbalancerArgs{
Name: pulumi.String("private-lb"),
Type: pulumi.String("LB-S"),
AssignFlexibleIp: 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 @base = new Scaleway.Loadbalancer("base", new()
{
Name = "private-lb",
Type = "LB-S",
AssignFlexibleIp = false,
});
});
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()
.name("private-lb")
.type("LB-S")
.assignFlexibleIp(false)
.build());
}
}
resources:
base:
type: scaleway:Loadbalancer
properties:
name: private-lb
type: LB-S
assignFlexibleIp: false
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,
],
name: "ipv6-lb",
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,
],
name="ipv6-lb",
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(),
},
Name: pulumi.String("ipv6-lb"),
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,
},
Name = "ipv6-lb",
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())
.name("ipv6-lb")
.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}
name: ipv6-lb
type: LB-S
With IPAM IDs
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const vpc01 = new scaleway.Vpc("vpc01", {name: "my vpc"});
const pn01 = new scaleway.VpcPrivateNetwork("pn01", {
vpcId: vpc01.id,
ipv4Subnet: {
subnet: "172.16.32.0/22",
},
});
const ip01 = new scaleway.IpamIp("ip01", {
address: "172.16.32.7",
sources: [{
privateNetworkId: pn01.id,
}],
});
const v4 = new scaleway.LoadbalancerIp("v4", {});
const main = new scaleway.Loadbalancer("main", {
ipIds: [v4.id],
name: "my-lb",
type: "LB-S",
privateNetworks: [{
privateNetworkId: pn01.id,
ipamIds: ip01.id,
}],
});
import pulumi
import pulumiverse_scaleway as scaleway
vpc01 = scaleway.Vpc("vpc01", name="my vpc")
pn01 = scaleway.VpcPrivateNetwork("pn01",
vpc_id=vpc01.id,
ipv4_subnet={
"subnet": "172.16.32.0/22",
})
ip01 = scaleway.IpamIp("ip01",
address="172.16.32.7",
sources=[{
"private_network_id": pn01.id,
}])
v4 = scaleway.LoadbalancerIp("v4")
main = scaleway.Loadbalancer("main",
ip_ids=[v4.id],
name="my-lb",
type="LB-S",
private_networks=[{
"private_network_id": pn01.id,
"ipam_ids": ip01.id,
}])
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 {
vpc01, err := scaleway.NewVpc(ctx, "vpc01", &scaleway.VpcArgs{
Name: pulumi.String("my vpc"),
})
if err != nil {
return err
}
pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{
VpcId: vpc01.ID(),
Ipv4Subnet: &scaleway.VpcPrivateNetworkIpv4SubnetArgs{
Subnet: pulumi.String("172.16.32.0/22"),
},
})
if err != nil {
return err
}
ip01, err := scaleway.NewIpamIp(ctx, "ip01", &scaleway.IpamIpArgs{
Address: pulumi.String("172.16.32.7"),
Sources: scaleway.IpamIpSourceArray{
&scaleway.IpamIpSourceArgs{
PrivateNetworkId: pn01.ID(),
},
},
})
if err != nil {
return err
}
v4, err := scaleway.NewLoadbalancerIp(ctx, "v4", nil)
if err != nil {
return err
}
_, err = scaleway.NewLoadbalancer(ctx, "main", &scaleway.LoadbalancerArgs{
IpIds: pulumi.StringArray{
v4.ID(),
},
Name: pulumi.String("my-lb"),
Type: pulumi.String("LB-S"),
PrivateNetworks: scaleway.LoadbalancerPrivateNetworkArray{
&scaleway.LoadbalancerPrivateNetworkArgs{
PrivateNetworkId: pn01.ID(),
IpamIds: ip01.ID(),
},
},
})
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 vpc01 = new Scaleway.Vpc("vpc01", new()
{
Name = "my vpc",
});
var pn01 = new Scaleway.VpcPrivateNetwork("pn01", new()
{
VpcId = vpc01.Id,
Ipv4Subnet = new Scaleway.Inputs.VpcPrivateNetworkIpv4SubnetArgs
{
Subnet = "172.16.32.0/22",
},
});
var ip01 = new Scaleway.IpamIp("ip01", new()
{
Address = "172.16.32.7",
Sources = new[]
{
new Scaleway.Inputs.IpamIpSourceArgs
{
PrivateNetworkId = pn01.Id,
},
},
});
var v4 = new Scaleway.LoadbalancerIp("v4");
var main = new Scaleway.Loadbalancer("main", new()
{
IpIds = new[]
{
v4.Id,
},
Name = "my-lb",
Type = "LB-S",
PrivateNetworks = new[]
{
new Scaleway.Inputs.LoadbalancerPrivateNetworkArgs
{
PrivateNetworkId = pn01.Id,
IpamIds = ip01.Id,
},
},
});
});
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.VpcArgs;
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", VpcArgs.builder()
.name("my vpc")
.build());
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())
.name("my-lb")
.type("LB-S")
.privateNetworks(LoadbalancerPrivateNetworkArgs.builder()
.privateNetworkId(pn01.id())
.ipamIds(ip01.id())
.build())
.build());
}
}
resources:
vpc01:
type: scaleway:Vpc
properties:
name: my 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}
name: my-lb
type: LB-S
privateNetworks:
- privateNetworkId: ${pn01.id}
ipamIds: ${ip01.id}
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", {
zone: "fr-par-1",
type: "LB-S",
});
import pulumi
import pulumiverse_scaleway as scaleway
main = scaleway.Loadbalancer("main",
zone="fr-par-1",
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, "main", &scaleway.LoadbalancerArgs{
Zone: pulumi.String("fr-par-1"),
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.Loadbalancer("main", new()
{
Zone = "fr-par-1",
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 main = new Loadbalancer("main", LoadbalancerArgs.builder()
.zone("fr-par-1")
.type("LB-S")
.build());
}
}
resources:
main:
type: scaleway:Loadbalancer
properties:
zone: fr-par-1
type: LB-S
You will need to update it to:
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const main = new scaleway.LoadbalancerIp("main", {});
const mainLoadbalancer = new scaleway.Loadbalancer("main", {
ipId: main.id,
zone: "fr-par-1",
type: "LB-S",
releaseIp: false,
});
import pulumi
import pulumiverse_scaleway as scaleway
main = scaleway.LoadbalancerIp("main")
main_loadbalancer = scaleway.Loadbalancer("main",
ip_id=main.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 {
main, err := scaleway.NewLoadbalancerIp(ctx, "main", nil)
if err != nil {
return err
}
_, err = scaleway.NewLoadbalancer(ctx, "main", &scaleway.LoadbalancerArgs{
IpId: main.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 main = new Scaleway.LoadbalancerIp("main");
var mainLoadbalancer = new Scaleway.Loadbalancer("main", new()
{
IpId = main.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 main = new LoadbalancerIp("main");
var mainLoadbalancer = new Loadbalancer("mainLoadbalancer", LoadbalancerArgs.builder()
.ipId(main.id())
.zone("fr-par-1")
.type("LB-S")
.releaseIp(false)
.build());
}
}
resources:
main:
type: scaleway:LoadbalancerIp
mainLoadbalancer:
type: scaleway:Loadbalancer
name: main
properties:
ipId: ${main.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",
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"),
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")
.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=[{
"private_network_id": "string",
"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",
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:
- 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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
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 - (Deprecated) Please use
ipam_ids
. Set totrue
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 - (Deprecated) Please use
ipam_ids
. Set totrue
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 - (Deprecated) Please use
ipam_ids
. Set totrue
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 - (Deprecated) Please use
ipam_ids
. Set totrue
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 - (Deprecated) Please use
ipam_ids
. Set totrue
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 - (Deprecated) Please use
ipam_ids
. Set totrue
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.