scaleway.DatabaseInstance
Explore with Pulumi AI
Creates and manages Scaleway Database Instances. For more information, see the documentation.
Examples
Example Basic
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@lbrlabs/pulumi-scaleway";
const main = new scaleway.DatabaseInstance("main", {
disableBackup: true,
engine: "PostgreSQL-11",
isHaCluster: true,
nodeType: "DB-DEV-S",
password: "thiZ_is_v&ry_s3cret",
userName: "my_initial_user",
});
import pulumi
import lbrlabs_pulumi_scaleway as scaleway
main = scaleway.DatabaseInstance("main",
disable_backup=True,
engine="PostgreSQL-11",
is_ha_cluster=True,
node_type="DB-DEV-S",
password="thiZ_is_v&ry_s3cret",
user_name="my_initial_user")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Lbrlabs.PulumiPackage.Scaleway;
return await Deployment.RunAsync(() =>
{
var main = new Scaleway.DatabaseInstance("main", new()
{
DisableBackup = true,
Engine = "PostgreSQL-11",
IsHaCluster = true,
NodeType = "DB-DEV-S",
Password = "thiZ_is_v&ry_s3cret",
UserName = "my_initial_user",
});
});
package main
import (
"github.com/lbrlabs/pulumi-scaleway/sdk/go/scaleway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := scaleway.NewDatabaseInstance(ctx, "main", &scaleway.DatabaseInstanceArgs{
DisableBackup: pulumi.Bool(true),
Engine: pulumi.String("PostgreSQL-11"),
IsHaCluster: pulumi.Bool(true),
NodeType: pulumi.String("DB-DEV-S"),
Password: pulumi.String("thiZ_is_v&ry_s3cret"),
UserName: pulumi.String("my_initial_user"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.DatabaseInstance;
import com.pulumi.scaleway.DatabaseInstanceArgs;
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 DatabaseInstance("main", DatabaseInstanceArgs.builder()
.disableBackup(true)
.engine("PostgreSQL-11")
.isHaCluster(true)
.nodeType("DB-DEV-S")
.password("thiZ_is_v&ry_s3cret")
.userName("my_initial_user")
.build());
}
}
resources:
main:
type: scaleway:DatabaseInstance
properties:
disableBackup: true
engine: PostgreSQL-11
isHaCluster: true
nodeType: DB-DEV-S
password: thiZ_is_v&ry_s3cret
userName: my_initial_user
Example With IPAM
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@lbrlabs/pulumi-scaleway";
const pn = new scaleway.VpcPrivateNetwork("pn", {});
const main = new scaleway.DatabaseInstance("main", {
nodeType: "DB-DEV-S",
engine: "PostgreSQL-11",
isHaCluster: true,
disableBackup: true,
userName: "my_initial_user",
password: "thiZ_is_v&ry_s3cret",
privateNetwork: {
pnId: pn.id,
},
});
import pulumi
import lbrlabs_pulumi_scaleway as scaleway
pn = scaleway.VpcPrivateNetwork("pn")
main = scaleway.DatabaseInstance("main",
node_type="DB-DEV-S",
engine="PostgreSQL-11",
is_ha_cluster=True,
disable_backup=True,
user_name="my_initial_user",
password="thiZ_is_v&ry_s3cret",
private_network=scaleway.DatabaseInstancePrivateNetworkArgs(
pn_id=pn.id,
))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Lbrlabs.PulumiPackage.Scaleway;
return await Deployment.RunAsync(() =>
{
var pn = new Scaleway.VpcPrivateNetwork("pn");
var main = new Scaleway.DatabaseInstance("main", new()
{
NodeType = "DB-DEV-S",
Engine = "PostgreSQL-11",
IsHaCluster = true,
DisableBackup = true,
UserName = "my_initial_user",
Password = "thiZ_is_v&ry_s3cret",
PrivateNetwork = new Scaleway.Inputs.DatabaseInstancePrivateNetworkArgs
{
PnId = pn.Id,
},
});
});
package main
import (
"github.com/lbrlabs/pulumi-scaleway/sdk/go/scaleway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
pn, err := scaleway.NewVpcPrivateNetwork(ctx, "pn", nil)
if err != nil {
return err
}
_, err = scaleway.NewDatabaseInstance(ctx, "main", &scaleway.DatabaseInstanceArgs{
NodeType: pulumi.String("DB-DEV-S"),
Engine: pulumi.String("PostgreSQL-11"),
IsHaCluster: pulumi.Bool(true),
DisableBackup: pulumi.Bool(true),
UserName: pulumi.String("my_initial_user"),
Password: pulumi.String("thiZ_is_v&ry_s3cret"),
PrivateNetwork: &scaleway.DatabaseInstancePrivateNetworkArgs{
PnId: pn.ID(),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.VpcPrivateNetwork;
import com.pulumi.scaleway.DatabaseInstance;
import com.pulumi.scaleway.DatabaseInstanceArgs;
import com.pulumi.scaleway.inputs.DatabaseInstancePrivateNetworkArgs;
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 pn = new VpcPrivateNetwork("pn");
var main = new DatabaseInstance("main", DatabaseInstanceArgs.builder()
.nodeType("DB-DEV-S")
.engine("PostgreSQL-11")
.isHaCluster(true)
.disableBackup(true)
.userName("my_initial_user")
.password("thiZ_is_v&ry_s3cret")
.privateNetwork(DatabaseInstancePrivateNetworkArgs.builder()
.pnId(pn.id())
.build())
.build());
}
}
resources:
pn:
type: scaleway:VpcPrivateNetwork
main:
type: scaleway:DatabaseInstance
properties:
nodeType: DB-DEV-S
engine: PostgreSQL-11
isHaCluster: true
disableBackup: true
userName: my_initial_user
password: thiZ_is_v&ry_s3cret
privateNetwork:
pnId: ${pn.id}
Example with Settings
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@lbrlabs/pulumi-scaleway";
const main = new scaleway.DatabaseInstance("main", {
disableBackup: true,
engine: "MySQL-8",
initSettings: {
lower_case_table_names: "1",
},
nodeType: "db-dev-s",
password: "thiZ_is_v&ry_s3cret",
settings: {
max_connections: "350",
},
userName: "my_initial_user",
});
import pulumi
import lbrlabs_pulumi_scaleway as scaleway
main = scaleway.DatabaseInstance("main",
disable_backup=True,
engine="MySQL-8",
init_settings={
"lower_case_table_names": "1",
},
node_type="db-dev-s",
password="thiZ_is_v&ry_s3cret",
settings={
"max_connections": "350",
},
user_name="my_initial_user")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Lbrlabs.PulumiPackage.Scaleway;
return await Deployment.RunAsync(() =>
{
var main = new Scaleway.DatabaseInstance("main", new()
{
DisableBackup = true,
Engine = "MySQL-8",
InitSettings =
{
{ "lower_case_table_names", "1" },
},
NodeType = "db-dev-s",
Password = "thiZ_is_v&ry_s3cret",
Settings =
{
{ "max_connections", "350" },
},
UserName = "my_initial_user",
});
});
package main
import (
"github.com/lbrlabs/pulumi-scaleway/sdk/go/scaleway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := scaleway.NewDatabaseInstance(ctx, "main", &scaleway.DatabaseInstanceArgs{
DisableBackup: pulumi.Bool(true),
Engine: pulumi.String("MySQL-8"),
InitSettings: pulumi.StringMap{
"lower_case_table_names": pulumi.String("1"),
},
NodeType: pulumi.String("db-dev-s"),
Password: pulumi.String("thiZ_is_v&ry_s3cret"),
Settings: pulumi.StringMap{
"max_connections": pulumi.String("350"),
},
UserName: pulumi.String("my_initial_user"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.DatabaseInstance;
import com.pulumi.scaleway.DatabaseInstanceArgs;
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 DatabaseInstance("main", DatabaseInstanceArgs.builder()
.disableBackup(true)
.engine("MySQL-8")
.initSettings(Map.of("lower_case_table_names", 1))
.nodeType("db-dev-s")
.password("thiZ_is_v&ry_s3cret")
.settings(Map.of("max_connections", "350"))
.userName("my_initial_user")
.build());
}
}
resources:
main:
type: scaleway:DatabaseInstance
properties:
disableBackup: true
engine: MySQL-8
initSettings:
lower_case_table_names: 1
nodeType: db-dev-s
password: thiZ_is_v&ry_s3cret
settings:
max_connections: '350'
userName: my_initial_user
Example with backup schedule
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@lbrlabs/pulumi-scaleway";
const main = new scaleway.DatabaseInstance("main", {
backupScheduleFrequency: 24,
backupScheduleRetention: 7,
disableBackup: false,
engine: "PostgreSQL-11",
isHaCluster: true,
nodeType: "DB-DEV-S",
password: "thiZ_is_v&ry_s3cret",
userName: "my_initial_user",
});
import pulumi
import lbrlabs_pulumi_scaleway as scaleway
main = scaleway.DatabaseInstance("main",
backup_schedule_frequency=24,
backup_schedule_retention=7,
disable_backup=False,
engine="PostgreSQL-11",
is_ha_cluster=True,
node_type="DB-DEV-S",
password="thiZ_is_v&ry_s3cret",
user_name="my_initial_user")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Lbrlabs.PulumiPackage.Scaleway;
return await Deployment.RunAsync(() =>
{
var main = new Scaleway.DatabaseInstance("main", new()
{
BackupScheduleFrequency = 24,
BackupScheduleRetention = 7,
DisableBackup = false,
Engine = "PostgreSQL-11",
IsHaCluster = true,
NodeType = "DB-DEV-S",
Password = "thiZ_is_v&ry_s3cret",
UserName = "my_initial_user",
});
});
package main
import (
"github.com/lbrlabs/pulumi-scaleway/sdk/go/scaleway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := scaleway.NewDatabaseInstance(ctx, "main", &scaleway.DatabaseInstanceArgs{
BackupScheduleFrequency: pulumi.Int(24),
BackupScheduleRetention: pulumi.Int(7),
DisableBackup: pulumi.Bool(false),
Engine: pulumi.String("PostgreSQL-11"),
IsHaCluster: pulumi.Bool(true),
NodeType: pulumi.String("DB-DEV-S"),
Password: pulumi.String("thiZ_is_v&ry_s3cret"),
UserName: pulumi.String("my_initial_user"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.DatabaseInstance;
import com.pulumi.scaleway.DatabaseInstanceArgs;
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 DatabaseInstance("main", DatabaseInstanceArgs.builder()
.backupScheduleFrequency(24)
.backupScheduleRetention(7)
.disableBackup(false)
.engine("PostgreSQL-11")
.isHaCluster(true)
.nodeType("DB-DEV-S")
.password("thiZ_is_v&ry_s3cret")
.userName("my_initial_user")
.build());
}
}
resources:
main:
type: scaleway:DatabaseInstance
properties:
backupScheduleFrequency: 24
# every day
backupScheduleRetention: 7
# keep it one week
disableBackup: false
engine: PostgreSQL-11
isHaCluster: true
nodeType: DB-DEV-S
password: thiZ_is_v&ry_s3cret
userName: my_initial_user
Example with private network and dhcp configuration
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@lbrlabs/pulumi-scaleway";
const pn02 = new scaleway.VpcPrivateNetwork("pn02", {});
const mainVpcPublicGatewayDhcp = new scaleway.VpcPublicGatewayDhcp("mainVpcPublicGatewayDhcp", {subnet: "192.168.1.0/24"});
const mainVpcPublicGatewayIp = new scaleway.VpcPublicGatewayIp("mainVpcPublicGatewayIp", {});
const mainVpcPublicGateway = new scaleway.VpcPublicGateway("mainVpcPublicGateway", {
type: "VPC-GW-S",
ipId: mainVpcPublicGatewayIp.id,
});
const mainVpcGatewayNetwork = new scaleway.VpcGatewayNetwork("mainVpcGatewayNetwork", {
gatewayId: mainVpcPublicGateway.id,
privateNetworkId: pn02.id,
dhcpId: mainVpcPublicGatewayDhcp.id,
cleanupDhcp: true,
enableMasquerade: true,
}, {
dependsOn: [
mainVpcPublicGatewayIp,
pn02,
],
});
const mainDatabaseInstance = new scaleway.DatabaseInstance("mainDatabaseInstance", {
nodeType: "db-dev-s",
engine: "PostgreSQL-11",
isHaCluster: false,
disableBackup: true,
userName: "my_initial_user",
password: "thiZ_is_v&ry_s3cret",
region: "fr-par",
tags: [
"terraform-test",
"scaleway_rdb_instance",
"volume",
"rdb_pn",
],
volumeType: "bssd",
volumeSizeInGb: 10,
privateNetwork: {
ipNet: "192.168.1.254/24",
pnId: pn02.id,
},
});
const mainVpcPublicGatewayPatRule = new scaleway.VpcPublicGatewayPatRule("mainVpcPublicGatewayPatRule", {
gatewayId: mainVpcPublicGateway.id,
privateIp: mainVpcPublicGatewayDhcp.address,
privatePort: mainDatabaseInstance.privateNetwork.apply(privateNetwork => privateNetwork?.port),
publicPort: 42,
protocol: "both",
}, {
dependsOn: [
mainVpcGatewayNetwork,
pn02,
],
});
import pulumi
import lbrlabs_pulumi_scaleway as scaleway
pn02 = scaleway.VpcPrivateNetwork("pn02")
main_vpc_public_gateway_dhcp = scaleway.VpcPublicGatewayDhcp("mainVpcPublicGatewayDhcp", subnet="192.168.1.0/24")
main_vpc_public_gateway_ip = scaleway.VpcPublicGatewayIp("mainVpcPublicGatewayIp")
main_vpc_public_gateway = scaleway.VpcPublicGateway("mainVpcPublicGateway",
type="VPC-GW-S",
ip_id=main_vpc_public_gateway_ip.id)
main_vpc_gateway_network = scaleway.VpcGatewayNetwork("mainVpcGatewayNetwork",
gateway_id=main_vpc_public_gateway.id,
private_network_id=pn02.id,
dhcp_id=main_vpc_public_gateway_dhcp.id,
cleanup_dhcp=True,
enable_masquerade=True,
opts=pulumi.ResourceOptions(depends_on=[
main_vpc_public_gateway_ip,
pn02,
]))
main_database_instance = scaleway.DatabaseInstance("mainDatabaseInstance",
node_type="db-dev-s",
engine="PostgreSQL-11",
is_ha_cluster=False,
disable_backup=True,
user_name="my_initial_user",
password="thiZ_is_v&ry_s3cret",
region="fr-par",
tags=[
"terraform-test",
"scaleway_rdb_instance",
"volume",
"rdb_pn",
],
volume_type="bssd",
volume_size_in_gb=10,
private_network=scaleway.DatabaseInstancePrivateNetworkArgs(
ip_net="192.168.1.254/24",
pn_id=pn02.id,
))
main_vpc_public_gateway_pat_rule = scaleway.VpcPublicGatewayPatRule("mainVpcPublicGatewayPatRule",
gateway_id=main_vpc_public_gateway.id,
private_ip=main_vpc_public_gateway_dhcp.address,
private_port=main_database_instance.private_network.port,
public_port=42,
protocol="both",
opts=pulumi.ResourceOptions(depends_on=[
main_vpc_gateway_network,
pn02,
]))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Lbrlabs.PulumiPackage.Scaleway;
return await Deployment.RunAsync(() =>
{
var pn02 = new Scaleway.VpcPrivateNetwork("pn02");
var mainVpcPublicGatewayDhcp = new Scaleway.VpcPublicGatewayDhcp("mainVpcPublicGatewayDhcp", new()
{
Subnet = "192.168.1.0/24",
});
var mainVpcPublicGatewayIp = new Scaleway.VpcPublicGatewayIp("mainVpcPublicGatewayIp");
var mainVpcPublicGateway = new Scaleway.VpcPublicGateway("mainVpcPublicGateway", new()
{
Type = "VPC-GW-S",
IpId = mainVpcPublicGatewayIp.Id,
});
var mainVpcGatewayNetwork = new Scaleway.VpcGatewayNetwork("mainVpcGatewayNetwork", new()
{
GatewayId = mainVpcPublicGateway.Id,
PrivateNetworkId = pn02.Id,
DhcpId = mainVpcPublicGatewayDhcp.Id,
CleanupDhcp = true,
EnableMasquerade = true,
}, new CustomResourceOptions
{
DependsOn = new[]
{
mainVpcPublicGatewayIp,
pn02,
},
});
var mainDatabaseInstance = new Scaleway.DatabaseInstance("mainDatabaseInstance", new()
{
NodeType = "db-dev-s",
Engine = "PostgreSQL-11",
IsHaCluster = false,
DisableBackup = true,
UserName = "my_initial_user",
Password = "thiZ_is_v&ry_s3cret",
Region = "fr-par",
Tags = new[]
{
"terraform-test",
"scaleway_rdb_instance",
"volume",
"rdb_pn",
},
VolumeType = "bssd",
VolumeSizeInGb = 10,
PrivateNetwork = new Scaleway.Inputs.DatabaseInstancePrivateNetworkArgs
{
IpNet = "192.168.1.254/24",
PnId = pn02.Id,
},
});
var mainVpcPublicGatewayPatRule = new Scaleway.VpcPublicGatewayPatRule("mainVpcPublicGatewayPatRule", new()
{
GatewayId = mainVpcPublicGateway.Id,
PrivateIp = mainVpcPublicGatewayDhcp.Address,
PrivatePort = mainDatabaseInstance.PrivateNetwork.Apply(privateNetwork => privateNetwork?.Port),
PublicPort = 42,
Protocol = "both",
}, new CustomResourceOptions
{
DependsOn = new[]
{
mainVpcGatewayNetwork,
pn02,
},
});
});
package main
import (
"github.com/lbrlabs/pulumi-scaleway/sdk/go/scaleway"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
pn02, err := scaleway.NewVpcPrivateNetwork(ctx, "pn02", nil)
if err != nil {
return err
}
mainVpcPublicGatewayDhcp, err := scaleway.NewVpcPublicGatewayDhcp(ctx, "mainVpcPublicGatewayDhcp", &scaleway.VpcPublicGatewayDhcpArgs{
Subnet: pulumi.String("192.168.1.0/24"),
})
if err != nil {
return err
}
mainVpcPublicGatewayIp, err := scaleway.NewVpcPublicGatewayIp(ctx, "mainVpcPublicGatewayIp", nil)
if err != nil {
return err
}
mainVpcPublicGateway, err := scaleway.NewVpcPublicGateway(ctx, "mainVpcPublicGateway", &scaleway.VpcPublicGatewayArgs{
Type: pulumi.String("VPC-GW-S"),
IpId: mainVpcPublicGatewayIp.ID(),
})
if err != nil {
return err
}
mainVpcGatewayNetwork, err := scaleway.NewVpcGatewayNetwork(ctx, "mainVpcGatewayNetwork", &scaleway.VpcGatewayNetworkArgs{
GatewayId: mainVpcPublicGateway.ID(),
PrivateNetworkId: pn02.ID(),
DhcpId: mainVpcPublicGatewayDhcp.ID(),
CleanupDhcp: pulumi.Bool(true),
EnableMasquerade: pulumi.Bool(true),
}, pulumi.DependsOn([]pulumi.Resource{
mainVpcPublicGatewayIp,
pn02,
}))
if err != nil {
return err
}
mainDatabaseInstance, err := scaleway.NewDatabaseInstance(ctx, "mainDatabaseInstance", &scaleway.DatabaseInstanceArgs{
NodeType: pulumi.String("db-dev-s"),
Engine: pulumi.String("PostgreSQL-11"),
IsHaCluster: pulumi.Bool(false),
DisableBackup: pulumi.Bool(true),
UserName: pulumi.String("my_initial_user"),
Password: pulumi.String("thiZ_is_v&ry_s3cret"),
Region: pulumi.String("fr-par"),
Tags: pulumi.StringArray{
pulumi.String("terraform-test"),
pulumi.String("scaleway_rdb_instance"),
pulumi.String("volume"),
pulumi.String("rdb_pn"),
},
VolumeType: pulumi.String("bssd"),
VolumeSizeInGb: pulumi.Int(10),
PrivateNetwork: &scaleway.DatabaseInstancePrivateNetworkArgs{
IpNet: pulumi.String("192.168.1.254/24"),
PnId: pn02.ID(),
},
})
if err != nil {
return err
}
_, err = scaleway.NewVpcPublicGatewayPatRule(ctx, "mainVpcPublicGatewayPatRule", &scaleway.VpcPublicGatewayPatRuleArgs{
GatewayId: mainVpcPublicGateway.ID(),
PrivateIp: mainVpcPublicGatewayDhcp.Address,
PrivatePort: mainDatabaseInstance.PrivateNetwork.ApplyT(func(privateNetwork scaleway.DatabaseInstancePrivateNetwork) (*int, error) {
return &privateNetwork.Port, nil
}).(pulumi.IntPtrOutput),
PublicPort: pulumi.Int(42),
Protocol: pulumi.String("both"),
}, pulumi.DependsOn([]pulumi.Resource{
mainVpcGatewayNetwork,
pn02,
}))
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.VpcPrivateNetwork;
import com.pulumi.scaleway.VpcPublicGatewayDhcp;
import com.pulumi.scaleway.VpcPublicGatewayDhcpArgs;
import com.pulumi.scaleway.VpcPublicGatewayIp;
import com.pulumi.scaleway.VpcPublicGateway;
import com.pulumi.scaleway.VpcPublicGatewayArgs;
import com.pulumi.scaleway.VpcGatewayNetwork;
import com.pulumi.scaleway.VpcGatewayNetworkArgs;
import com.pulumi.scaleway.DatabaseInstance;
import com.pulumi.scaleway.DatabaseInstanceArgs;
import com.pulumi.scaleway.inputs.DatabaseInstancePrivateNetworkArgs;
import com.pulumi.scaleway.VpcPublicGatewayPatRule;
import com.pulumi.scaleway.VpcPublicGatewayPatRuleArgs;
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) {
var pn02 = new VpcPrivateNetwork("pn02");
var mainVpcPublicGatewayDhcp = new VpcPublicGatewayDhcp("mainVpcPublicGatewayDhcp", VpcPublicGatewayDhcpArgs.builder()
.subnet("192.168.1.0/24")
.build());
var mainVpcPublicGatewayIp = new VpcPublicGatewayIp("mainVpcPublicGatewayIp");
var mainVpcPublicGateway = new VpcPublicGateway("mainVpcPublicGateway", VpcPublicGatewayArgs.builder()
.type("VPC-GW-S")
.ipId(mainVpcPublicGatewayIp.id())
.build());
var mainVpcGatewayNetwork = new VpcGatewayNetwork("mainVpcGatewayNetwork", VpcGatewayNetworkArgs.builder()
.gatewayId(mainVpcPublicGateway.id())
.privateNetworkId(pn02.id())
.dhcpId(mainVpcPublicGatewayDhcp.id())
.cleanupDhcp(true)
.enableMasquerade(true)
.build(), CustomResourceOptions.builder()
.dependsOn(
mainVpcPublicGatewayIp,
pn02)
.build());
var mainDatabaseInstance = new DatabaseInstance("mainDatabaseInstance", DatabaseInstanceArgs.builder()
.nodeType("db-dev-s")
.engine("PostgreSQL-11")
.isHaCluster(false)
.disableBackup(true)
.userName("my_initial_user")
.password("thiZ_is_v&ry_s3cret")
.region("fr-par")
.tags(
"terraform-test",
"scaleway_rdb_instance",
"volume",
"rdb_pn")
.volumeType("bssd")
.volumeSizeInGb(10)
.privateNetwork(DatabaseInstancePrivateNetworkArgs.builder()
.ipNet("192.168.1.254/24")
.pnId(pn02.id())
.build())
.build());
var mainVpcPublicGatewayPatRule = new VpcPublicGatewayPatRule("mainVpcPublicGatewayPatRule", VpcPublicGatewayPatRuleArgs.builder()
.gatewayId(mainVpcPublicGateway.id())
.privateIp(mainVpcPublicGatewayDhcp.address())
.privatePort(mainDatabaseInstance.privateNetwork().applyValue(privateNetwork -> privateNetwork.port()))
.publicPort(42)
.protocol("both")
.build(), CustomResourceOptions.builder()
.dependsOn(
mainVpcGatewayNetwork,
pn02)
.build());
}
}
resources:
pn02:
type: scaleway:VpcPrivateNetwork
mainVpcPublicGatewayDhcp:
type: scaleway:VpcPublicGatewayDhcp
properties:
subnet: 192.168.1.0/24
mainVpcPublicGatewayIp:
type: scaleway:VpcPublicGatewayIp
mainVpcPublicGateway:
type: scaleway:VpcPublicGateway
properties:
type: VPC-GW-S
ipId: ${mainVpcPublicGatewayIp.id}
mainVpcPublicGatewayPatRule:
type: scaleway:VpcPublicGatewayPatRule
properties:
gatewayId: ${mainVpcPublicGateway.id}
privateIp: ${mainVpcPublicGatewayDhcp.address}
privatePort: ${mainDatabaseInstance.privateNetwork.port}
publicPort: 42
protocol: both
options:
dependson:
- ${mainVpcGatewayNetwork}
- ${pn02}
mainVpcGatewayNetwork:
type: scaleway:VpcGatewayNetwork
properties:
gatewayId: ${mainVpcPublicGateway.id}
privateNetworkId: ${pn02.id}
dhcpId: ${mainVpcPublicGatewayDhcp.id}
cleanupDhcp: true
enableMasquerade: true
options:
dependson:
- ${mainVpcPublicGatewayIp}
- ${pn02}
mainDatabaseInstance:
type: scaleway:DatabaseInstance
properties:
nodeType: db-dev-s
engine: PostgreSQL-11
isHaCluster: false
disableBackup: true
userName: my_initial_user
password: thiZ_is_v&ry_s3cret
region: fr-par
tags:
- terraform-test
- scaleway_rdb_instance
- volume
- rdb_pn
volumeType: bssd
volumeSizeInGb: 10
privateNetwork:
ipNet: 192.168.1.254/24
pnId: ${pn02.id}
Settings
Please consult
the GoDoc to list all
available settings
and init_settings
on your node_type
of your convenient.
Private Network
Important: Updates to
private_network
will recreate the attachment Instance.
ip_net
- (Optional) The IP network address within the private subnet. This must be an IPv4 address with a CIDR notation. The IP network address within the private subnet is determined by the IP Address Management (IPAM) service if not set.pn_id
- (Required) The ID of the private network.
Limitations
The Managed Database product is only compliant with the private network in the default availability zone (AZ).
i.e. fr-par-1
, nl-ams-1
, pl-waw-1
. To learn more, read our
section How to connect a PostgreSQL and MySQL Database Instance to a Private Network
Create DatabaseInstance Resource
new DatabaseInstance(name: string, args: DatabaseInstanceArgs, opts?: CustomResourceOptions);
@overload
def DatabaseInstance(resource_name: str,
opts: Optional[ResourceOptions] = None,
backup_same_region: Optional[bool] = None,
backup_schedule_frequency: Optional[int] = None,
backup_schedule_retention: Optional[int] = None,
disable_backup: Optional[bool] = None,
engine: Optional[str] = None,
init_settings: Optional[Mapping[str, str]] = None,
is_ha_cluster: Optional[bool] = None,
name: Optional[str] = None,
node_type: Optional[str] = None,
password: Optional[str] = None,
private_network: Optional[DatabaseInstancePrivateNetworkArgs] = None,
project_id: Optional[str] = None,
region: Optional[str] = None,
settings: Optional[Mapping[str, str]] = None,
tags: Optional[Sequence[str]] = None,
user_name: Optional[str] = None,
volume_size_in_gb: Optional[int] = None,
volume_type: Optional[str] = None)
@overload
def DatabaseInstance(resource_name: str,
args: DatabaseInstanceArgs,
opts: Optional[ResourceOptions] = None)
func NewDatabaseInstance(ctx *Context, name string, args DatabaseInstanceArgs, opts ...ResourceOption) (*DatabaseInstance, error)
public DatabaseInstance(string name, DatabaseInstanceArgs args, CustomResourceOptions? opts = null)
public DatabaseInstance(String name, DatabaseInstanceArgs args)
public DatabaseInstance(String name, DatabaseInstanceArgs args, CustomResourceOptions options)
type: scaleway:DatabaseInstance
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DatabaseInstanceArgs
- 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 DatabaseInstanceArgs
- 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 DatabaseInstanceArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DatabaseInstanceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args DatabaseInstanceArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
DatabaseInstance 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 DatabaseInstance resource accepts the following input properties:
- Engine string
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- Node
Type string The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- Backup
Same boolRegion Boolean to store logical backups in the same region as the database instance.
- Backup
Schedule intFrequency Backup schedule frequency in hours.
- Backup
Schedule intRetention Backup schedule retention in days.
- Disable
Backup bool Disable automated backup for the database instance.
- Init
Settings Dictionary<string, string> Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- Is
Ha boolCluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- Name string
The name of the Database Instance.
- Password string
Password for the first user of the database instance.
- Private
Network Lbrlabs.Pulumi Package. Scaleway. Inputs. Database Instance Private Network List of private networks endpoints of the database instance.
- Project
Id string project_id
) The ID of the project the Database Instance is associated with.- Region string
region
) The region in which the Database Instance should be created.- Settings Dictionary<string, string>
Map of engine settings to be set. Using this option will override default config.
- List<string>
The tags associated with the Database Instance.
- User
Name string Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- Volume
Size intIn Gb Volume size (in GB) when
volume_type
is set tobssd
.- Volume
Type string Type of volume where data are stored (
bssd
orlssd
).
- Engine string
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- Node
Type string The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- Backup
Same boolRegion Boolean to store logical backups in the same region as the database instance.
- Backup
Schedule intFrequency Backup schedule frequency in hours.
- Backup
Schedule intRetention Backup schedule retention in days.
- Disable
Backup bool Disable automated backup for the database instance.
- Init
Settings map[string]string Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- Is
Ha boolCluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- Name string
The name of the Database Instance.
- Password string
Password for the first user of the database instance.
- Private
Network DatabaseInstance Private Network Args List of private networks endpoints of the database instance.
- Project
Id string project_id
) The ID of the project the Database Instance is associated with.- Region string
region
) The region in which the Database Instance should be created.- Settings map[string]string
Map of engine settings to be set. Using this option will override default config.
- []string
The tags associated with the Database Instance.
- User
Name string Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- Volume
Size intIn Gb Volume size (in GB) when
volume_type
is set tobssd
.- Volume
Type string Type of volume where data are stored (
bssd
orlssd
).
- engine String
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- node
Type String The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- backup
Same BooleanRegion Boolean to store logical backups in the same region as the database instance.
- backup
Schedule IntegerFrequency Backup schedule frequency in hours.
- backup
Schedule IntegerRetention Backup schedule retention in days.
- disable
Backup Boolean Disable automated backup for the database instance.
- init
Settings Map<String,String> Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- is
Ha BooleanCluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- name String
The name of the Database Instance.
- password String
Password for the first user of the database instance.
- private
Network DatabaseInstance Private Network List of private networks endpoints of the database instance.
- project
Id String project_id
) The ID of the project the Database Instance is associated with.- region String
region
) The region in which the Database Instance should be created.- settings Map<String,String>
Map of engine settings to be set. Using this option will override default config.
- List<String>
The tags associated with the Database Instance.
- user
Name String Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- volume
Size IntegerIn Gb Volume size (in GB) when
volume_type
is set tobssd
.- volume
Type String Type of volume where data are stored (
bssd
orlssd
).
- engine string
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- node
Type string The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- backup
Same booleanRegion Boolean to store logical backups in the same region as the database instance.
- backup
Schedule numberFrequency Backup schedule frequency in hours.
- backup
Schedule numberRetention Backup schedule retention in days.
- disable
Backup boolean Disable automated backup for the database instance.
- init
Settings {[key: string]: string} Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- is
Ha booleanCluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- name string
The name of the Database Instance.
- password string
Password for the first user of the database instance.
- private
Network DatabaseInstance Private Network List of private networks endpoints of the database instance.
- project
Id string project_id
) The ID of the project the Database Instance is associated with.- region string
region
) The region in which the Database Instance should be created.- settings {[key: string]: string}
Map of engine settings to be set. Using this option will override default config.
- string[]
The tags associated with the Database Instance.
- user
Name string Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- volume
Size numberIn Gb Volume size (in GB) when
volume_type
is set tobssd
.- volume
Type string Type of volume where data are stored (
bssd
orlssd
).
- engine str
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- node_
type str The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- backup_
same_ boolregion Boolean to store logical backups in the same region as the database instance.
- backup_
schedule_ intfrequency Backup schedule frequency in hours.
- backup_
schedule_ intretention Backup schedule retention in days.
- disable_
backup bool Disable automated backup for the database instance.
- init_
settings Mapping[str, str] Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- is_
ha_ boolcluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- name str
The name of the Database Instance.
- password str
Password for the first user of the database instance.
- private_
network DatabaseInstance Private Network Args List of private networks endpoints of the database instance.
- project_
id str project_id
) The ID of the project the Database Instance is associated with.- region str
region
) The region in which the Database Instance should be created.- settings Mapping[str, str]
Map of engine settings to be set. Using this option will override default config.
- Sequence[str]
The tags associated with the Database Instance.
- user_
name str Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- volume_
size_ intin_ gb Volume size (in GB) when
volume_type
is set tobssd
.- volume_
type str Type of volume where data are stored (
bssd
orlssd
).
- engine String
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- node
Type String The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- backup
Same BooleanRegion Boolean to store logical backups in the same region as the database instance.
- backup
Schedule NumberFrequency Backup schedule frequency in hours.
- backup
Schedule NumberRetention Backup schedule retention in days.
- disable
Backup Boolean Disable automated backup for the database instance.
- init
Settings Map<String> Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- is
Ha BooleanCluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- name String
The name of the Database Instance.
- password String
Password for the first user of the database instance.
- private
Network Property Map List of private networks endpoints of the database instance.
- project
Id String project_id
) The ID of the project the Database Instance is associated with.- region String
region
) The region in which the Database Instance should be created.- settings Map<String>
Map of engine settings to be set. Using this option will override default config.
- List<String>
The tags associated with the Database Instance.
- user
Name String Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- volume
Size NumberIn Gb Volume size (in GB) when
volume_type
is set tobssd
.- volume
Type String Type of volume where data are stored (
bssd
orlssd
).
Outputs
All input properties are implicitly available as output properties. Additionally, the DatabaseInstance resource produces the following output properties:
- Certificate string
Certificate of the database instance.
- Endpoint
Ip string (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- Endpoint
Port int (Deprecated) The port of the Database Instance.
- Id string
The provider-assigned unique ID for this managed resource.
- Load
Balancers List<Lbrlabs.Pulumi Package. Scaleway. Outputs. Database Instance Load Balancer> List of load balancer endpoints of the database instance.
- Organization
Id string The organization ID the Database Instance is associated with.
- Read
Replicas List<Lbrlabs.Pulumi Package. Scaleway. Outputs. Database Instance Read Replica> List of read replicas of the database instance.
- Certificate string
Certificate of the database instance.
- Endpoint
Ip string (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- Endpoint
Port int (Deprecated) The port of the Database Instance.
- Id string
The provider-assigned unique ID for this managed resource.
- Load
Balancers []DatabaseInstance Load Balancer List of load balancer endpoints of the database instance.
- Organization
Id string The organization ID the Database Instance is associated with.
- Read
Replicas []DatabaseInstance Read Replica List of read replicas of the database instance.
- certificate String
Certificate of the database instance.
- endpoint
Ip String (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- endpoint
Port Integer (Deprecated) The port of the Database Instance.
- id String
The provider-assigned unique ID for this managed resource.
- load
Balancers List<DatabaseInstance Load Balancer> List of load balancer endpoints of the database instance.
- organization
Id String The organization ID the Database Instance is associated with.
- read
Replicas List<DatabaseInstance Read Replica> List of read replicas of the database instance.
- certificate string
Certificate of the database instance.
- endpoint
Ip string (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- endpoint
Port number (Deprecated) The port of the Database Instance.
- id string
The provider-assigned unique ID for this managed resource.
- load
Balancers DatabaseInstance Load Balancer[] List of load balancer endpoints of the database instance.
- organization
Id string The organization ID the Database Instance is associated with.
- read
Replicas DatabaseInstance Read Replica[] List of read replicas of the database instance.
- certificate str
Certificate of the database instance.
- endpoint_
ip str (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- endpoint_
port int (Deprecated) The port of the Database Instance.
- id str
The provider-assigned unique ID for this managed resource.
- load_
balancers Sequence[DatabaseInstance Load Balancer] List of load balancer endpoints of the database instance.
- organization_
id str The organization ID the Database Instance is associated with.
- read_
replicas Sequence[DatabaseInstance Read Replica] List of read replicas of the database instance.
- certificate String
Certificate of the database instance.
- endpoint
Ip String (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- endpoint
Port Number (Deprecated) The port of the Database Instance.
- id String
The provider-assigned unique ID for this managed resource.
- load
Balancers List<Property Map> List of load balancer endpoints of the database instance.
- organization
Id String The organization ID the Database Instance is associated with.
- read
Replicas List<Property Map> List of read replicas of the database instance.
Look up Existing DatabaseInstance Resource
Get an existing DatabaseInstance 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?: DatabaseInstanceState, opts?: CustomResourceOptions): DatabaseInstance
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
backup_same_region: Optional[bool] = None,
backup_schedule_frequency: Optional[int] = None,
backup_schedule_retention: Optional[int] = None,
certificate: Optional[str] = None,
disable_backup: Optional[bool] = None,
endpoint_ip: Optional[str] = None,
endpoint_port: Optional[int] = None,
engine: Optional[str] = None,
init_settings: Optional[Mapping[str, str]] = None,
is_ha_cluster: Optional[bool] = None,
load_balancers: Optional[Sequence[DatabaseInstanceLoadBalancerArgs]] = None,
name: Optional[str] = None,
node_type: Optional[str] = None,
organization_id: Optional[str] = None,
password: Optional[str] = None,
private_network: Optional[DatabaseInstancePrivateNetworkArgs] = None,
project_id: Optional[str] = None,
read_replicas: Optional[Sequence[DatabaseInstanceReadReplicaArgs]] = None,
region: Optional[str] = None,
settings: Optional[Mapping[str, str]] = None,
tags: Optional[Sequence[str]] = None,
user_name: Optional[str] = None,
volume_size_in_gb: Optional[int] = None,
volume_type: Optional[str] = None) -> DatabaseInstance
func GetDatabaseInstance(ctx *Context, name string, id IDInput, state *DatabaseInstanceState, opts ...ResourceOption) (*DatabaseInstance, error)
public static DatabaseInstance Get(string name, Input<string> id, DatabaseInstanceState? state, CustomResourceOptions? opts = null)
public static DatabaseInstance get(String name, Output<String> id, DatabaseInstanceState 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.
- Backup
Same boolRegion Boolean to store logical backups in the same region as the database instance.
- Backup
Schedule intFrequency Backup schedule frequency in hours.
- Backup
Schedule intRetention Backup schedule retention in days.
- Certificate string
Certificate of the database instance.
- Disable
Backup bool Disable automated backup for the database instance.
- Endpoint
Ip string (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- Endpoint
Port int (Deprecated) The port of the Database Instance.
- Engine string
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- Init
Settings Dictionary<string, string> Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- Is
Ha boolCluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- Load
Balancers List<Lbrlabs.Pulumi Package. Scaleway. Inputs. Database Instance Load Balancer> List of load balancer endpoints of the database instance.
- Name string
The name of the Database Instance.
- Node
Type string The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- Organization
Id string The organization ID the Database Instance is associated with.
- Password string
Password for the first user of the database instance.
- Private
Network Lbrlabs.Pulumi Package. Scaleway. Inputs. Database Instance Private Network List of private networks endpoints of the database instance.
- Project
Id string project_id
) The ID of the project the Database Instance is associated with.- Read
Replicas List<Lbrlabs.Pulumi Package. Scaleway. Inputs. Database Instance Read Replica> List of read replicas of the database instance.
- Region string
region
) The region in which the Database Instance should be created.- Settings Dictionary<string, string>
Map of engine settings to be set. Using this option will override default config.
- List<string>
The tags associated with the Database Instance.
- User
Name string Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- Volume
Size intIn Gb Volume size (in GB) when
volume_type
is set tobssd
.- Volume
Type string Type of volume where data are stored (
bssd
orlssd
).
- Backup
Same boolRegion Boolean to store logical backups in the same region as the database instance.
- Backup
Schedule intFrequency Backup schedule frequency in hours.
- Backup
Schedule intRetention Backup schedule retention in days.
- Certificate string
Certificate of the database instance.
- Disable
Backup bool Disable automated backup for the database instance.
- Endpoint
Ip string (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- Endpoint
Port int (Deprecated) The port of the Database Instance.
- Engine string
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- Init
Settings map[string]string Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- Is
Ha boolCluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- Load
Balancers []DatabaseInstance Load Balancer Args List of load balancer endpoints of the database instance.
- Name string
The name of the Database Instance.
- Node
Type string The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- Organization
Id string The organization ID the Database Instance is associated with.
- Password string
Password for the first user of the database instance.
- Private
Network DatabaseInstance Private Network Args List of private networks endpoints of the database instance.
- Project
Id string project_id
) The ID of the project the Database Instance is associated with.- Read
Replicas []DatabaseInstance Read Replica Args List of read replicas of the database instance.
- Region string
region
) The region in which the Database Instance should be created.- Settings map[string]string
Map of engine settings to be set. Using this option will override default config.
- []string
The tags associated with the Database Instance.
- User
Name string Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- Volume
Size intIn Gb Volume size (in GB) when
volume_type
is set tobssd
.- Volume
Type string Type of volume where data are stored (
bssd
orlssd
).
- backup
Same BooleanRegion Boolean to store logical backups in the same region as the database instance.
- backup
Schedule IntegerFrequency Backup schedule frequency in hours.
- backup
Schedule IntegerRetention Backup schedule retention in days.
- certificate String
Certificate of the database instance.
- disable
Backup Boolean Disable automated backup for the database instance.
- endpoint
Ip String (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- endpoint
Port Integer (Deprecated) The port of the Database Instance.
- engine String
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- init
Settings Map<String,String> Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- is
Ha BooleanCluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- load
Balancers List<DatabaseInstance Load Balancer> List of load balancer endpoints of the database instance.
- name String
The name of the Database Instance.
- node
Type String The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- organization
Id String The organization ID the Database Instance is associated with.
- password String
Password for the first user of the database instance.
- private
Network DatabaseInstance Private Network List of private networks endpoints of the database instance.
- project
Id String project_id
) The ID of the project the Database Instance is associated with.- read
Replicas List<DatabaseInstance Read Replica> List of read replicas of the database instance.
- region String
region
) The region in which the Database Instance should be created.- settings Map<String,String>
Map of engine settings to be set. Using this option will override default config.
- List<String>
The tags associated with the Database Instance.
- user
Name String Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- volume
Size IntegerIn Gb Volume size (in GB) when
volume_type
is set tobssd
.- volume
Type String Type of volume where data are stored (
bssd
orlssd
).
- backup
Same booleanRegion Boolean to store logical backups in the same region as the database instance.
- backup
Schedule numberFrequency Backup schedule frequency in hours.
- backup
Schedule numberRetention Backup schedule retention in days.
- certificate string
Certificate of the database instance.
- disable
Backup boolean Disable automated backup for the database instance.
- endpoint
Ip string (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- endpoint
Port number (Deprecated) The port of the Database Instance.
- engine string
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- init
Settings {[key: string]: string} Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- is
Ha booleanCluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- load
Balancers DatabaseInstance Load Balancer[] List of load balancer endpoints of the database instance.
- name string
The name of the Database Instance.
- node
Type string The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- organization
Id string The organization ID the Database Instance is associated with.
- password string
Password for the first user of the database instance.
- private
Network DatabaseInstance Private Network List of private networks endpoints of the database instance.
- project
Id string project_id
) The ID of the project the Database Instance is associated with.- read
Replicas DatabaseInstance Read Replica[] List of read replicas of the database instance.
- region string
region
) The region in which the Database Instance should be created.- settings {[key: string]: string}
Map of engine settings to be set. Using this option will override default config.
- string[]
The tags associated with the Database Instance.
- user
Name string Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- volume
Size numberIn Gb Volume size (in GB) when
volume_type
is set tobssd
.- volume
Type string Type of volume where data are stored (
bssd
orlssd
).
- backup_
same_ boolregion Boolean to store logical backups in the same region as the database instance.
- backup_
schedule_ intfrequency Backup schedule frequency in hours.
- backup_
schedule_ intretention Backup schedule retention in days.
- certificate str
Certificate of the database instance.
- disable_
backup bool Disable automated backup for the database instance.
- endpoint_
ip str (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- endpoint_
port int (Deprecated) The port of the Database Instance.
- engine str
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- init_
settings Mapping[str, str] Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- is_
ha_ boolcluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- load_
balancers Sequence[DatabaseInstance Load Balancer Args] List of load balancer endpoints of the database instance.
- name str
The name of the Database Instance.
- node_
type str The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- organization_
id str The organization ID the Database Instance is associated with.
- password str
Password for the first user of the database instance.
- private_
network DatabaseInstance Private Network Args List of private networks endpoints of the database instance.
- project_
id str project_id
) The ID of the project the Database Instance is associated with.- read_
replicas Sequence[DatabaseInstance Read Replica Args] List of read replicas of the database instance.
- region str
region
) The region in which the Database Instance should be created.- settings Mapping[str, str]
Map of engine settings to be set. Using this option will override default config.
- Sequence[str]
The tags associated with the Database Instance.
- user_
name str Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- volume_
size_ intin_ gb Volume size (in GB) when
volume_type
is set tobssd
.- volume_
type str Type of volume where data are stored (
bssd
orlssd
).
- backup
Same BooleanRegion Boolean to store logical backups in the same region as the database instance.
- backup
Schedule NumberFrequency Backup schedule frequency in hours.
- backup
Schedule NumberRetention Backup schedule retention in days.
- certificate String
Certificate of the database instance.
- disable
Backup Boolean Disable automated backup for the database instance.
- endpoint
Ip String (Deprecated) The IP of the Database Instance.
Please use the private_network or the load_balancer attribute
- endpoint
Port Number (Deprecated) The port of the Database Instance.
- engine String
Database Instance's engine version (e.g.
PostgreSQL-11
).Important: Updates to
engine
will recreate the Database Instance.- init
Settings Map<String> Map of engine settings to be set at database initialisation.
Important: Updates to
init_settings
will recreate the Database Instance.- is
Ha BooleanCluster Enable or disable high availability for the database instance.
Important: Updates to
is_ha_cluster
will recreate the Database Instance.- load
Balancers List<Property Map> List of load balancer endpoints of the database instance.
- name String
The name of the Database Instance.
- node
Type String The type of database instance you want to create (e.g.
db-dev-s
).Important: Updates to
node_type
will upgrade the Database Instance to the desirednode_type
without any interruption. Keep in mind that you cannot downgrade a Database Instance.- organization
Id String The organization ID the Database Instance is associated with.
- password String
Password for the first user of the database instance.
- private
Network Property Map List of private networks endpoints of the database instance.
- project
Id String project_id
) The ID of the project the Database Instance is associated with.- read
Replicas List<Property Map> List of read replicas of the database instance.
- region String
region
) The region in which the Database Instance should be created.- settings Map<String>
Map of engine settings to be set. Using this option will override default config.
- List<String>
The tags associated with the Database Instance.
- user
Name String Identifier for the first user of the database instance.
Important: Updates to
user_name
will recreate the Database Instance.- volume
Size NumberIn Gb Volume size (in GB) when
volume_type
is set tobssd
.- volume
Type String Type of volume where data are stored (
bssd
orlssd
).
Supporting Types
DatabaseInstanceLoadBalancer, DatabaseInstanceLoadBalancerArgs
- Endpoint
Id string The ID of the endpoint of the private network.
- Hostname string
Name of the endpoint.
- Ip string
IP of the endpoint.
- Name string
The name of the Database Instance.
- Port int
Port of the endpoint.
- Endpoint
Id string The ID of the endpoint of the private network.
- Hostname string
Name of the endpoint.
- Ip string
IP of the endpoint.
- Name string
The name of the Database Instance.
- Port int
Port of the endpoint.
- endpoint
Id String The ID of the endpoint of the private network.
- hostname String
Name of the endpoint.
- ip String
IP of the endpoint.
- name String
The name of the Database Instance.
- port Integer
Port of the endpoint.
- endpoint
Id string The ID of the endpoint of the private network.
- hostname string
Name of the endpoint.
- ip string
IP of the endpoint.
- name string
The name of the Database Instance.
- port number
Port of the endpoint.
- endpoint_
id str The ID of the endpoint of the private network.
- hostname str
Name of the endpoint.
- ip str
IP of the endpoint.
- name str
The name of the Database Instance.
- port int
Port of the endpoint.
- endpoint
Id String The ID of the endpoint of the private network.
- hostname String
Name of the endpoint.
- ip String
IP of the endpoint.
- name String
The name of the Database Instance.
- port Number
Port of the endpoint.
DatabaseInstancePrivateNetwork, DatabaseInstancePrivateNetworkArgs
DatabaseInstanceReadReplica, DatabaseInstanceReadReplicaArgs
Import
Database Instance can be imported using the {region}/{id}
, e.g. bash
$ pulumi import scaleway:index/databaseInstance:DatabaseInstance rdb01 fr-par/11111111-1111-1111-1111-111111111111
Package Details
- Repository
- scaleway lbrlabs/pulumi-scaleway
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
scaleway
Terraform Provider.