scaleway.instance.Server
Explore with Pulumi AI
Creates and manages Scaleway compute Instances. For more information, see the API 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.instance.Ip("public_ip", {});
const web = new scaleway.instance.Server("web", {
    type: "DEV1-S",
    image: "ubuntu_jammy",
    ipId: publicIp.id,
});
import pulumi
import pulumiverse_scaleway as scaleway
public_ip = scaleway.instance.Ip("public_ip")
web = scaleway.instance.Server("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/instance"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		publicIp, err := instance.NewIp(ctx, "public_ip", nil)
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "web", &instance.ServerArgs{
			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.Instance.Ip("public_ip");
    var web = new Scaleway.Instance.Server("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.instance.Ip;
import com.pulumi.scaleway.instance.Server;
import com.pulumi.scaleway.instance.ServerArgs;
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 Ip("publicIp");
        var web = new Server("web", ServerArgs.builder()
            .type("DEV1-S")
            .image("ubuntu_jammy")
            .ipId(publicIp.id())
            .build());
    }
}
resources:
  publicIp:
    type: scaleway:instance:Ip
    name: public_ip
  web:
    type: scaleway:instance:Server
    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.block.Volume("data", {
    sizeInGb: 100,
    iops: 5000,
});
const web = new scaleway.instance.Server("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.block.Volume("data",
    size_in_gb=100,
    iops=5000)
web = scaleway.instance.Server("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/block"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/instance"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		data, err := block.NewVolume(ctx, "data", &block.VolumeArgs{
			SizeInGb: pulumi.Int(100),
			Iops:     pulumi.Int(5000),
		})
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "web", &instance.ServerArgs{
			Type:  pulumi.String("DEV1-S"),
			Image: pulumi.String("ubuntu_jammy"),
			Tags: pulumi.StringArray{
				pulumi.String("hello"),
				pulumi.String("public"),
			},
			RootVolume: &instance.ServerRootVolumeArgs{
				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.Block.Volume("data", new()
    {
        SizeInGb = 100,
        Iops = 5000,
    });
    var web = new Scaleway.Instance.Server("web", new()
    {
        Type = "DEV1-S",
        Image = "ubuntu_jammy",
        Tags = new[]
        {
            "hello",
            "public",
        },
        RootVolume = new Scaleway.Instance.Inputs.ServerRootVolumeArgs
        {
            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.block.Volume;
import com.pulumi.scaleway.block.VolumeArgs;
import com.pulumi.scaleway.instance.Server;
import com.pulumi.scaleway.instance.ServerArgs;
import com.pulumi.scaleway.instance.inputs.ServerRootVolumeArgs;
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 Volume("data", VolumeArgs.builder()
            .sizeInGb(100)
            .iops(5000)
            .build());
        var web = new Server("web", ServerArgs.builder()
            .type("DEV1-S")
            .image("ubuntu_jammy")
            .tags(            
                "hello",
                "public")
            .rootVolume(ServerRootVolumeArgs.builder()
                .deleteOnTermination(false)
                .build())
            .additionalVolumeIds(data.id())
            .build());
    }
}
resources:
  data:
    type: scaleway:block:Volume
    properties:
      sizeInGb: 100
      iops: 5000
  web:
    type: scaleway:instance:Server
    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.instance.Ip("ip", {});
const web = new scaleway.instance.Server("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.instance.Ip("ip")
web = scaleway.instance.Server("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/instance"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ip, err := instance.NewIp(ctx, "ip", nil)
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "web", &instance.ServerArgs{
			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.Instance.Ip("ip");
    var web = new Scaleway.Instance.Server("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.instance.Ip;
import com.pulumi.scaleway.instance.Server;
import com.pulumi.scaleway.instance.ServerArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var ip = new Ip("ip");
        var web = new Server("web", ServerArgs.builder()
            .type("DEV1-S")
            .image("f974feac-abae-4365-b988-8ec7d1cec10d")
            .tags(            
                "hello",
                "public")
            .ipId(ip.id())
            .build());
    }
}
resources:
  ip:
    type: scaleway:instance:Ip
  web:
    type: scaleway:instance:Server
    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.instance.SecurityGroup("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.instance.Server("web", {
    type: "DEV1-S",
    image: "ubuntu_jammy",
    securityGroupId: www.id,
});
import pulumi
import pulumiverse_scaleway as scaleway
www = scaleway.instance.SecurityGroup("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.instance.Server("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/instance"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		www, err := instance.NewSecurityGroup(ctx, "www", &instance.SecurityGroupArgs{
			InboundDefaultPolicy:  pulumi.String("drop"),
			OutboundDefaultPolicy: pulumi.String("accept"),
			InboundRules: instance.SecurityGroupInboundRuleArray{
				&instance.SecurityGroupInboundRuleArgs{
					Action: pulumi.String("accept"),
					Port:   pulumi.Int(22),
					Ip:     pulumi.String("212.47.225.64"),
				},
				&instance.SecurityGroupInboundRuleArgs{
					Action: pulumi.String("accept"),
					Port:   pulumi.Int(80),
				},
				&instance.SecurityGroupInboundRuleArgs{
					Action: pulumi.String("accept"),
					Port:   pulumi.Int(443),
				},
			},
			OutboundRules: instance.SecurityGroupOutboundRuleArray{
				&instance.SecurityGroupOutboundRuleArgs{
					Action:  pulumi.String("drop"),
					IpRange: pulumi.String("10.20.0.0/24"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "web", &instance.ServerArgs{
			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.Instance.SecurityGroup("www", new()
    {
        InboundDefaultPolicy = "drop",
        OutboundDefaultPolicy = "accept",
        InboundRules = new[]
        {
            new Scaleway.Instance.Inputs.SecurityGroupInboundRuleArgs
            {
                Action = "accept",
                Port = 22,
                Ip = "212.47.225.64",
            },
            new Scaleway.Instance.Inputs.SecurityGroupInboundRuleArgs
            {
                Action = "accept",
                Port = 80,
            },
            new Scaleway.Instance.Inputs.SecurityGroupInboundRuleArgs
            {
                Action = "accept",
                Port = 443,
            },
        },
        OutboundRules = new[]
        {
            new Scaleway.Instance.Inputs.SecurityGroupOutboundRuleArgs
            {
                Action = "drop",
                IpRange = "10.20.0.0/24",
            },
        },
    });
    var web = new Scaleway.Instance.Server("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.instance.SecurityGroup;
import com.pulumi.scaleway.instance.SecurityGroupArgs;
import com.pulumi.scaleway.instance.inputs.SecurityGroupInboundRuleArgs;
import com.pulumi.scaleway.instance.inputs.SecurityGroupOutboundRuleArgs;
import com.pulumi.scaleway.instance.Server;
import com.pulumi.scaleway.instance.ServerArgs;
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 SecurityGroup("www", SecurityGroupArgs.builder()
            .inboundDefaultPolicy("drop")
            .outboundDefaultPolicy("accept")
            .inboundRules(            
                SecurityGroupInboundRuleArgs.builder()
                    .action("accept")
                    .port("22")
                    .ip("212.47.225.64")
                    .build(),
                SecurityGroupInboundRuleArgs.builder()
                    .action("accept")
                    .port("80")
                    .build(),
                SecurityGroupInboundRuleArgs.builder()
                    .action("accept")
                    .port("443")
                    .build())
            .outboundRules(SecurityGroupOutboundRuleArgs.builder()
                .action("drop")
                .ipRange("10.20.0.0/24")
                .build())
            .build());
        var web = new Server("web", ServerArgs.builder()
            .type("DEV1-S")
            .image("ubuntu_jammy")
            .securityGroupId(www.id())
            .build());
    }
}
resources:
  www:
    type: scaleway:instance:SecurityGroup
    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:instance:Server
    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.network.PrivateNetwork("pn01", {name: "private_network_instance"});
const base = new scaleway.instance.Server("base", {
    image: "ubuntu_jammy",
    type: "DEV1-S",
    privateNetworks: [{
        pnId: pn01.id,
    }],
});
import pulumi
import pulumiverse_scaleway as scaleway
pn01 = scaleway.network.PrivateNetwork("pn01", name="private_network_instance")
base = scaleway.instance.Server("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/instance"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/network"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pn01, err := network.NewPrivateNetwork(ctx, "pn01", &network.PrivateNetworkArgs{
			Name: pulumi.String("private_network_instance"),
		})
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "base", &instance.ServerArgs{
			Image: pulumi.String("ubuntu_jammy"),
			Type:  pulumi.String("DEV1-S"),
			PrivateNetworks: instance.ServerPrivateNetworkArray{
				&instance.ServerPrivateNetworkArgs{
					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.Network.PrivateNetwork("pn01", new()
    {
        Name = "private_network_instance",
    });
    var @base = new Scaleway.Instance.Server("base", new()
    {
        Image = "ubuntu_jammy",
        Type = "DEV1-S",
        PrivateNetworks = new[]
        {
            new Scaleway.Instance.Inputs.ServerPrivateNetworkArgs
            {
                PnId = pn01.Id,
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.network.PrivateNetwork;
import com.pulumi.scaleway.network.PrivateNetworkArgs;
import com.pulumi.scaleway.instance.Server;
import com.pulumi.scaleway.instance.ServerArgs;
import com.pulumi.scaleway.instance.inputs.ServerPrivateNetworkArgs;
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 PrivateNetwork("pn01", PrivateNetworkArgs.builder()
            .name("private_network_instance")
            .build());
        var base = new Server("base", ServerArgs.builder()
            .image("ubuntu_jammy")
            .type("DEV1-S")
            .privateNetworks(ServerPrivateNetworkArgs.builder()
                .pnId(pn01.id())
                .build())
            .build());
    }
}
resources:
  pn01:
    type: scaleway:network:PrivateNetwork
    properties:
      name: private_network_instance
  base:
    type: scaleway:instance:Server
    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.instance.Server("image", {
    type: "PRO2-XXS",
    image: "ubuntu_jammy",
    rootVolume: {
        sizeInGb: 100,
    },
});
import pulumi
import pulumiverse_scaleway as scaleway
image = scaleway.instance.Server("image",
    type="PRO2-XXS",
    image="ubuntu_jammy",
    root_volume={
        "size_in_gb": 100,
    })
package main
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/instance"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.NewServer(ctx, "image", &instance.ServerArgs{
			Type:  pulumi.String("PRO2-XXS"),
			Image: pulumi.String("ubuntu_jammy"),
			RootVolume: &instance.ServerRootVolumeArgs{
				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.Instance.Server("image", new()
    {
        Type = "PRO2-XXS",
        Image = "ubuntu_jammy",
        RootVolume = new Scaleway.Instance.Inputs.ServerRootVolumeArgs
        {
            SizeInGb = 100,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.instance.Server;
import com.pulumi.scaleway.instance.ServerArgs;
import com.pulumi.scaleway.instance.inputs.ServerRootVolumeArgs;
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 Server("image", ServerArgs.builder()
            .type("PRO2-XXS")
            .image("ubuntu_jammy")
            .rootVolume(ServerRootVolumeArgs.builder()
                .sizeInGb(100)
                .build())
            .build());
    }
}
resources:
  image:
    type: scaleway:instance:Server
    properties:
      type: PRO2-XXS
      image: ubuntu_jammy
      rootVolume:
        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.block.getSnapshot({
    name: "my_snapshot",
});
const fromSnapshot = new scaleway.block.Volume("from_snapshot", {
    snapshotId: snapshot.then(snapshot => snapshot.id),
    iops: 5000,
});
const fromSnapshotServer = new scaleway.instance.Server("from_snapshot", {
    type: "PRO2-XXS",
    rootVolume: {
        volumeId: fromSnapshot.id,
        volumeType: "sbs_volume",
    },
});
import pulumi
import pulumi_scaleway as scaleway
import pulumiverse_scaleway as scaleway
snapshot = scaleway.block.get_snapshot(name="my_snapshot")
from_snapshot = scaleway.block.Volume("from_snapshot",
    snapshot_id=snapshot.id,
    iops=5000)
from_snapshot_server = scaleway.instance.Server("from_snapshot",
    type="PRO2-XXS",
    root_volume={
        "volume_id": from_snapshot.id,
        "volume_type": "sbs_volume",
    })
package main
import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/block"
	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/instance"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		snapshot, err := block.LookupSnapshot(ctx, &block.LookupSnapshotArgs{
			Name: pulumi.StringRef("my_snapshot"),
		}, nil)
		if err != nil {
			return err
		}
		fromSnapshot, err := block.NewVolume(ctx, "from_snapshot", &block.VolumeArgs{
			SnapshotId: pulumi.String(snapshot.Id),
			Iops:       pulumi.Int(5000),
		})
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "from_snapshot", &instance.ServerArgs{
			Type: pulumi.String("PRO2-XXS"),
			RootVolume: &instance.ServerRootVolumeArgs{
				VolumeId:   fromSnapshot.ID(),
				VolumeType: pulumi.String("sbs_volume"),
			},
		})
		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.Block.GetSnapshot.Invoke(new()
    {
        Name = "my_snapshot",
    });
    var fromSnapshot = new Scaleway.Block.Volume("from_snapshot", new()
    {
        SnapshotId = snapshot.Apply(getSnapshotResult => getSnapshotResult.Id),
        Iops = 5000,
    });
    var fromSnapshotServer = new Scaleway.Instance.Server("from_snapshot", new()
    {
        Type = "PRO2-XXS",
        RootVolume = new Scaleway.Instance.Inputs.ServerRootVolumeArgs
        {
            VolumeId = fromSnapshot.Id,
            VolumeType = "sbs_volume",
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.block.BlockFunctions;
import com.pulumi.scaleway.block.inputs.GetSnapshotArgs;
import com.pulumi.scaleway.block.Volume;
import com.pulumi.scaleway.block.VolumeArgs;
import com.pulumi.scaleway.instance.Server;
import com.pulumi.scaleway.instance.ServerArgs;
import com.pulumi.scaleway.instance.inputs.ServerRootVolumeArgs;
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 = BlockFunctions.getSnapshot(GetSnapshotArgs.builder()
            .name("my_snapshot")
            .build());
        var fromSnapshot = new Volume("fromSnapshot", VolumeArgs.builder()
            .snapshotId(snapshot.applyValue(getSnapshotResult -> getSnapshotResult.id()))
            .iops(5000)
            .build());
        var fromSnapshotServer = new Server("fromSnapshotServer", ServerArgs.builder()
            .type("PRO2-XXS")
            .rootVolume(ServerRootVolumeArgs.builder()
                .volumeId(fromSnapshot.id())
                .volumeType("sbs_volume")
                .build())
            .build());
    }
}
resources:
  fromSnapshot:
    type: scaleway:block:Volume
    name: from_snapshot
    properties:
      snapshotId: ${snapshot.id}
      iops: 5000
  fromSnapshotServer:
    type: scaleway:instance:Server
    name: from_snapshot
    properties:
      type: PRO2-XXS
      rootVolume:
        volumeId: ${fromSnapshot.id}
        volumeType: sbs_volume
variables:
  snapshot:
    fn::invoke:
      function: scaleway:block:getSnapshot
      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.instance.Server("server", {
    type: "PLAY2-MICRO",
    image: "ubuntu_jammy",
    rootVolume: {
        volumeType: "sbs_volume",
        sbsIops: 15000,
        sizeInGb: 50,
    },
});
import pulumi
import pulumiverse_scaleway as scaleway
server = scaleway.instance.Server("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/instance"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.NewServer(ctx, "server", &instance.ServerArgs{
			Type:  pulumi.String("PLAY2-MICRO"),
			Image: pulumi.String("ubuntu_jammy"),
			RootVolume: &instance.ServerRootVolumeArgs{
				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.Instance.Server("server", new()
    {
        Type = "PLAY2-MICRO",
        Image = "ubuntu_jammy",
        RootVolume = new Scaleway.Instance.Inputs.ServerRootVolumeArgs
        {
            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.instance.Server;
import com.pulumi.scaleway.instance.ServerArgs;
import com.pulumi.scaleway.instance.inputs.ServerRootVolumeArgs;
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 Server("server", ServerArgs.builder()
            .type("PLAY2-MICRO")
            .image("ubuntu_jammy")
            .rootVolume(ServerRootVolumeArgs.builder()
                .volumeType("sbs_volume")
                .sbsIops(15000)
                .sizeInGb(50)
                .build())
            .build());
    }
}
resources:
  server:
    type: scaleway:instance:Server
    properties:
      type: PLAY2-MICRO
      image: ubuntu_jammy
      rootVolume:
        volumeType: sbs_volume
        sbsIops: 15000
        sizeInGb: 50
Private Network
Important: Updates to
private_networkwill recreate a new private network interface.
- pn_id- (Required) The private network ID where to connect.
- mac_addressThe private NIC MAC address.
- statusThe private NIC state.
- zone- (Defaults to provider- zone) The zone in which the server must be created.
Important: You can only attach an instance in the same zone as a private network. Important: Instance supports a maximum of 8 different private networks.
Create Server Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Server(name: string, args: ServerArgs, opts?: CustomResourceOptions);@overload
def Server(resource_name: str,
           args: ServerArgs,
           opts: Optional[ResourceOptions] = None)
@overload
def Server(resource_name: str,
           opts: Optional[ResourceOptions] = None,
           type: Optional[str] = None,
           placement_group_id: Optional[str] = None,
           enable_ipv6: Optional[bool] = None,
           private_networks: Optional[Sequence[ServerPrivateNetworkArgs]] = None,
           public_ips: Optional[Sequence[ServerPublicIpArgs]] = None,
           project_id: Optional[str] = None,
           image: Optional[str] = None,
           ip_id: Optional[str] = None,
           ip_ids: Optional[Sequence[str]] = None,
           name: Optional[str] = None,
           additional_volume_ids: Optional[Sequence[str]] = None,
           cloud_init: Optional[str] = None,
           bootscript_id: Optional[str] = None,
           enable_dynamic_ip: Optional[bool] = None,
           replace_on_type_change: Optional[bool] = None,
           root_volume: Optional[ServerRootVolumeArgs] = 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,
           zone: Optional[str] = None)func NewServer(ctx *Context, name string, args ServerArgs, opts ...ResourceOption) (*Server, error)public Server(string name, ServerArgs args, CustomResourceOptions? opts = null)
public Server(String name, ServerArgs args)
public Server(String name, ServerArgs args, CustomResourceOptions options)
type: scaleway:instance:Server
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 ServerArgs
- 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 ServerArgs
- 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 ServerArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ServerArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ServerArgs
- 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 exampleserverResourceResourceFromInstanceserver = new Scaleway.Instance.Server("exampleserverResourceResourceFromInstanceserver", new()
{
    Type = "string",
    PlacementGroupId = "string",
    PrivateNetworks = new[]
    {
        new Scaleway.Instance.Inputs.ServerPrivateNetworkArgs
        {
            PnId = "string",
            MacAddress = "string",
            PnicId = "string",
            Status = "string",
            Zone = "string",
        },
    },
    PublicIps = new[]
    {
        new Scaleway.Instance.Inputs.ServerPublicIpArgs
        {
            Address = "string",
            Id = "string",
        },
    },
    ProjectId = "string",
    Image = "string",
    IpId = "string",
    IpIds = new[]
    {
        "string",
    },
    Name = "string",
    AdditionalVolumeIds = new[]
    {
        "string",
    },
    CloudInit = "string",
    EnableDynamicIp = false,
    ReplaceOnTypeChange = false,
    RootVolume = new Scaleway.Instance.Inputs.ServerRootVolumeArgs
    {
        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" },
    },
    Zone = "string",
});
example, err := instance.NewServer(ctx, "exampleserverResourceResourceFromInstanceserver", &instance.ServerArgs{
	Type:             pulumi.String("string"),
	PlacementGroupId: pulumi.String("string"),
	PrivateNetworks: instance.ServerPrivateNetworkArray{
		&instance.ServerPrivateNetworkArgs{
			PnId:       pulumi.String("string"),
			MacAddress: pulumi.String("string"),
			PnicId:     pulumi.String("string"),
			Status:     pulumi.String("string"),
			Zone:       pulumi.String("string"),
		},
	},
	PublicIps: instance.ServerPublicIpArray{
		&instance.ServerPublicIpArgs{
			Address: pulumi.String("string"),
			Id:      pulumi.String("string"),
		},
	},
	ProjectId: pulumi.String("string"),
	Image:     pulumi.String("string"),
	IpId:      pulumi.String("string"),
	IpIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	Name: pulumi.String("string"),
	AdditionalVolumeIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	CloudInit:           pulumi.String("string"),
	EnableDynamicIp:     pulumi.Bool(false),
	ReplaceOnTypeChange: pulumi.Bool(false),
	RootVolume: &instance.ServerRootVolumeArgs{
		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"),
	},
	Zone: pulumi.String("string"),
})
var exampleserverResourceResourceFromInstanceserver = new Server("exampleserverResourceResourceFromInstanceserver", ServerArgs.builder()
    .type("string")
    .placementGroupId("string")
    .privateNetworks(ServerPrivateNetworkArgs.builder()
        .pnId("string")
        .macAddress("string")
        .pnicId("string")
        .status("string")
        .zone("string")
        .build())
    .publicIps(ServerPublicIpArgs.builder()
        .address("string")
        .id("string")
        .build())
    .projectId("string")
    .image("string")
    .ipId("string")
    .ipIds("string")
    .name("string")
    .additionalVolumeIds("string")
    .cloudInit("string")
    .enableDynamicIp(false)
    .replaceOnTypeChange(false)
    .rootVolume(ServerRootVolumeArgs.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"))
    .zone("string")
    .build());
exampleserver_resource_resource_from_instanceserver = scaleway.instance.Server("exampleserverResourceResourceFromInstanceserver",
    type="string",
    placement_group_id="string",
    private_networks=[{
        "pn_id": "string",
        "mac_address": "string",
        "pnic_id": "string",
        "status": "string",
        "zone": "string",
    }],
    public_ips=[{
        "address": "string",
        "id": "string",
    }],
    project_id="string",
    image="string",
    ip_id="string",
    ip_ids=["string"],
    name="string",
    additional_volume_ids=["string"],
    cloud_init="string",
    enable_dynamic_ip=False,
    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",
    },
    zone="string")
const exampleserverResourceResourceFromInstanceserver = new scaleway.instance.Server("exampleserverResourceResourceFromInstanceserver", {
    type: "string",
    placementGroupId: "string",
    privateNetworks: [{
        pnId: "string",
        macAddress: "string",
        pnicId: "string",
        status: "string",
        zone: "string",
    }],
    publicIps: [{
        address: "string",
        id: "string",
    }],
    projectId: "string",
    image: "string",
    ipId: "string",
    ipIds: ["string"],
    name: "string",
    additionalVolumeIds: ["string"],
    cloudInit: "string",
    enableDynamicIp: false,
    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",
    },
    zone: "string",
});
type: scaleway:instance:Server
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
Server 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 Server 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_changeto trigger replacement instead of migration.- Important: If - typechange and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
- AdditionalVolume 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 - statemust be set to- stopped, 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. 
- BootType string
- The boot Type of the server. Possible values are: local,bootscriptorrescue.
- BootscriptId string
- ID of the target bootscript (set boot_type to bootscript)
- CloudInit string
- The cloud init script associated with this server
- EnableDynamic boolIp 
- If true a dynamic IP will be attached to the server.
- EnableIpv6 bool
- Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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>
- IpId string
- The ID of the reserved IP that is attached to the server.
- IpIds List<string>
- List of ID of reserved IPs that are attached to the server. Cannot be used with - ip_id.- ip_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_ids, it should not detach the ip.
- Name string
- The name of the server.
- PlacementGroup 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_idthe- statemust be set to- stopped, otherwise it will fail.
- PrivateNetworks List<Pulumiverse.Scaleway. Instance. Inputs. Server Private Network> 
- The private network associated with the server.
Use the pn_idkey to attach a private_network on your instance.
- ProjectId string
- project_id) The ID of the project the server is associated with.
- PublicIps List<Pulumiverse.Scaleway. Instance. Inputs. Server Public Ip> 
- The list of public IPs of the server.
- ReplaceOn boolType Change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- RootVolume Pulumiverse.Scaleway. Instance. Inputs. Server Root Volume 
- Root volume attached to the server on creation.
- SecurityGroup stringId 
- The security group the server is attached to
- State string
- The state of the server. Possible values are: started,stoppedorstandby.
- List<string>
- The tags associated with the server.
- UserData Dictionary<string, string>
- The user data associated with the server.
Use the cloud-initkey 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_changeto trigger replacement instead of migration.- Important: If - typechange and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
- AdditionalVolume []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 - statemust be set to- stopped, 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. 
- BootType string
- The boot Type of the server. Possible values are: local,bootscriptorrescue.
- BootscriptId string
- ID of the target bootscript (set boot_type to bootscript)
- CloudInit string
- The cloud init script associated with this server
- EnableDynamic boolIp 
- If true a dynamic IP will be attached to the server.
- EnableIpv6 bool
- Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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>
- IpId string
- The ID of the reserved IP that is attached to the server.
- IpIds []string
- List of ID of reserved IPs that are attached to the server. Cannot be used with - ip_id.- ip_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_ids, it should not detach the ip.
- Name string
- The name of the server.
- PlacementGroup 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_idthe- statemust be set to- stopped, otherwise it will fail.
- PrivateNetworks []ServerPrivate Network Args 
- The private network associated with the server.
Use the pn_idkey to attach a private_network on your instance.
- ProjectId string
- project_id) The ID of the project the server is associated with.
- PublicIps []ServerPublic Ip Args 
- The list of public IPs of the server.
- ReplaceOn boolType Change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- RootVolume ServerRoot Volume Args 
- Root volume attached to the server on creation.
- SecurityGroup stringId 
- The security group the server is attached to
- State string
- The state of the server. Possible values are: started,stoppedorstandby.
- []string
- The tags associated with the server.
- UserData map[string]string
- The user data associated with the server.
Use the cloud-initkey 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_changeto trigger replacement instead of migration.- Important: If - typechange and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
- additionalVolume 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 - statemust be set to- stopped, 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. 
- bootType String
- The boot Type of the server. Possible values are: local,bootscriptorrescue.
- bootscriptId String
- ID of the target bootscript (set boot_type to bootscript)
- cloudInit String
- The cloud init script associated with this server
- enableDynamic BooleanIp 
- If true a dynamic IP will be attached to the server.
- enableIpv6 Boolean
- Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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>
- ipId String
- The ID of the reserved IP that is attached to the server.
- ipIds List<String>
- List of ID of reserved IPs that are attached to the server. Cannot be used with - ip_id.- ip_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_ids, it should not detach the ip.
- name String
- The name of the server.
- placementGroup 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_idthe- statemust be set to- stopped, otherwise it will fail.
- privateNetworks List<ServerPrivate Network> 
- The private network associated with the server.
Use the pn_idkey to attach a private_network on your instance.
- projectId String
- project_id) The ID of the project the server is associated with.
- publicIps List<ServerPublic Ip> 
- The list of public IPs of the server.
- replaceOn BooleanType Change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- rootVolume ServerRoot Volume 
- Root volume attached to the server on creation.
- securityGroup StringId 
- The security group the server is attached to
- state String
- The state of the server. Possible values are: started,stoppedorstandby.
- List<String>
- The tags associated with the server.
- userData Map<String,String>
- The user data associated with the server.
Use the cloud-initkey 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_changeto trigger replacement instead of migration.- Important: If - typechange and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
- additionalVolume 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 - statemust be set to- stopped, 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. 
- bootType string
- The boot Type of the server. Possible values are: local,bootscriptorrescue.
- bootscriptId string
- ID of the target bootscript (set boot_type to bootscript)
- cloudInit string
- The cloud init script associated with this server
- enableDynamic booleanIp 
- If true a dynamic IP will be attached to the server.
- enableIpv6 boolean
- Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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>
- ipId string
- The ID of the reserved IP that is attached to the server.
- ipIds string[]
- List of ID of reserved IPs that are attached to the server. Cannot be used with - ip_id.- ip_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_ids, it should not detach the ip.
- name string
- The name of the server.
- placementGroup 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_idthe- statemust be set to- stopped, otherwise it will fail.
- privateNetworks ServerPrivate Network[] 
- The private network associated with the server.
Use the pn_idkey to attach a private_network on your instance.
- projectId string
- project_id) The ID of the project the server is associated with.
- publicIps ServerPublic Ip[] 
- The list of public IPs of the server.
- replaceOn booleanType Change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- rootVolume ServerRoot Volume 
- Root volume attached to the server on creation.
- securityGroup stringId 
- The security group the server is attached to
- state string
- The state of the server. Possible values are: started,stoppedorstandby.
- string[]
- The tags associated with the server.
- userData {[key: string]: string}
- The user data associated with the server.
Use the cloud-initkey 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_changeto trigger replacement instead of migration.- Important: If - typechange 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 - statemust be set to- stopped, 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,bootscriptorrescue.
- 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_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_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_idthe- statemust be set to- stopped, otherwise it will fail.
- private_networks Sequence[ServerPrivate Network Args] 
- The private network associated with the server.
Use the pn_idkey 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[ServerPublic Ip Args] 
- The list of public IPs of the server.
- replace_on_ booltype_ change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- root_volume ServerRoot Volume Args 
- Root volume attached to the server on creation.
- security_group_ strid 
- The security group the server is attached to
- state str
- The state of the server. Possible values are: started,stoppedorstandby.
- Sequence[str]
- The tags associated with the server.
- user_data Mapping[str, str]
- The user data associated with the server.
Use the cloud-initkey 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_changeto trigger replacement instead of migration.- Important: If - typechange and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
- additionalVolume 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 - statemust be set to- stopped, 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. 
- bootType String
- The boot Type of the server. Possible values are: local,bootscriptorrescue.
- bootscriptId String
- ID of the target bootscript (set boot_type to bootscript)
- cloudInit String
- The cloud init script associated with this server
- enableDynamic BooleanIp 
- If true a dynamic IP will be attached to the server.
- enableIpv6 Boolean
- Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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>
- ipId String
- The ID of the reserved IP that is attached to the server.
- ipIds List<String>
- List of ID of reserved IPs that are attached to the server. Cannot be used with - ip_id.- ip_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_ids, it should not detach the ip.
- name String
- The name of the server.
- placementGroup 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_idthe- statemust be set to- stopped, otherwise it will fail.
- privateNetworks List<Property Map>
- The private network associated with the server.
Use the pn_idkey to attach a private_network on your instance.
- projectId String
- project_id) The ID of the project the server is associated with.
- publicIps List<Property Map>
- The list of public IPs of the server.
- replaceOn BooleanType Change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- rootVolume Property Map
- Root volume attached to the server on creation.
- securityGroup StringId 
- The security group the server is attached to
- state String
- The state of the server. Possible values are: started,stoppedorstandby.
- List<String>
- The tags associated with the server.
- userData Map<String>
- The user data associated with the server.
Use the cloud-initkey 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 Server 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.instance.Ip with a routed_ipv6type.
- Ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- Ipv6PrefixLength 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.instance.Ip with a routed_ipv6type.
- OrganizationId string
- The organization ID the server is associated with.
- PlacementGroup boolPolicy Respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- PrivateIp string
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- PublicIp string
- The public IP address of the server (Deprecated use public_ipsinstead).
- 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.instance.Ip with a routed_ipv6type.
- Ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- Ipv6PrefixLength 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.instance.Ip with a routed_ipv6type.
- OrganizationId string
- The organization ID the server is associated with.
- PlacementGroup boolPolicy Respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- PrivateIp string
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- PublicIp string
- The public IP address of the server (Deprecated use public_ipsinstead).
- 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.instance.Ip with a routed_ipv6type.
- ipv6Gateway String
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- ipv6PrefixLength 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.instance.Ip with a routed_ipv6type.
- organizationId String
- The organization ID the server is associated with.
- placementGroup BooleanPolicy Respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- privateIp String
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- publicIp String
- The public IP address of the server (Deprecated use public_ipsinstead).
- 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.instance.Ip with a routed_ipv6type.
- ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- ipv6PrefixLength 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.instance.Ip with a routed_ipv6type.
- organizationId string
- The organization ID the server is associated with.
- placementGroup booleanPolicy Respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- privateIp string
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- publicIp string
- The public IP address of the server (Deprecated use public_ipsinstead).
- 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.instance.Ip with a routed_ipv6type.
- ipv6_gateway str
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- 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.instance.Ip with a routed_ipv6type.
- organization_id str
- The organization ID the server is associated with.
- placement_group_ boolpolicy_ respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- private_ip str
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- public_ip str
- The public IP address of the server (Deprecated use public_ipsinstead).
- 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.instance.Ip with a routed_ipv6type.
- ipv6Gateway String
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- ipv6PrefixLength 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.instance.Ip with a routed_ipv6type.
- organizationId String
- The organization ID the server is associated with.
- placementGroup BooleanPolicy Respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- privateIp String
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- publicIp String
- The public IP address of the server (Deprecated use public_ipsinstead).
Look up Existing Server Resource
Get an existing Server 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?: ServerState, opts?: CustomResourceOptions): Server@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[ServerPrivateNetworkArgs]] = None,
        project_id: Optional[str] = None,
        public_ip: Optional[str] = None,
        public_ips: Optional[Sequence[ServerPublicIpArgs]] = None,
        replace_on_type_change: Optional[bool] = None,
        root_volume: Optional[ServerRootVolumeArgs] = 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) -> Serverfunc GetServer(ctx *Context, name string, id IDInput, state *ServerState, opts ...ResourceOption) (*Server, error)public static Server Get(string name, Input<string> id, ServerState? state, CustomResourceOptions? opts = null)public static Server get(String name, Output<String> id, ServerState state, CustomResourceOptions options)resources:  _:    type: scaleway:instance:Server    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- AdditionalVolume 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 - statemust be set to- stopped, 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. 
- BootType string
- The boot Type of the server. Possible values are: local,bootscriptorrescue.
- BootscriptId string
- ID of the target bootscript (set boot_type to bootscript)
- CloudInit string
- The cloud init script associated with this server
- EnableDynamic boolIp 
- If true a dynamic IP will be attached to the server.
- EnableIpv6 bool
- Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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>
- IpId string
- The ID of the reserved IP that is attached to the server.
- IpIds List<string>
- List of ID of reserved IPs that are attached to the server. Cannot be used with - ip_id.- ip_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_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.instance.Ip with a routed_ipv6type.
- Ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- Ipv6PrefixLength 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.instance.Ip with a routed_ipv6type.
- Name string
- The name of the server.
- OrganizationId string
- The organization ID the server is associated with.
- PlacementGroup 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_idthe- statemust be set to- stopped, otherwise it will fail.
- PlacementGroup boolPolicy Respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- PrivateIp string
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- PrivateNetworks List<Pulumiverse.Scaleway. Instance. Inputs. Server Private Network> 
- The private network associated with the server.
Use the pn_idkey to attach a private_network on your instance.
- ProjectId string
- project_id) The ID of the project the server is associated with.
- PublicIp string
- The public IP address of the server (Deprecated use public_ipsinstead).
- PublicIps List<Pulumiverse.Scaleway. Instance. Inputs. Server Public Ip> 
- The list of public IPs of the server.
- ReplaceOn boolType Change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- RootVolume Pulumiverse.Scaleway. Instance. Inputs. Server Root Volume 
- Root volume attached to the server on creation.
- SecurityGroup stringId 
- The security group the server is attached to
- State string
- The state of the server. Possible values are: started,stoppedorstandby.
- 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_changeto trigger replacement instead of migration.- Important: If - typechange and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
- UserData Dictionary<string, string>
- The user data associated with the server.
Use the cloud-initkey 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.
- AdditionalVolume []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 - statemust be set to- stopped, 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. 
- BootType string
- The boot Type of the server. Possible values are: local,bootscriptorrescue.
- BootscriptId string
- ID of the target bootscript (set boot_type to bootscript)
- CloudInit string
- The cloud init script associated with this server
- EnableDynamic boolIp 
- If true a dynamic IP will be attached to the server.
- EnableIpv6 bool
- Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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>
- IpId string
- The ID of the reserved IP that is attached to the server.
- IpIds []string
- List of ID of reserved IPs that are attached to the server. Cannot be used with - ip_id.- ip_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_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.instance.Ip with a routed_ipv6type.
- Ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- Ipv6PrefixLength 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.instance.Ip with a routed_ipv6type.
- Name string
- The name of the server.
- OrganizationId string
- The organization ID the server is associated with.
- PlacementGroup 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_idthe- statemust be set to- stopped, otherwise it will fail.
- PlacementGroup boolPolicy Respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- PrivateIp string
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- PrivateNetworks []ServerPrivate Network Args 
- The private network associated with the server.
Use the pn_idkey to attach a private_network on your instance.
- ProjectId string
- project_id) The ID of the project the server is associated with.
- PublicIp string
- The public IP address of the server (Deprecated use public_ipsinstead).
- PublicIps []ServerPublic Ip Args 
- The list of public IPs of the server.
- ReplaceOn boolType Change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- RootVolume ServerRoot Volume Args 
- Root volume attached to the server on creation.
- SecurityGroup stringId 
- The security group the server is attached to
- State string
- The state of the server. Possible values are: started,stoppedorstandby.
- []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_changeto trigger replacement instead of migration.- Important: If - typechange and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
- UserData map[string]string
- The user data associated with the server.
Use the cloud-initkey 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.
- additionalVolume 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 - statemust be set to- stopped, 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. 
- bootType String
- The boot Type of the server. Possible values are: local,bootscriptorrescue.
- bootscriptId String
- ID of the target bootscript (set boot_type to bootscript)
- cloudInit String
- The cloud init script associated with this server
- enableDynamic BooleanIp 
- If true a dynamic IP will be attached to the server.
- enableIpv6 Boolean
- Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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>
- ipId String
- The ID of the reserved IP that is attached to the server.
- ipIds List<String>
- List of ID of reserved IPs that are attached to the server. Cannot be used with - ip_id.- ip_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_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.instance.Ip with a routed_ipv6type.
- ipv6Gateway String
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- ipv6PrefixLength 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.instance.Ip with a routed_ipv6type.
- name String
- The name of the server.
- organizationId String
- The organization ID the server is associated with.
- placementGroup 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_idthe- statemust be set to- stopped, otherwise it will fail.
- placementGroup BooleanPolicy Respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- privateIp String
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- privateNetworks List<ServerPrivate Network> 
- The private network associated with the server.
Use the pn_idkey to attach a private_network on your instance.
- projectId String
- project_id) The ID of the project the server is associated with.
- publicIp String
- The public IP address of the server (Deprecated use public_ipsinstead).
- publicIps List<ServerPublic Ip> 
- The list of public IPs of the server.
- replaceOn BooleanType Change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- rootVolume ServerRoot Volume 
- Root volume attached to the server on creation.
- securityGroup StringId 
- The security group the server is attached to
- state String
- The state of the server. Possible values are: started,stoppedorstandby.
- 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_changeto trigger replacement instead of migration.- Important: If - typechange and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
- userData Map<String,String>
- The user data associated with the server.
Use the cloud-initkey 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.
- additionalVolume 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 - statemust be set to- stopped, 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. 
- bootType string
- The boot Type of the server. Possible values are: local,bootscriptorrescue.
- bootscriptId string
- ID of the target bootscript (set boot_type to bootscript)
- cloudInit string
- The cloud init script associated with this server
- enableDynamic booleanIp 
- If true a dynamic IP will be attached to the server.
- enableIpv6 boolean
- Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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>
- ipId string
- The ID of the reserved IP that is attached to the server.
- ipIds string[]
- List of ID of reserved IPs that are attached to the server. Cannot be used with - ip_id.- ip_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_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.instance.Ip with a routed_ipv6type.
- ipv6Gateway string
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- ipv6PrefixLength 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.instance.Ip with a routed_ipv6type.
- name string
- The name of the server.
- organizationId string
- The organization ID the server is associated with.
- placementGroup 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_idthe- statemust be set to- stopped, otherwise it will fail.
- placementGroup booleanPolicy Respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- privateIp string
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- privateNetworks ServerPrivate Network[] 
- The private network associated with the server.
Use the pn_idkey to attach a private_network on your instance.
- projectId string
- project_id) The ID of the project the server is associated with.
- publicIp string
- The public IP address of the server (Deprecated use public_ipsinstead).
- publicIps ServerPublic Ip[] 
- The list of public IPs of the server.
- replaceOn booleanType Change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- rootVolume ServerRoot Volume 
- Root volume attached to the server on creation.
- securityGroup stringId 
- The security group the server is attached to
- state string
- The state of the server. Possible values are: started,stoppedorstandby.
- 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_changeto trigger replacement instead of migration.- Important: If - typechange and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
- userData {[key: string]: string}
- The user data associated with the server.
Use the cloud-initkey 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 - statemust be set to- stopped, 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,bootscriptorrescue.
- 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_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_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.instance.Ip with a routed_ipv6type.
- ipv6_gateway str
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- 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.instance.Ip with a routed_ipv6type.
- 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_idthe- statemust be set to- stopped, otherwise it will fail.
- placement_group_ boolpolicy_ respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- private_ip str
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- private_networks Sequence[ServerPrivate Network Args] 
- The private network associated with the server.
Use the pn_idkey 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_ipsinstead).
- public_ips Sequence[ServerPublic Ip Args] 
- The list of public IPs of the server.
- replace_on_ booltype_ change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- root_volume ServerRoot Volume Args 
- Root volume attached to the server on creation.
- security_group_ strid 
- The security group the server is attached to
- state str
- The state of the server. Possible values are: started,stoppedorstandby.
- 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_changeto trigger replacement instead of migration.- Important: If - typechange 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-initkey 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.
- additionalVolume 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 - statemust be set to- stopped, 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. 
- bootType String
- The boot Type of the server. Possible values are: local,bootscriptorrescue.
- bootscriptId String
- ID of the target bootscript (set boot_type to bootscript)
- cloudInit String
- The cloud init script associated with this server
- enableDynamic BooleanIp 
- If true a dynamic IP will be attached to the server.
- enableIpv6 Boolean
- Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabledas false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with arouted_ipv6type.
- 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 - labelor the right local image- IDfor a given- type. 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>
- ipId String
- The ID of the reserved IP that is attached to the server.
- ipIds List<String>
- List of ID of reserved IPs that are attached to the server. Cannot be used with - ip_id.- ip_idto- ip_idsmigration: if moving the ip from the old- ip_idfield to the new- ip_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.instance.Ip with a routed_ipv6type.
- ipv6Gateway String
- The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6type.
- ipv6PrefixLength 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.instance.Ip with a routed_ipv6type.
- name String
- The name of the server.
- organizationId String
- The organization ID the server is associated with.
- placementGroup 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_idthe- statemust be set to- stopped, otherwise it will fail.
- placementGroup BooleanPolicy Respected 
- (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
- privateIp String
- The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
- privateNetworks List<Property Map>
- The private network associated with the server.
Use the pn_idkey to attach a private_network on your instance.
- projectId String
- project_id) The ID of the project the server is associated with.
- publicIp String
- The public IP address of the server (Deprecated use public_ipsinstead).
- publicIps List<Property Map>
- The list of public IPs of the server.
- replaceOn BooleanType Change 
- If true, the server will be replaced if typeis changed. Otherwise, the server will migrate.
- rootVolume Property Map
- Root volume attached to the server on creation.
- securityGroup StringId 
- The security group the server is attached to
- state String
- The state of the server. Possible values are: started,stoppedorstandby.
- 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_changeto trigger replacement instead of migration.- Important: If - typechange and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
- userData Map<String>
- The user data associated with the server.
Use the cloud-initkey 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
ServerPrivateNetwork, ServerPrivateNetworkArgs      
- PnId string
- The Private Network ID
- MacAddress string
- MAC address of the NIC
- PnicId string
- The ID of the NIC
- Status string
- The private NIC state
- Zone string
- zone) The zone in which the server should be created.
- PnId string
- The Private Network ID
- MacAddress string
- MAC address of the NIC
- PnicId string
- The ID of the NIC
- Status string
- The private NIC state
- Zone string
- zone) The zone in which the server should be created.
- pnId String
- The Private Network ID
- macAddress String
- MAC address of the NIC
- pnicId String
- The ID of the NIC
- status String
- The private NIC state
- zone String
- zone) The zone in which the server should be created.
- pnId string
- The Private Network ID
- macAddress string
- MAC address of the NIC
- pnicId 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.
- pnId String
- The Private Network ID
- macAddress String
- MAC address of the NIC
- pnicId String
- The ID of the NIC
- status String
- The private NIC state
- zone String
- zone) The zone in which the server should be created.
ServerPublicIp, ServerPublicIpArgs      
ServerRootVolume, ServerRootVolumeArgs      
- Boot bool
- Set the volume where the boot the server
- DeleteOn boolTermination 
- Forces deletion of the root volume on instance termination.
- Name string
- The name of the server.
- SbsIops int
- Choose IOPS of your sbs volume, has to be used with - sbs_volumefor root volume type.- Important: Updates to - root_volume.size_in_gbwill be ignored after the creation of the server.
- SizeIn 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. Depending onvolume_type, updates to this field may recreate a new resource.
- VolumeId 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.
- VolumeType string
- Volume type of root volume, can be b_ssd,l_ssdorsbs_volume, default value depends on server type
- Boot bool
- Set the volume where the boot the server
- DeleteOn boolTermination 
- Forces deletion of the root volume on instance termination.
- Name string
- The name of the server.
- SbsIops int
- Choose IOPS of your sbs volume, has to be used with - sbs_volumefor root volume type.- Important: Updates to - root_volume.size_in_gbwill be ignored after the creation of the server.
- SizeIn 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. Depending onvolume_type, updates to this field may recreate a new resource.
- VolumeId 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.
- VolumeType string
- Volume type of root volume, can be b_ssd,l_ssdorsbs_volume, default value depends on server type
- boot Boolean
- Set the volume where the boot the server
- deleteOn BooleanTermination 
- Forces deletion of the root volume on instance termination.
- name String
- The name of the server.
- sbsIops Integer
- Choose IOPS of your sbs volume, has to be used with - sbs_volumefor root volume type.- Important: Updates to - root_volume.size_in_gbwill be ignored after the creation of the server.
- sizeIn 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. Depending onvolume_type, updates to this field may recreate a new resource.
- volumeId 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.
- volumeType String
- Volume type of root volume, can be b_ssd,l_ssdorsbs_volume, default value depends on server type
- boot boolean
- Set the volume where the boot the server
- deleteOn booleanTermination 
- Forces deletion of the root volume on instance termination.
- name string
- The name of the server.
- sbsIops number
- Choose IOPS of your sbs volume, has to be used with - sbs_volumefor root volume type.- Important: Updates to - root_volume.size_in_gbwill be ignored after the creation of the server.
- sizeIn 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. Depending onvolume_type, updates to this field may recreate a new resource.
- volumeId 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.
- volumeType string
- Volume type of root volume, can be b_ssd,l_ssdorsbs_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_volumefor root volume type.- Important: Updates to - root_volume.size_in_gbwill 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. Depending onvolume_type, updates to this field may 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_ssdorsbs_volume, default value depends on server type
- boot Boolean
- Set the volume where the boot the server
- deleteOn BooleanTermination 
- Forces deletion of the root volume on instance termination.
- name String
- The name of the server.
- sbsIops Number
- Choose IOPS of your sbs volume, has to be used with - sbs_volumefor root volume type.- Important: Updates to - root_volume.size_in_gbwill be ignored after the creation of the server.
- sizeIn 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. Depending onvolume_type, updates to this field may recreate a new resource.
- volumeId 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.
- volumeType String
- Volume type of root volume, can be b_ssd,l_ssdorsbs_volume, default value depends on server type
Import
Instance servers can be imported using the {zone}/{id}, e.g.
bash
$ pulumi import scaleway:instance/server:Server 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 scalewayTerraform Provider.
