scaleway.InstanceServer
Explore with Pulumi AI
Creates and manages Scaleway compute Instances. For more information, see the documentation.
Please check our FAQ - Instances.
Example Usage
Basic
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const publicIp = new scaleway.InstanceIp("public_ip", {});
const web = new scaleway.InstanceServer("web", {
type: "DEV1-S",
image: "ubuntu_jammy",
ipId: publicIp.id,
});
import pulumi
import pulumiverse_scaleway as scaleway
public_ip = scaleway.InstanceIp("public_ip")
web = scaleway.InstanceServer("web",
type="DEV1-S",
image="ubuntu_jammy",
ip_id=public_ip.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 {
publicIp, err := scaleway.NewInstanceIp(ctx, "public_ip", nil)
if err != nil {
return err
}
_, err = scaleway.NewInstanceServer(ctx, "web", &scaleway.InstanceServerArgs{
Type: pulumi.String("DEV1-S"),
Image: pulumi.String("ubuntu_jammy"),
IpId: publicIp.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 publicIp = new Scaleway.InstanceIp("public_ip");
var web = new Scaleway.InstanceServer("web", new()
{
Type = "DEV1-S",
Image = "ubuntu_jammy",
IpId = publicIp.Id,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.InstanceIp;
import com.pulumi.scaleway.InstanceServer;
import com.pulumi.scaleway.InstanceServerArgs;
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 publicIp = new InstanceIp("publicIp");
var web = new InstanceServer("web", InstanceServerArgs.builder()
.type("DEV1-S")
.image("ubuntu_jammy")
.ipId(publicIp.id())
.build());
}
}
resources:
publicIp:
type: scaleway:InstanceIp
name: public_ip
web:
type: scaleway:InstanceServer
properties:
type: DEV1-S
image: ubuntu_jammy
ipId: ${publicIp.id}
With additional volumes and tags
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const data = new scaleway.InstanceVolume("data", {
sizeInGb: 100,
type: "b_ssd",
});
const web = new scaleway.InstanceServer("web", {
type: "DEV1-S",
image: "ubuntu_jammy",
tags: [
"hello",
"public",
],
rootVolume: {
deleteOnTermination: false,
},
additionalVolumeIds: [data.id],
});
import pulumi
import pulumiverse_scaleway as scaleway
data = scaleway.InstanceVolume("data",
size_in_gb=100,
type="b_ssd")
web = scaleway.InstanceServer("web",
type="DEV1-S",
image="ubuntu_jammy",
tags=[
"hello",
"public",
],
root_volume={
"delete_on_termination": False,
},
additional_volume_ids=[data.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 {
data, err := scaleway.NewInstanceVolume(ctx, "data", &scaleway.InstanceVolumeArgs{
SizeInGb: pulumi.Int(100),
Type: pulumi.String("b_ssd"),
})
if err != nil {
return err
}
_, err = scaleway.NewInstanceServer(ctx, "web", &scaleway.InstanceServerArgs{
Type: pulumi.String("DEV1-S"),
Image: pulumi.String("ubuntu_jammy"),
Tags: pulumi.StringArray{
pulumi.String("hello"),
pulumi.String("public"),
},
RootVolume: &scaleway.InstanceServerRootVolumeArgs{
DeleteOnTermination: pulumi.Bool(false),
},
AdditionalVolumeIds: pulumi.StringArray{
data.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 data = new Scaleway.InstanceVolume("data", new()
{
SizeInGb = 100,
Type = "b_ssd",
});
var web = new Scaleway.InstanceServer("web", new()
{
Type = "DEV1-S",
Image = "ubuntu_jammy",
Tags = new[]
{
"hello",
"public",
},
RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs
{
DeleteOnTermination = false,
},
AdditionalVolumeIds = new[]
{
data.Id,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.InstanceVolume;
import com.pulumi.scaleway.InstanceVolumeArgs;
import com.pulumi.scaleway.InstanceServer;
import com.pulumi.scaleway.InstanceServerArgs;
import com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;
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 data = new InstanceVolume("data", InstanceVolumeArgs.builder()
.sizeInGb(100)
.type("b_ssd")
.build());
var web = new InstanceServer("web", InstanceServerArgs.builder()
.type("DEV1-S")
.image("ubuntu_jammy")
.tags(
"hello",
"public")
.rootVolume(InstanceServerRootVolumeArgs.builder()
.deleteOnTermination(false)
.build())
.additionalVolumeIds(data.id())
.build());
}
}
resources:
data:
type: scaleway:InstanceVolume
properties:
sizeInGb: 100
type: b_ssd
web:
type: scaleway:InstanceServer
properties:
type: DEV1-S
image: ubuntu_jammy
tags:
- hello
- public
rootVolume:
deleteOnTermination: false
additionalVolumeIds:
- ${data.id}
With a reserved IP
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const ip = new scaleway.InstanceIp("ip", {});
const web = new scaleway.InstanceServer("web", {
type: "DEV1-S",
image: "f974feac-abae-4365-b988-8ec7d1cec10d",
tags: [
"hello",
"public",
],
ipId: ip.id,
});
import pulumi
import pulumiverse_scaleway as scaleway
ip = scaleway.InstanceIp("ip")
web = scaleway.InstanceServer("web",
type="DEV1-S",
image="f974feac-abae-4365-b988-8ec7d1cec10d",
tags=[
"hello",
"public",
],
ip_id=ip.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 {
ip, err := scaleway.NewInstanceIp(ctx, "ip", nil)
if err != nil {
return err
}
_, err = scaleway.NewInstanceServer(ctx, "web", &scaleway.InstanceServerArgs{
Type: pulumi.String("DEV1-S"),
Image: pulumi.String("f974feac-abae-4365-b988-8ec7d1cec10d"),
Tags: pulumi.StringArray{
pulumi.String("hello"),
pulumi.String("public"),
},
IpId: ip.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 ip = new Scaleway.InstanceIp("ip");
var web = new Scaleway.InstanceServer("web", new()
{
Type = "DEV1-S",
Image = "f974feac-abae-4365-b988-8ec7d1cec10d",
Tags = new[]
{
"hello",
"public",
},
IpId = ip.Id,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.InstanceIp;
import com.pulumi.scaleway.InstanceServer;
import com.pulumi.scaleway.InstanceServerArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var ip = new InstanceIp("ip");
var web = new InstanceServer("web", InstanceServerArgs.builder()
.type("DEV1-S")
.image("f974feac-abae-4365-b988-8ec7d1cec10d")
.tags(
"hello",
"public")
.ipId(ip.id())
.build());
}
}
resources:
ip:
type: scaleway:InstanceIp
web:
type: scaleway:InstanceServer
properties:
type: DEV1-S
image: f974feac-abae-4365-b988-8ec7d1cec10d
tags:
- hello
- public
ipId: ${ip.id}
With security group
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const www = new scaleway.InstanceSecurityGroup("www", {
inboundDefaultPolicy: "drop",
outboundDefaultPolicy: "accept",
inboundRules: [
{
action: "accept",
port: 22,
ip: "212.47.225.64",
},
{
action: "accept",
port: 80,
},
{
action: "accept",
port: 443,
},
],
outboundRules: [{
action: "drop",
ipRange: "10.20.0.0/24",
}],
});
const web = new scaleway.InstanceServer("web", {
type: "DEV1-S",
image: "ubuntu_jammy",
securityGroupId: www.id,
});
import pulumi
import pulumiverse_scaleway as scaleway
www = scaleway.InstanceSecurityGroup("www",
inbound_default_policy="drop",
outbound_default_policy="accept",
inbound_rules=[
{
"action": "accept",
"port": 22,
"ip": "212.47.225.64",
},
{
"action": "accept",
"port": 80,
},
{
"action": "accept",
"port": 443,
},
],
outbound_rules=[{
"action": "drop",
"ip_range": "10.20.0.0/24",
}])
web = scaleway.InstanceServer("web",
type="DEV1-S",
image="ubuntu_jammy",
security_group_id=www.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 {
www, err := scaleway.NewInstanceSecurityGroup(ctx, "www", &scaleway.InstanceSecurityGroupArgs{
InboundDefaultPolicy: pulumi.String("drop"),
OutboundDefaultPolicy: pulumi.String("accept"),
InboundRules: scaleway.InstanceSecurityGroupInboundRuleArray{
&scaleway.InstanceSecurityGroupInboundRuleArgs{
Action: pulumi.String("accept"),
Port: pulumi.Int(22),
Ip: pulumi.String("212.47.225.64"),
},
&scaleway.InstanceSecurityGroupInboundRuleArgs{
Action: pulumi.String("accept"),
Port: pulumi.Int(80),
},
&scaleway.InstanceSecurityGroupInboundRuleArgs{
Action: pulumi.String("accept"),
Port: pulumi.Int(443),
},
},
OutboundRules: scaleway.InstanceSecurityGroupOutboundRuleArray{
&scaleway.InstanceSecurityGroupOutboundRuleArgs{
Action: pulumi.String("drop"),
IpRange: pulumi.String("10.20.0.0/24"),
},
},
})
if err != nil {
return err
}
_, err = scaleway.NewInstanceServer(ctx, "web", &scaleway.InstanceServerArgs{
Type: pulumi.String("DEV1-S"),
Image: pulumi.String("ubuntu_jammy"),
SecurityGroupId: www.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 www = new Scaleway.InstanceSecurityGroup("www", new()
{
InboundDefaultPolicy = "drop",
OutboundDefaultPolicy = "accept",
InboundRules = new[]
{
new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs
{
Action = "accept",
Port = 22,
Ip = "212.47.225.64",
},
new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs
{
Action = "accept",
Port = 80,
},
new Scaleway.Inputs.InstanceSecurityGroupInboundRuleArgs
{
Action = "accept",
Port = 443,
},
},
OutboundRules = new[]
{
new Scaleway.Inputs.InstanceSecurityGroupOutboundRuleArgs
{
Action = "drop",
IpRange = "10.20.0.0/24",
},
},
});
var web = new Scaleway.InstanceServer("web", new()
{
Type = "DEV1-S",
Image = "ubuntu_jammy",
SecurityGroupId = www.Id,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.InstanceSecurityGroup;
import com.pulumi.scaleway.InstanceSecurityGroupArgs;
import com.pulumi.scaleway.inputs.InstanceSecurityGroupInboundRuleArgs;
import com.pulumi.scaleway.inputs.InstanceSecurityGroupOutboundRuleArgs;
import com.pulumi.scaleway.InstanceServer;
import com.pulumi.scaleway.InstanceServerArgs;
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 www = new InstanceSecurityGroup("www", InstanceSecurityGroupArgs.builder()
.inboundDefaultPolicy("drop")
.outboundDefaultPolicy("accept")
.inboundRules(
InstanceSecurityGroupInboundRuleArgs.builder()
.action("accept")
.port("22")
.ip("212.47.225.64")
.build(),
InstanceSecurityGroupInboundRuleArgs.builder()
.action("accept")
.port("80")
.build(),
InstanceSecurityGroupInboundRuleArgs.builder()
.action("accept")
.port("443")
.build())
.outboundRules(InstanceSecurityGroupOutboundRuleArgs.builder()
.action("drop")
.ipRange("10.20.0.0/24")
.build())
.build());
var web = new InstanceServer("web", InstanceServerArgs.builder()
.type("DEV1-S")
.image("ubuntu_jammy")
.securityGroupId(www.id())
.build());
}
}
resources:
www:
type: scaleway:InstanceSecurityGroup
properties:
inboundDefaultPolicy: drop
outboundDefaultPolicy: accept
inboundRules:
- action: accept
port: '22'
ip: 212.47.225.64
- action: accept
port: '80'
- action: accept
port: '443'
outboundRules:
- action: drop
ipRange: 10.20.0.0/24
web:
type: scaleway:InstanceServer
properties:
type: DEV1-S
image: ubuntu_jammy
securityGroupId: ${www.id}
With private network
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const pn01 = new scaleway.VpcPrivateNetwork("pn01", {name: "private_network_instance"});
const base = new scaleway.InstanceServer("base", {
image: "ubuntu_jammy",
type: "DEV1-S",
privateNetworks: [{
pnId: pn01.id,
}],
});
import pulumi
import pulumiverse_scaleway as scaleway
pn01 = scaleway.VpcPrivateNetwork("pn01", name="private_network_instance")
base = scaleway.InstanceServer("base",
image="ubuntu_jammy",
type="DEV1-S",
private_networks=[{
"pn_id": pn01.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 {
pn01, err := scaleway.NewVpcPrivateNetwork(ctx, "pn01", &scaleway.VpcPrivateNetworkArgs{
Name: pulumi.String("private_network_instance"),
})
if err != nil {
return err
}
_, err = scaleway.NewInstanceServer(ctx, "base", &scaleway.InstanceServerArgs{
Image: pulumi.String("ubuntu_jammy"),
Type: pulumi.String("DEV1-S"),
PrivateNetworks: scaleway.InstanceServerPrivateNetworkArray{
&scaleway.InstanceServerPrivateNetworkArgs{
PnId: pn01.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 pn01 = new Scaleway.VpcPrivateNetwork("pn01", new()
{
Name = "private_network_instance",
});
var @base = new Scaleway.InstanceServer("base", new()
{
Image = "ubuntu_jammy",
Type = "DEV1-S",
PrivateNetworks = new[]
{
new Scaleway.Inputs.InstanceServerPrivateNetworkArgs
{
PnId = pn01.Id,
},
},
});
});
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.VpcPrivateNetworkArgs;
import com.pulumi.scaleway.InstanceServer;
import com.pulumi.scaleway.InstanceServerArgs;
import com.pulumi.scaleway.inputs.InstanceServerPrivateNetworkArgs;
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 pn01 = new VpcPrivateNetwork("pn01", VpcPrivateNetworkArgs.builder()
.name("private_network_instance")
.build());
var base = new InstanceServer("base", InstanceServerArgs.builder()
.image("ubuntu_jammy")
.type("DEV1-S")
.privateNetworks(InstanceServerPrivateNetworkArgs.builder()
.pnId(pn01.id())
.build())
.build());
}
}
resources:
pn01:
type: scaleway:VpcPrivateNetwork
properties:
name: private_network_instance
base:
type: scaleway:InstanceServer
properties:
image: ubuntu_jammy
type: DEV1-S
privateNetworks:
- pnId: ${pn01.id}
Root volume configuration
Resized block volume with installed image
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const image = new scaleway.InstanceServer("image", {
type: "PRO2-XXS",
image: "ubuntu_jammy",
rootVolume: {
volumeType: "b_ssd",
sizeInGb: 100,
},
});
import pulumi
import pulumiverse_scaleway as scaleway
image = scaleway.InstanceServer("image",
type="PRO2-XXS",
image="ubuntu_jammy",
root_volume={
"volume_type": "b_ssd",
"size_in_gb": 100,
})
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.NewInstanceServer(ctx, "image", &scaleway.InstanceServerArgs{
Type: pulumi.String("PRO2-XXS"),
Image: pulumi.String("ubuntu_jammy"),
RootVolume: &scaleway.InstanceServerRootVolumeArgs{
VolumeType: pulumi.String("b_ssd"),
SizeInGb: pulumi.Int(100),
},
})
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 image = new Scaleway.InstanceServer("image", new()
{
Type = "PRO2-XXS",
Image = "ubuntu_jammy",
RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs
{
VolumeType = "b_ssd",
SizeInGb = 100,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.InstanceServer;
import com.pulumi.scaleway.InstanceServerArgs;
import com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;
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 image = new InstanceServer("image", InstanceServerArgs.builder()
.type("PRO2-XXS")
.image("ubuntu_jammy")
.rootVolume(InstanceServerRootVolumeArgs.builder()
.volumeType("b_ssd")
.sizeInGb(100)
.build())
.build());
}
}
resources:
image:
type: scaleway:InstanceServer
properties:
type: PRO2-XXS
image: ubuntu_jammy
rootVolume:
volumeType: b_ssd
sizeInGb: 100
From snapshot
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumi/scaleway";
import * as scaleway from "@pulumiverse/scaleway";
const snapshot = scaleway.getInstanceSnapshot({
name: "my_snapshot",
});
const fromSnapshot = new scaleway.InstanceVolume("from_snapshot", {
fromSnapshotId: snapshot.then(snapshot => snapshot.id),
type: "b_ssd",
});
const fromSnapshotInstanceServer = new scaleway.InstanceServer("from_snapshot", {
type: "PRO2-XXS",
rootVolume: {
volumeId: fromSnapshot.id,
},
});
import pulumi
import pulumi_scaleway as scaleway
import pulumiverse_scaleway as scaleway
snapshot = scaleway.get_instance_snapshot(name="my_snapshot")
from_snapshot = scaleway.InstanceVolume("from_snapshot",
from_snapshot_id=snapshot.id,
type="b_ssd")
from_snapshot_instance_server = scaleway.InstanceServer("from_snapshot",
type="PRO2-XXS",
root_volume={
"volume_id": from_snapshot.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 {
snapshot, err := scaleway.LookupInstanceSnapshot(ctx, &scaleway.LookupInstanceSnapshotArgs{
Name: pulumi.StringRef("my_snapshot"),
}, nil)
if err != nil {
return err
}
fromSnapshot, err := scaleway.NewInstanceVolume(ctx, "from_snapshot", &scaleway.InstanceVolumeArgs{
FromSnapshotId: pulumi.String(snapshot.Id),
Type: pulumi.String("b_ssd"),
})
if err != nil {
return err
}
_, err = scaleway.NewInstanceServer(ctx, "from_snapshot", &scaleway.InstanceServerArgs{
Type: pulumi.String("PRO2-XXS"),
RootVolume: &scaleway.InstanceServerRootVolumeArgs{
VolumeId: fromSnapshot.ID(),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumi.Scaleway;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
var snapshot = Scaleway.GetInstanceSnapshot.Invoke(new()
{
Name = "my_snapshot",
});
var fromSnapshot = new Scaleway.InstanceVolume("from_snapshot", new()
{
FromSnapshotId = snapshot.Apply(getInstanceSnapshotResult => getInstanceSnapshotResult.Id),
Type = "b_ssd",
});
var fromSnapshotInstanceServer = new Scaleway.InstanceServer("from_snapshot", new()
{
Type = "PRO2-XXS",
RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs
{
VolumeId = fromSnapshot.Id,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.ScalewayFunctions;
import com.pulumi.scaleway.inputs.GetInstanceSnapshotArgs;
import com.pulumi.scaleway.InstanceVolume;
import com.pulumi.scaleway.InstanceVolumeArgs;
import com.pulumi.scaleway.InstanceServer;
import com.pulumi.scaleway.InstanceServerArgs;
import com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;
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) {
final var snapshot = ScalewayFunctions.getInstanceSnapshot(GetInstanceSnapshotArgs.builder()
.name("my_snapshot")
.build());
var fromSnapshot = new InstanceVolume("fromSnapshot", InstanceVolumeArgs.builder()
.fromSnapshotId(snapshot.applyValue(getInstanceSnapshotResult -> getInstanceSnapshotResult.id()))
.type("b_ssd")
.build());
var fromSnapshotInstanceServer = new InstanceServer("fromSnapshotInstanceServer", InstanceServerArgs.builder()
.type("PRO2-XXS")
.rootVolume(InstanceServerRootVolumeArgs.builder()
.volumeId(fromSnapshot.id())
.build())
.build());
}
}
resources:
fromSnapshot:
type: scaleway:InstanceVolume
name: from_snapshot
properties:
fromSnapshotId: ${snapshot.id}
type: b_ssd
fromSnapshotInstanceServer:
type: scaleway:InstanceServer
name: from_snapshot
properties:
type: PRO2-XXS
rootVolume:
volumeId: ${fromSnapshot.id}
variables:
snapshot:
fn::invoke:
Function: scaleway:getInstanceSnapshot
Arguments:
name: my_snapshot
Using Scaleway Block Storage (SBS) volume
import * as pulumi from "@pulumi/pulumi";
import * as scaleway from "@pulumiverse/scaleway";
const server = new scaleway.InstanceServer("server", {
type: "PLAY2-MICRO",
image: "ubuntu_jammy",
rootVolume: {
volumeType: "sbs_volume",
sbsIops: 15000,
sizeInGb: 50,
},
});
import pulumi
import pulumiverse_scaleway as scaleway
server = scaleway.InstanceServer("server",
type="PLAY2-MICRO",
image="ubuntu_jammy",
root_volume={
"volume_type": "sbs_volume",
"sbs_iops": 15000,
"size_in_gb": 50,
})
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.NewInstanceServer(ctx, "server", &scaleway.InstanceServerArgs{
Type: pulumi.String("PLAY2-MICRO"),
Image: pulumi.String("ubuntu_jammy"),
RootVolume: &scaleway.InstanceServerRootVolumeArgs{
VolumeType: pulumi.String("sbs_volume"),
SbsIops: pulumi.Int(15000),
SizeInGb: pulumi.Int(50),
},
})
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 server = new Scaleway.InstanceServer("server", new()
{
Type = "PLAY2-MICRO",
Image = "ubuntu_jammy",
RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs
{
VolumeType = "sbs_volume",
SbsIops = 15000,
SizeInGb = 50,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.InstanceServer;
import com.pulumi.scaleway.InstanceServerArgs;
import com.pulumi.scaleway.inputs.InstanceServerRootVolumeArgs;
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 server = new InstanceServer("server", InstanceServerArgs.builder()
.type("PLAY2-MICRO")
.image("ubuntu_jammy")
.rootVolume(InstanceServerRootVolumeArgs.builder()
.volumeType("sbs_volume")
.sbsIops(15000)
.sizeInGb(50)
.build())
.build());
}
}
resources:
server:
type: scaleway:InstanceServer
properties:
type: PLAY2-MICRO
image: ubuntu_jammy
rootVolume:
volumeType: sbs_volume
sbsIops: 15000
sizeInGb: 50
Private Network
Important: Updates to
private_network
will recreate a new private network interface.
pn_id
- (Required) The private network ID where to connect.mac_address
The private NIC MAC address.status
The private NIC state.zone
- (Defaults to providerzone
) The zone in which the server must be created.
Important:
- You can only attach an instance in the same zone as a private network.
- Instance supports maximum 8 different private networks.
Create InstanceServer Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new InstanceServer(name: string, args: InstanceServerArgs, opts?: CustomResourceOptions);
@overload
def InstanceServer(resource_name: str,
args: InstanceServerArgs,
opts: Optional[ResourceOptions] = None)
@overload
def InstanceServer(resource_name: str,
opts: Optional[ResourceOptions] = None,
type: Optional[str] = None,
placement_group_id: Optional[str] = None,
cloud_init: Optional[str] = None,
project_id: Optional[str] = None,
enable_dynamic_ip: Optional[bool] = None,
enable_ipv6: Optional[bool] = None,
image: Optional[str] = None,
ip_id: Optional[str] = None,
ip_ids: Optional[Sequence[str]] = None,
public_ips: Optional[Sequence[InstanceServerPublicIpArgs]] = None,
additional_volume_ids: Optional[Sequence[str]] = None,
zone: Optional[str] = None,
bootscript_id: Optional[str] = None,
name: Optional[str] = None,
replace_on_type_change: Optional[bool] = None,
root_volume: Optional[InstanceServerRootVolumeArgs] = None,
routed_ip_enabled: Optional[bool] = None,
security_group_id: Optional[str] = None,
state: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
boot_type: Optional[str] = None,
user_data: Optional[Mapping[str, str]] = None,
private_networks: Optional[Sequence[InstanceServerPrivateNetworkArgs]] = None)
func NewInstanceServer(ctx *Context, name string, args InstanceServerArgs, opts ...ResourceOption) (*InstanceServer, error)
public InstanceServer(string name, InstanceServerArgs args, CustomResourceOptions? opts = null)
public InstanceServer(String name, InstanceServerArgs args)
public InstanceServer(String name, InstanceServerArgs args, CustomResourceOptions options)
type: scaleway:InstanceServer
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 InstanceServerArgs
- 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 InstanceServerArgs
- 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 InstanceServerArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args InstanceServerArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args InstanceServerArgs
- 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 instanceServerResource = new Scaleway.InstanceServer("instanceServerResource", new()
{
Type = "string",
PlacementGroupId = "string",
CloudInit = "string",
ProjectId = "string",
EnableDynamicIp = false,
Image = "string",
IpId = "string",
IpIds = new[]
{
"string",
},
PublicIps = new[]
{
new Scaleway.Inputs.InstanceServerPublicIpArgs
{
Address = "string",
Id = "string",
},
},
AdditionalVolumeIds = new[]
{
"string",
},
Zone = "string",
Name = "string",
ReplaceOnTypeChange = false,
RootVolume = new Scaleway.Inputs.InstanceServerRootVolumeArgs
{
Boot = false,
DeleteOnTermination = false,
Name = "string",
SbsIops = 0,
SizeInGb = 0,
VolumeId = "string",
VolumeType = "string",
},
SecurityGroupId = "string",
State = "string",
Tags = new[]
{
"string",
},
BootType = "string",
UserData =
{
{ "string", "string" },
},
PrivateNetworks = new[]
{
new Scaleway.Inputs.InstanceServerPrivateNetworkArgs
{
PnId = "string",
MacAddress = "string",
PnicId = "string",
Status = "string",
Zone = "string",
},
},
});
example, err := scaleway.NewInstanceServer(ctx, "instanceServerResource", &scaleway.InstanceServerArgs{
Type: pulumi.String("string"),
PlacementGroupId: pulumi.String("string"),
CloudInit: pulumi.String("string"),
ProjectId: pulumi.String("string"),
EnableDynamicIp: pulumi.Bool(false),
Image: pulumi.String("string"),
IpId: pulumi.String("string"),
IpIds: pulumi.StringArray{
pulumi.String("string"),
},
PublicIps: scaleway.InstanceServerPublicIpArray{
&scaleway.InstanceServerPublicIpArgs{
Address: pulumi.String("string"),
Id: pulumi.String("string"),
},
},
AdditionalVolumeIds: pulumi.StringArray{
pulumi.String("string"),
},
Zone: pulumi.String("string"),
Name: pulumi.String("string"),
ReplaceOnTypeChange: pulumi.Bool(false),
RootVolume: &scaleway.InstanceServerRootVolumeArgs{
Boot: pulumi.Bool(false),
DeleteOnTermination: pulumi.Bool(false),
Name: pulumi.String("string"),
SbsIops: pulumi.Int(0),
SizeInGb: pulumi.Int(0),
VolumeId: pulumi.String("string"),
VolumeType: pulumi.String("string"),
},
SecurityGroupId: pulumi.String("string"),
State: pulumi.String("string"),
Tags: pulumi.StringArray{
pulumi.String("string"),
},
BootType: pulumi.String("string"),
UserData: pulumi.StringMap{
"string": pulumi.String("string"),
},
PrivateNetworks: scaleway.InstanceServerPrivateNetworkArray{
&scaleway.InstanceServerPrivateNetworkArgs{
PnId: pulumi.String("string"),
MacAddress: pulumi.String("string"),
PnicId: pulumi.String("string"),
Status: pulumi.String("string"),
Zone: pulumi.String("string"),
},
},
})
var instanceServerResource = new InstanceServer("instanceServerResource", InstanceServerArgs.builder()
.type("string")
.placementGroupId("string")
.cloudInit("string")
.projectId("string")
.enableDynamicIp(false)
.image("string")
.ipId("string")
.ipIds("string")
.publicIps(InstanceServerPublicIpArgs.builder()
.address("string")
.id("string")
.build())
.additionalVolumeIds("string")
.zone("string")
.name("string")
.replaceOnTypeChange(false)
.rootVolume(InstanceServerRootVolumeArgs.builder()
.boot(false)
.deleteOnTermination(false)
.name("string")
.sbsIops(0)
.sizeInGb(0)
.volumeId("string")
.volumeType("string")
.build())
.securityGroupId("string")
.state("string")
.tags("string")
.bootType("string")
.userData(Map.of("string", "string"))
.privateNetworks(InstanceServerPrivateNetworkArgs.builder()
.pnId("string")
.macAddress("string")
.pnicId("string")
.status("string")
.zone("string")
.build())
.build());
instance_server_resource = scaleway.InstanceServer("instanceServerResource",
type="string",
placement_group_id="string",
cloud_init="string",
project_id="string",
enable_dynamic_ip=False,
image="string",
ip_id="string",
ip_ids=["string"],
public_ips=[{
"address": "string",
"id": "string",
}],
additional_volume_ids=["string"],
zone="string",
name="string",
replace_on_type_change=False,
root_volume={
"boot": False,
"delete_on_termination": False,
"name": "string",
"sbs_iops": 0,
"size_in_gb": 0,
"volume_id": "string",
"volume_type": "string",
},
security_group_id="string",
state="string",
tags=["string"],
boot_type="string",
user_data={
"string": "string",
},
private_networks=[{
"pn_id": "string",
"mac_address": "string",
"pnic_id": "string",
"status": "string",
"zone": "string",
}])
const instanceServerResource = new scaleway.InstanceServer("instanceServerResource", {
type: "string",
placementGroupId: "string",
cloudInit: "string",
projectId: "string",
enableDynamicIp: false,
image: "string",
ipId: "string",
ipIds: ["string"],
publicIps: [{
address: "string",
id: "string",
}],
additionalVolumeIds: ["string"],
zone: "string",
name: "string",
replaceOnTypeChange: false,
rootVolume: {
boot: false,
deleteOnTermination: false,
name: "string",
sbsIops: 0,
sizeInGb: 0,
volumeId: "string",
volumeType: "string",
},
securityGroupId: "string",
state: "string",
tags: ["string"],
bootType: "string",
userData: {
string: "string",
},
privateNetworks: [{
pnId: "string",
macAddress: "string",
pnicId: "string",
status: "string",
zone: "string",
}],
});
type: scaleway:InstanceServer
properties:
additionalVolumeIds:
- string
bootType: string
cloudInit: string
enableDynamicIp: false
image: string
ipId: string
ipIds:
- string
name: string
placementGroupId: string
privateNetworks:
- macAddress: string
pnId: string
pnicId: string
status: string
zone: string
projectId: string
publicIps:
- address: string
id: string
replaceOnTypeChange: false
rootVolume:
boot: false
deleteOnTermination: false
name: string
sbsIops: 0
sizeInGb: 0
volumeId: string
volumeType: string
securityGroupId: string
state: string
tags:
- string
type: string
userData:
string: string
zone: string
InstanceServer 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 InstanceServer resource accepts the following input properties:
- Type string
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- Additional
Volume List<string>Ids The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- Boot
Type string - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - Bootscript
Id string - ID of the target bootscript (set boot_type to bootscript)
- Cloud
Init string - The cloud init script associated with this server
- Enable
Dynamic boolIp - If true a dynamic IP will be attached to the server.
- Enable
Ipv6 bool - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - Image string
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- Ip
Id string - The ID of the reserved IP that is attached to the server.
- Ip
Ids List<string> List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- Name string
- The name of the server.
- Placement
Group stringId The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- Private
Networks List<Pulumiverse.Scaleway. Inputs. Instance Server Private Network> - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - Project
Id string project_id
) The ID of the project the server is associated with.- Public
Ips List<Pulumiverse.Scaleway. Inputs. Instance Server Public Ip> - The list of public IPs of the server.
- Replace
On boolType Change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - Root
Volume Pulumiverse.Scaleway. Inputs. Instance Server Root Volume - Root volume attached to the server on creation.
- Routed
Ip boolEnabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- Security
Group stringId - The security group the server is attached to.
- State string
- The state of the server. Possible values are:
started
,stopped
orstandby
. - List<string>
- The tags associated with the server.
- User
Data Dictionary<string, string> - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- Zone string
zone
) The zone in which the server should be created.
- Type string
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- Additional
Volume []stringIds The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- Boot
Type string - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - Bootscript
Id string - ID of the target bootscript (set boot_type to bootscript)
- Cloud
Init string - The cloud init script associated with this server
- Enable
Dynamic boolIp - If true a dynamic IP will be attached to the server.
- Enable
Ipv6 bool - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - Image string
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- Ip
Id string - The ID of the reserved IP that is attached to the server.
- Ip
Ids []string List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- Name string
- The name of the server.
- Placement
Group stringId The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- Private
Networks []InstanceServer Private Network Args - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - Project
Id string project_id
) The ID of the project the server is associated with.- Public
Ips []InstanceServer Public Ip Args - The list of public IPs of the server.
- Replace
On boolType Change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - Root
Volume InstanceServer Root Volume Args - Root volume attached to the server on creation.
- Routed
Ip boolEnabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- Security
Group stringId - The security group the server is attached to.
- State string
- The state of the server. Possible values are:
started
,stopped
orstandby
. - []string
- The tags associated with the server.
- User
Data map[string]string - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- Zone string
zone
) The zone in which the server should be created.
- type String
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- additional
Volume List<String>Ids The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- boot
Type String - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - bootscript
Id String - ID of the target bootscript (set boot_type to bootscript)
- cloud
Init String - The cloud init script associated with this server
- enable
Dynamic BooleanIp - If true a dynamic IP will be attached to the server.
- enable
Ipv6 Boolean - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - image String
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- ip
Id String - The ID of the reserved IP that is attached to the server.
- ip
Ids List<String> List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- name String
- The name of the server.
- placement
Group StringId The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- private
Networks List<InstanceServer Private Network> - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - project
Id String project_id
) The ID of the project the server is associated with.- public
Ips List<InstanceServer Public Ip> - The list of public IPs of the server.
- replace
On BooleanType Change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - root
Volume InstanceServer Root Volume - Root volume attached to the server on creation.
- routed
Ip BooleanEnabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- security
Group StringId - The security group the server is attached to.
- state String
- The state of the server. Possible values are:
started
,stopped
orstandby
. - List<String>
- The tags associated with the server.
- user
Data Map<String,String> - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- zone String
zone
) The zone in which the server should be created.
- type string
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- additional
Volume string[]Ids The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- boot
Type string - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - bootscript
Id string - ID of the target bootscript (set boot_type to bootscript)
- cloud
Init string - The cloud init script associated with this server
- enable
Dynamic booleanIp - If true a dynamic IP will be attached to the server.
- enable
Ipv6 boolean - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - image string
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- ip
Id string - The ID of the reserved IP that is attached to the server.
- ip
Ids string[] List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- name string
- The name of the server.
- placement
Group stringId The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- private
Networks InstanceServer Private Network[] - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - project
Id string project_id
) The ID of the project the server is associated with.- public
Ips InstanceServer Public Ip[] - The list of public IPs of the server.
- replace
On booleanType Change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - root
Volume InstanceServer Root Volume - Root volume attached to the server on creation.
- routed
Ip booleanEnabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- security
Group stringId - The security group the server is attached to.
- state string
- The state of the server. Possible values are:
started
,stopped
orstandby
. - string[]
- The tags associated with the server.
- user
Data {[key: string]: string} - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- zone string
zone
) The zone in which the server should be created.
- type str
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- additional_
volume_ Sequence[str]ids The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- boot_
type str - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - bootscript_
id str - ID of the target bootscript (set boot_type to bootscript)
- cloud_
init str - The cloud init script associated with this server
- enable_
dynamic_ boolip - If true a dynamic IP will be attached to the server.
- enable_
ipv6 bool - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - image str
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- ip_
id str - The ID of the reserved IP that is attached to the server.
- ip_
ids Sequence[str] List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- name str
- The name of the server.
- placement_
group_ strid The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- private_
networks Sequence[InstanceServer Private Network Args] - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - project_
id str project_id
) The ID of the project the server is associated with.- public_
ips Sequence[InstanceServer Public Ip Args] - The list of public IPs of the server.
- replace_
on_ booltype_ change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - root_
volume InstanceServer Root Volume Args - Root volume attached to the server on creation.
- routed_
ip_ boolenabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- security_
group_ strid - The security group the server is attached to.
- state str
- The state of the server. Possible values are:
started
,stopped
orstandby
. - Sequence[str]
- The tags associated with the server.
- user_
data Mapping[str, str] - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- zone str
zone
) The zone in which the server should be created.
- type String
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- additional
Volume List<String>Ids The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- boot
Type String - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - bootscript
Id String - ID of the target bootscript (set boot_type to bootscript)
- cloud
Init String - The cloud init script associated with this server
- enable
Dynamic BooleanIp - If true a dynamic IP will be attached to the server.
- enable
Ipv6 Boolean - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - image String
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- ip
Id String - The ID of the reserved IP that is attached to the server.
- ip
Ids List<String> List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- name String
- The name of the server.
- placement
Group StringId The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- private
Networks List<Property Map> - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - project
Id String project_id
) The ID of the project the server is associated with.- public
Ips List<Property Map> - The list of public IPs of the server.
- replace
On BooleanType Change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - root
Volume Property Map - Root volume attached to the server on creation.
- routed
Ip BooleanEnabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- security
Group StringId - The security group the server is attached to.
- state String
- The state of the server. Possible values are:
started
,stopped
orstandby
. - List<String>
- The tags associated with the server.
- user
Data Map<String> - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- zone String
zone
) The zone in which the server should be created.
Outputs
All input properties are implicitly available as output properties. Additionally, the InstanceServer resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Ipv6Address string
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Ipv6Prefix
Length int - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Organization
Id string - The organization ID the server is associated with.
- Placement
Group boolPolicy Respected - True when the placement group policy is respected.
- Private
Ip string - The Scaleway internal IP address of the server.
- Public
Ip string - The public IP address of the server (Deprecated use
public_ips
instead).
- Id string
- The provider-assigned unique ID for this managed resource.
- Ipv6Address string
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Ipv6Prefix
Length int - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Organization
Id string - The organization ID the server is associated with.
- Placement
Group boolPolicy Respected - True when the placement group policy is respected.
- Private
Ip string - The Scaleway internal IP address of the server.
- Public
Ip string - The public IP address of the server (Deprecated use
public_ips
instead).
- id String
- The provider-assigned unique ID for this managed resource.
- ipv6Address String
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Gateway String
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Prefix
Length Integer - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - organization
Id String - The organization ID the server is associated with.
- placement
Group BooleanPolicy Respected - True when the placement group policy is respected.
- private
Ip String - The Scaleway internal IP address of the server.
- public
Ip String - The public IP address of the server (Deprecated use
public_ips
instead).
- id string
- The provider-assigned unique ID for this managed resource.
- ipv6Address string
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Prefix
Length number - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - organization
Id string - The organization ID the server is associated with.
- placement
Group booleanPolicy Respected - True when the placement group policy is respected.
- private
Ip string - The Scaleway internal IP address of the server.
- public
Ip string - The public IP address of the server (Deprecated use
public_ips
instead).
- id str
- The provider-assigned unique ID for this managed resource.
- ipv6_
address str - The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6_
gateway str - The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6_
prefix_ intlength - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - organization_
id str - The organization ID the server is associated with.
- placement_
group_ boolpolicy_ respected - True when the placement group policy is respected.
- private_
ip str - The Scaleway internal IP address of the server.
- public_
ip str - The public IP address of the server (Deprecated use
public_ips
instead).
- id String
- The provider-assigned unique ID for this managed resource.
- ipv6Address String
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Gateway String
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Prefix
Length Number - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - organization
Id String - The organization ID the server is associated with.
- placement
Group BooleanPolicy Respected - True when the placement group policy is respected.
- private
Ip String - The Scaleway internal IP address of the server.
- public
Ip String - The public IP address of the server (Deprecated use
public_ips
instead).
Look up Existing InstanceServer Resource
Get an existing InstanceServer 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?: InstanceServerState, opts?: CustomResourceOptions): InstanceServer
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
additional_volume_ids: Optional[Sequence[str]] = None,
boot_type: Optional[str] = None,
bootscript_id: Optional[str] = None,
cloud_init: Optional[str] = None,
enable_dynamic_ip: Optional[bool] = None,
enable_ipv6: Optional[bool] = None,
image: Optional[str] = None,
ip_id: Optional[str] = None,
ip_ids: Optional[Sequence[str]] = None,
ipv6_address: Optional[str] = None,
ipv6_gateway: Optional[str] = None,
ipv6_prefix_length: Optional[int] = None,
name: Optional[str] = None,
organization_id: Optional[str] = None,
placement_group_id: Optional[str] = None,
placement_group_policy_respected: Optional[bool] = None,
private_ip: Optional[str] = None,
private_networks: Optional[Sequence[InstanceServerPrivateNetworkArgs]] = None,
project_id: Optional[str] = None,
public_ip: Optional[str] = None,
public_ips: Optional[Sequence[InstanceServerPublicIpArgs]] = None,
replace_on_type_change: Optional[bool] = None,
root_volume: Optional[InstanceServerRootVolumeArgs] = None,
routed_ip_enabled: Optional[bool] = None,
security_group_id: Optional[str] = None,
state: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
type: Optional[str] = None,
user_data: Optional[Mapping[str, str]] = None,
zone: Optional[str] = None) -> InstanceServer
func GetInstanceServer(ctx *Context, name string, id IDInput, state *InstanceServerState, opts ...ResourceOption) (*InstanceServer, error)
public static InstanceServer Get(string name, Input<string> id, InstanceServerState? state, CustomResourceOptions? opts = null)
public static InstanceServer get(String name, Output<String> id, InstanceServerState 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.
- Additional
Volume List<string>Ids The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- Boot
Type string - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - Bootscript
Id string - ID of the target bootscript (set boot_type to bootscript)
- Cloud
Init string - The cloud init script associated with this server
- Enable
Dynamic boolIp - If true a dynamic IP will be attached to the server.
- Enable
Ipv6 bool - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - Image string
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- Ip
Id string - The ID of the reserved IP that is attached to the server.
- Ip
Ids List<string> List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- Ipv6Address string
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Ipv6Prefix
Length int - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Name string
- The name of the server.
- Organization
Id string - The organization ID the server is associated with.
- Placement
Group stringId The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- Placement
Group boolPolicy Respected - True when the placement group policy is respected.
- Private
Ip string - The Scaleway internal IP address of the server.
- Private
Networks List<Pulumiverse.Scaleway. Inputs. Instance Server Private Network> - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - Project
Id string project_id
) The ID of the project the server is associated with.- Public
Ip string - The public IP address of the server (Deprecated use
public_ips
instead). - Public
Ips List<Pulumiverse.Scaleway. Inputs. Instance Server Public Ip> - The list of public IPs of the server.
- Replace
On boolType Change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - Root
Volume Pulumiverse.Scaleway. Inputs. Instance Server Root Volume - Root volume attached to the server on creation.
- Routed
Ip boolEnabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- Security
Group stringId - The security group the server is attached to.
- State string
- The state of the server. Possible values are:
started
,stopped
orstandby
. - List<string>
- The tags associated with the server.
- Type string
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- User
Data Dictionary<string, string> - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- Zone string
zone
) The zone in which the server should be created.
- Additional
Volume []stringIds The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- Boot
Type string - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - Bootscript
Id string - ID of the target bootscript (set boot_type to bootscript)
- Cloud
Init string - The cloud init script associated with this server
- Enable
Dynamic boolIp - If true a dynamic IP will be attached to the server.
- Enable
Ipv6 bool - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - Image string
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- Ip
Id string - The ID of the reserved IP that is attached to the server.
- Ip
Ids []string List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- Ipv6Address string
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Ipv6Prefix
Length int - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - Name string
- The name of the server.
- Organization
Id string - The organization ID the server is associated with.
- Placement
Group stringId The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- Placement
Group boolPolicy Respected - True when the placement group policy is respected.
- Private
Ip string - The Scaleway internal IP address of the server.
- Private
Networks []InstanceServer Private Network Args - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - Project
Id string project_id
) The ID of the project the server is associated with.- Public
Ip string - The public IP address of the server (Deprecated use
public_ips
instead). - Public
Ips []InstanceServer Public Ip Args - The list of public IPs of the server.
- Replace
On boolType Change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - Root
Volume InstanceServer Root Volume Args - Root volume attached to the server on creation.
- Routed
Ip boolEnabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- Security
Group stringId - The security group the server is attached to.
- State string
- The state of the server. Possible values are:
started
,stopped
orstandby
. - []string
- The tags associated with the server.
- Type string
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- User
Data map[string]string - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- Zone string
zone
) The zone in which the server should be created.
- additional
Volume List<String>Ids The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- boot
Type String - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - bootscript
Id String - ID of the target bootscript (set boot_type to bootscript)
- cloud
Init String - The cloud init script associated with this server
- enable
Dynamic BooleanIp - If true a dynamic IP will be attached to the server.
- enable
Ipv6 Boolean - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - image String
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- ip
Id String - The ID of the reserved IP that is attached to the server.
- ip
Ids List<String> List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- ipv6Address String
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Gateway String
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Prefix
Length Integer - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - name String
- The name of the server.
- organization
Id String - The organization ID the server is associated with.
- placement
Group StringId The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- placement
Group BooleanPolicy Respected - True when the placement group policy is respected.
- private
Ip String - The Scaleway internal IP address of the server.
- private
Networks List<InstanceServer Private Network> - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - project
Id String project_id
) The ID of the project the server is associated with.- public
Ip String - The public IP address of the server (Deprecated use
public_ips
instead). - public
Ips List<InstanceServer Public Ip> - The list of public IPs of the server.
- replace
On BooleanType Change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - root
Volume InstanceServer Root Volume - Root volume attached to the server on creation.
- routed
Ip BooleanEnabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- security
Group StringId - The security group the server is attached to.
- state String
- The state of the server. Possible values are:
started
,stopped
orstandby
. - List<String>
- The tags associated with the server.
- type String
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- user
Data Map<String,String> - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- zone String
zone
) The zone in which the server should be created.
- additional
Volume string[]Ids The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- boot
Type string - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - bootscript
Id string - ID of the target bootscript (set boot_type to bootscript)
- cloud
Init string - The cloud init script associated with this server
- enable
Dynamic booleanIp - If true a dynamic IP will be attached to the server.
- enable
Ipv6 boolean - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - image string
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- ip
Id string - The ID of the reserved IP that is attached to the server.
- ip
Ids string[] List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- ipv6Address string
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Prefix
Length number - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - name string
- The name of the server.
- organization
Id string - The organization ID the server is associated with.
- placement
Group stringId The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- placement
Group booleanPolicy Respected - True when the placement group policy is respected.
- private
Ip string - The Scaleway internal IP address of the server.
- private
Networks InstanceServer Private Network[] - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - project
Id string project_id
) The ID of the project the server is associated with.- public
Ip string - The public IP address of the server (Deprecated use
public_ips
instead). - public
Ips InstanceServer Public Ip[] - The list of public IPs of the server.
- replace
On booleanType Change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - root
Volume InstanceServer Root Volume - Root volume attached to the server on creation.
- routed
Ip booleanEnabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- security
Group stringId - The security group the server is attached to.
- state string
- The state of the server. Possible values are:
started
,stopped
orstandby
. - string[]
- The tags associated with the server.
- type string
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- user
Data {[key: string]: string} - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- zone string
zone
) The zone in which the server should be created.
- additional_
volume_ Sequence[str]ids The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- boot_
type str - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - bootscript_
id str - ID of the target bootscript (set boot_type to bootscript)
- cloud_
init str - The cloud init script associated with this server
- enable_
dynamic_ boolip - If true a dynamic IP will be attached to the server.
- enable_
ipv6 bool - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - image str
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- ip_
id str - The ID of the reserved IP that is attached to the server.
- ip_
ids Sequence[str] List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- ipv6_
address str - The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6_
gateway str - The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6_
prefix_ intlength - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - name str
- The name of the server.
- organization_
id str - The organization ID the server is associated with.
- placement_
group_ strid The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- placement_
group_ boolpolicy_ respected - True when the placement group policy is respected.
- private_
ip str - The Scaleway internal IP address of the server.
- private_
networks Sequence[InstanceServer Private Network Args] - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - project_
id str project_id
) The ID of the project the server is associated with.- public_
ip str - The public IP address of the server (Deprecated use
public_ips
instead). - public_
ips Sequence[InstanceServer Public Ip Args] - The list of public IPs of the server.
- replace_
on_ booltype_ change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - root_
volume InstanceServer Root Volume Args - Root volume attached to the server on creation.
- routed_
ip_ boolenabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- security_
group_ strid - The security group the server is attached to.
- state str
- The state of the server. Possible values are:
started
,stopped
orstandby
. - Sequence[str]
- The tags associated with the server.
- type str
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- user_
data Mapping[str, str] - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- zone str
zone
) The zone in which the server should be created.
- additional
Volume List<String>Ids The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.
Important: If this field contains local volumes, the
state
must be set tostopped
, otherwise it will fail.Important: If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
- boot
Type String - The boot Type of the server. Possible values are:
local
,bootscript
orrescue
. - bootscript
Id String - ID of the target bootscript (set boot_type to bootscript)
- cloud
Init String - The cloud init script associated with this server
- enable
Dynamic BooleanIp - If true a dynamic IP will be attached to the server.
- enable
Ipv6 Boolean - Determines if IPv6 is enabled for the server. Useful only with
routed_ip_enabled
as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.InstanceIp with arouted_ipv6
type. - image String
The UUID or the label of the base image used by the server. You can use this endpoint to find either the right
label
or the right local imageID
for a giventype
. Optional when creating an instance with an existing root volume.You can check the available labels with our CLI.
scw marketplace image list
To retrieve more information by label please use:
scw marketplace image get label=<LABEL>
- ip
Id String - The ID of the reserved IP that is attached to the server.
- ip
Ids List<String> List of ID of reserved IPs that are attached to the server. Cannot be used with
ip_id
.ip_id
toip_ids
migration: if moving the ip from the oldip_id
field to the newip_ids
, it should not detach the ip.- ipv6Address String
- The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Gateway String
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - ipv6Prefix
Length Number - The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.InstanceIp with a
routed_ipv6
type. - name String
- The name of the server.
- organization
Id String - The organization ID the server is associated with.
- placement
Group StringId The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
Important: When updating
placement_group_id
thestate
must be set tostopped
, otherwise it will fail.- placement
Group BooleanPolicy Respected - True when the placement group policy is respected.
- private
Ip String - The Scaleway internal IP address of the server.
- private
Networks List<Property Map> - The private network associated with the server.
Use the
pn_id
key to attach a private_network on your instance. - project
Id String project_id
) The ID of the project the server is associated with.- public
Ip String - The public IP address of the server (Deprecated use
public_ips
instead). - public
Ips List<Property Map> - The list of public IPs of the server.
- replace
On BooleanType Change - If true, the server will be replaced if
type
is changed. Otherwise, the server will migrate. - root
Volume Property Map - Root volume attached to the server on creation.
- routed
Ip BooleanEnabled If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
Important: Enabling routed ip will restart the server
- security
Group StringId - The security group the server is attached to.
- state String
- The state of the server. Possible values are:
started
,stopped
orstandby
. - List<String>
- The tags associated with the server.
- type String
The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use
replace_on_type_change
to trigger replacement instead of migration.Important: If
type
change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.- user
Data Map<String> - The user data associated with the server.
Use the
cloud-init
key to use cloud-init on your instance. You can define values using:- string
- UTF-8 encoded file content using file
- Binary files using filebase64.
- zone String
zone
) The zone in which the server should be created.
Supporting Types
InstanceServerPrivateNetwork, InstanceServerPrivateNetworkArgs
- Pn
Id string - The Private Network ID
- Mac
Address string - MAC address of the NIC
- Pnic
Id string - The ID of the NIC
- Status string
- The private NIC state
- Zone string
zone
) The zone in which the server should be created.
- Pn
Id string - The Private Network ID
- Mac
Address string - MAC address of the NIC
- Pnic
Id string - The ID of the NIC
- Status string
- The private NIC state
- Zone string
zone
) The zone in which the server should be created.
- pn
Id String - The Private Network ID
- mac
Address String - MAC address of the NIC
- pnic
Id String - The ID of the NIC
- status String
- The private NIC state
- zone String
zone
) The zone in which the server should be created.
- pn
Id string - The Private Network ID
- mac
Address string - MAC address of the NIC
- pnic
Id string - The ID of the NIC
- status string
- The private NIC state
- zone string
zone
) The zone in which the server should be created.
- pn_
id str - The Private Network ID
- mac_
address str - MAC address of the NIC
- pnic_
id str - The ID of the NIC
- status str
- The private NIC state
- zone str
zone
) The zone in which the server should be created.
- pn
Id String - The Private Network ID
- mac
Address String - MAC address of the NIC
- pnic
Id String - The ID of the NIC
- status String
- The private NIC state
- zone String
zone
) The zone in which the server should be created.
InstanceServerPublicIp, InstanceServerPublicIpArgs
InstanceServerRootVolume, InstanceServerRootVolumeArgs
- Boot bool
- Set the volume where the boot the server
- Delete
On boolTermination - Forces deletion of the root volume on instance termination.
- Name string
- The name of the server.
- Sbs
Iops int Choose IOPS of your sbs volume, has to be used with
sbs_volume
for root volume type.Important: Updates to
root_volume.size_in_gb
will be ignored after the creation of the server.- Size
In intGb - Size of the root volume in gigabytes.
To find the right size use this endpoint and
check the
volumes_constraint.{min|max}_size
(in bytes) for yourcommercial_type
. Updates to this field will recreate a new resource. - Volume
Id string - The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.
- Volume
Type string - Volume type of root volume, can be
b_ssd
,l_ssd
orsbs_volume
, default value depends on server type
- Boot bool
- Set the volume where the boot the server
- Delete
On boolTermination - Forces deletion of the root volume on instance termination.
- Name string
- The name of the server.
- Sbs
Iops int Choose IOPS of your sbs volume, has to be used with
sbs_volume
for root volume type.Important: Updates to
root_volume.size_in_gb
will be ignored after the creation of the server.- Size
In intGb - Size of the root volume in gigabytes.
To find the right size use this endpoint and
check the
volumes_constraint.{min|max}_size
(in bytes) for yourcommercial_type
. Updates to this field will recreate a new resource. - Volume
Id string - The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.
- Volume
Type string - Volume type of root volume, can be
b_ssd
,l_ssd
orsbs_volume
, default value depends on server type
- boot Boolean
- Set the volume where the boot the server
- delete
On BooleanTermination - Forces deletion of the root volume on instance termination.
- name String
- The name of the server.
- sbs
Iops Integer Choose IOPS of your sbs volume, has to be used with
sbs_volume
for root volume type.Important: Updates to
root_volume.size_in_gb
will be ignored after the creation of the server.- size
In IntegerGb - Size of the root volume in gigabytes.
To find the right size use this endpoint and
check the
volumes_constraint.{min|max}_size
(in bytes) for yourcommercial_type
. Updates to this field will recreate a new resource. - volume
Id String - The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.
- volume
Type String - Volume type of root volume, can be
b_ssd
,l_ssd
orsbs_volume
, default value depends on server type
- boot boolean
- Set the volume where the boot the server
- delete
On booleanTermination - Forces deletion of the root volume on instance termination.
- name string
- The name of the server.
- sbs
Iops number Choose IOPS of your sbs volume, has to be used with
sbs_volume
for root volume type.Important: Updates to
root_volume.size_in_gb
will be ignored after the creation of the server.- size
In numberGb - Size of the root volume in gigabytes.
To find the right size use this endpoint and
check the
volumes_constraint.{min|max}_size
(in bytes) for yourcommercial_type
. Updates to this field will recreate a new resource. - volume
Id string - The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.
- volume
Type string - Volume type of root volume, can be
b_ssd
,l_ssd
orsbs_volume
, default value depends on server type
- boot bool
- Set the volume where the boot the server
- delete_
on_ booltermination - Forces deletion of the root volume on instance termination.
- name str
- The name of the server.
- sbs_
iops int Choose IOPS of your sbs volume, has to be used with
sbs_volume
for root volume type.Important: Updates to
root_volume.size_in_gb
will be ignored after the creation of the server.- size_
in_ intgb - Size of the root volume in gigabytes.
To find the right size use this endpoint and
check the
volumes_constraint.{min|max}_size
(in bytes) for yourcommercial_type
. Updates to this field will recreate a new resource. - volume_
id str - The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.
- volume_
type str - Volume type of root volume, can be
b_ssd
,l_ssd
orsbs_volume
, default value depends on server type
- boot Boolean
- Set the volume where the boot the server
- delete
On BooleanTermination - Forces deletion of the root volume on instance termination.
- name String
- The name of the server.
- sbs
Iops Number Choose IOPS of your sbs volume, has to be used with
sbs_volume
for root volume type.Important: Updates to
root_volume.size_in_gb
will be ignored after the creation of the server.- size
In NumberGb - Size of the root volume in gigabytes.
To find the right size use this endpoint and
check the
volumes_constraint.{min|max}_size
(in bytes) for yourcommercial_type
. Updates to this field will recreate a new resource. - volume
Id String - The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.
- volume
Type String - Volume type of root volume, can be
b_ssd
,l_ssd
orsbs_volume
, default value depends on server type
Import
Instance servers can be imported using the {zone}/{id}
, e.g.
bash
$ pulumi import scaleway:index/instanceServer:InstanceServer web fr-par-1/11111111-1111-1111-1111-111111111111
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- scaleway pulumiverse/pulumi-scaleway
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
scaleway
Terraform Provider.