1. Packages
  2. Scaleway
  3. API Docs
  4. InstanceServer
Scaleway v1.26.0 published on Friday, Mar 28, 2025 by pulumiverse

scaleway.InstanceServer

Explore with Pulumi AI

Deprecated: scaleway.index/instanceserver.InstanceServer has been deprecated in favor of scaleway.instance/server.Server

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,
});
Copy
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)
Copy
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
	})
}
Copy
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,
    });

});
Copy
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());

    }
}
Copy
resources:
  publicIp:
    type: scaleway:instance:Ip
    name: public_ip
  web:
    type: scaleway:instance:Server
    properties:
      type: DEV1-S
      image: ubuntu_jammy
      ipId: ${publicIp.id}
Copy

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],
});
Copy
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])
Copy
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
	})
}
Copy
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,
        },
    });

});
Copy
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());

    }
}
Copy
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}
Copy

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,
});
Copy
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)
Copy
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
	})
}
Copy
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,
    });

});
Copy
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());

    }
}
Copy
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}
Copy

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,
});
Copy
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)
Copy
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
	})
}
Copy
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,
    });

});
Copy
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());

    }
}
Copy
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}
Copy

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,
    }],
});
Copy
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,
    }])
Copy
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
	})
}
Copy
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,
            },
        },
    });

});
Copy
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());

    }
}
Copy
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}
Copy

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,
    },
});
Copy
import pulumi
import pulumiverse_scaleway as scaleway

image = scaleway.instance.Server("image",
    type="PRO2-XXS",
    image="ubuntu_jammy",
    root_volume={
        "size_in_gb": 100,
    })
Copy
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
	})
}
Copy
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,
        },
    });

});
Copy
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());

    }
}
Copy
resources:
  image:
    type: scaleway:instance:Server
    properties:
      type: PRO2-XXS
      image: ubuntu_jammy
      rootVolume:
        sizeInGb: 100
Copy

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",
    },
});
Copy
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",
    })
Copy
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
	})
}
Copy
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",
        },
    });

});
Copy
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());

    }
}
Copy
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
Copy

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,
    },
});
Copy
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,
    })
Copy
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
	})
}
Copy
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,
        },
    });

});
Copy
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());

    }
}
Copy
resources:
  server:
    type: scaleway:instance:Server
    properties:
      type: PLAY2-MICRO
      image: ubuntu_jammy
      rootVolume:
        volumeType: sbs_volume
        sbsIops: 15000
        sizeInGb: 50
Copy

Private Network

Important: Updates to private_network will recreate a new private network interface.

  • pn_id - (Required) The private network ID where to connect.
  • mac_address The private NIC MAC address.
  • status The private NIC state.
  • zone - (Defaults to 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 InstanceServer Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new InstanceServer(name: string, args: InstanceServerArgs, opts?: CustomResourceOptions);
@overload
def InstanceServer(resource_name: str,
                   args: InstanceServerArgs,
                   opts: Optional[ResourceOptions] = None)

@overload
def InstanceServer(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   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,
                   name: Optional[str] = None,
                   placement_group_id: Optional[str] = None,
                   private_networks: Optional[Sequence[InstanceServerPrivateNetworkArgs]] = None,
                   project_id: Optional[str] = None,
                   public_ips: Optional[Sequence[InstanceServerPublicIpArgs]] = None,
                   replace_on_type_change: Optional[bool] = None,
                   root_volume: Optional[InstanceServerRootVolumeArgs] = 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)
func NewInstanceServer(ctx *Context, name string, args InstanceServerArgs, opts ...ResourceOption) (*InstanceServer, error)
public InstanceServer(string name, InstanceServerArgs args, CustomResourceOptions? opts = null)
public InstanceServer(String name, InstanceServerArgs args)
public InstanceServer(String name, InstanceServerArgs args, CustomResourceOptions options)
type: scaleway:InstanceServer
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. InstanceServerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. InstanceServerArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. InstanceServerArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. InstanceServerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. InstanceServerArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

InstanceServer Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The InstanceServer resource accepts the following input properties:

Type This property is required. string

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

AdditionalVolumeIds List<string>

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
BootscriptId string
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

CloudInit string
The cloud init script associated with this server
EnableDynamicIp bool
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_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

Image string

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field to the new ip_ids, it should not detach the ip.

Name string
The name of the server.
PlacementGroupId string

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

PrivateNetworks List<Pulumiverse.Scaleway.Inputs.InstanceServerPrivateNetwork>
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
ProjectId Changes to this property will trigger replacement. string
project_id) The ID of the project the server is associated with.
PublicIps List<Pulumiverse.Scaleway.Inputs.InstanceServerPublicIp>
The list of public IPs of the server.
ReplaceOnTypeChange bool
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
RootVolume Pulumiverse.Scaleway.Inputs.InstanceServerRootVolume
Root volume attached to the server on creation.
SecurityGroupId string
The security group the server is attached to
State string
The state of the server. Possible values are: started, stopped or standby.
Tags List<string>
The tags associated with the server.
UserData Dictionary<string, string>
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
Zone Changes to this property will trigger replacement. string
zone) The zone in which the server should be created.
Type This property is required. string

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

AdditionalVolumeIds []string

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
BootscriptId string
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

CloudInit string
The cloud init script associated with this server
EnableDynamicIp bool
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_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

Image string

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field to the new ip_ids, it should not detach the ip.

Name string
The name of the server.
PlacementGroupId string

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

PrivateNetworks []InstanceServerPrivateNetworkArgs
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
ProjectId Changes to this property will trigger replacement. string
project_id) The ID of the project the server is associated with.
PublicIps []InstanceServerPublicIpArgs
The list of public IPs of the server.
ReplaceOnTypeChange bool
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
RootVolume InstanceServerRootVolumeArgs
Root volume attached to the server on creation.
SecurityGroupId string
The security group the server is attached to
State string
The state of the server. Possible values are: started, stopped or standby.
Tags []string
The tags associated with the server.
UserData map[string]string
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
Zone Changes to this property will trigger replacement. string
zone) The zone in which the server should be created.
type This property is required. String

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

additionalVolumeIds List<String>

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
bootscriptId String
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

cloudInit String
The cloud init script associated with this server
enableDynamicIp Boolean
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_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

image String

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field to the new ip_ids, it should not detach the ip.

name String
The name of the server.
placementGroupId String

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

privateNetworks List<InstanceServerPrivateNetwork>
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
projectId Changes to this property will trigger replacement. String
project_id) The ID of the project the server is associated with.
publicIps List<InstanceServerPublicIp>
The list of public IPs of the server.
replaceOnTypeChange Boolean
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
rootVolume InstanceServerRootVolume
Root volume attached to the server on creation.
securityGroupId String
The security group the server is attached to
state String
The state of the server. Possible values are: started, stopped or standby.
tags List<String>
The tags associated with the server.
userData Map<String,String>
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
zone Changes to this property will trigger replacement. String
zone) The zone in which the server should be created.
type This property is required. string

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

additionalVolumeIds string[]

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
bootscriptId string
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

cloudInit string
The cloud init script associated with this server
enableDynamicIp boolean
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_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

image string

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field to the new ip_ids, it should not detach the ip.

name string
The name of the server.
placementGroupId string

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

privateNetworks InstanceServerPrivateNetwork[]
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
projectId Changes to this property will trigger replacement. string
project_id) The ID of the project the server is associated with.
publicIps InstanceServerPublicIp[]
The list of public IPs of the server.
replaceOnTypeChange boolean
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
rootVolume InstanceServerRootVolume
Root volume attached to the server on creation.
securityGroupId string
The security group the server is attached to
state string
The state of the server. Possible values are: started, stopped or standby.
tags string[]
The tags associated with the server.
userData {[key: string]: string}
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
zone Changes to this property will trigger replacement. string
zone) The zone in which the server should be created.
type This property is required. str

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

additional_volume_ids Sequence[str]

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
bootscript_id str
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

cloud_init str
The cloud init script associated with this server
enable_dynamic_ip bool
If true a dynamic IP will be attached to the server.
enable_ipv6 bool
Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

image str

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field to the new ip_ids, it should not detach the ip.

name str
The name of the server.
placement_group_id str

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

private_networks Sequence[InstanceServerPrivateNetworkArgs]
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
project_id Changes to this property will trigger replacement. str
project_id) The ID of the project the server is associated with.
public_ips Sequence[InstanceServerPublicIpArgs]
The list of public IPs of the server.
replace_on_type_change bool
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
root_volume InstanceServerRootVolumeArgs
Root volume attached to the server on creation.
security_group_id str
The security group the server is attached to
state str
The state of the server. Possible values are: started, stopped or standby.
tags Sequence[str]
The tags associated with the server.
user_data Mapping[str, str]
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
zone Changes to this property will trigger replacement. str
zone) The zone in which the server should be created.
type This property is required. String

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

additionalVolumeIds List<String>

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
bootscriptId String
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

cloudInit String
The cloud init script associated with this server
enableDynamicIp Boolean
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_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

image String

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field to the new ip_ids, it should not detach the ip.

name String
The name of the server.
placementGroupId String

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

privateNetworks List<Property Map>
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
projectId Changes to this property will trigger replacement. 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.
replaceOnTypeChange Boolean
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
rootVolume Property Map
Root volume attached to the server on creation.
securityGroupId String
The security group the server is attached to
state String
The state of the server. Possible values are: started, stopped or standby.
tags List<String>
The tags associated with the server.
userData Map<String>
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
zone Changes to this property will trigger replacement. String
zone) The zone in which the server should be created.

Outputs

All input properties are implicitly available as output properties. Additionally, the InstanceServer resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Ipv6Address string
The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

Ipv6Gateway string
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

OrganizationId string
The organization ID the server is associated with.
PlacementGroupPolicyRespected bool
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

PublicIp string
The public IP address of the server (Deprecated use public_ips instead).

Deprecated: Use public_ips instead

Id string
The provider-assigned unique ID for this managed resource.
Ipv6Address string
The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

Ipv6Gateway string
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

OrganizationId string
The organization ID the server is associated with.
PlacementGroupPolicyRespected bool
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

PublicIp string
The public IP address of the server (Deprecated use public_ips instead).

Deprecated: Use public_ips instead

id String
The provider-assigned unique ID for this managed resource.
ipv6Address String
The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

ipv6Gateway String
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

organizationId String
The organization ID the server is associated with.
placementGroupPolicyRespected Boolean
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

publicIp String
The public IP address of the server (Deprecated use public_ips instead).

Deprecated: Use public_ips instead

id string
The provider-assigned unique ID for this managed resource.
ipv6Address string
The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

ipv6Gateway string
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

organizationId string
The organization ID the server is associated with.
placementGroupPolicyRespected boolean
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

publicIp string
The public IP address of the server (Deprecated use public_ips instead).

Deprecated: Use public_ips instead

id str
The provider-assigned unique ID for this managed resource.
ipv6_address str
The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

ipv6_gateway str
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

ipv6_prefix_length int
The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

organization_id str
The organization ID the server is associated with.
placement_group_policy_respected bool
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

public_ip str
The public IP address of the server (Deprecated use public_ips instead).

Deprecated: Use public_ips instead

id String
The provider-assigned unique ID for this managed resource.
ipv6Address String
The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

ipv6Gateway String
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

organizationId String
The organization ID the server is associated with.
placementGroupPolicyRespected Boolean
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

publicIp String
The public IP address of the server (Deprecated use public_ips instead).

Deprecated: Use public_ips instead

Look up Existing InstanceServer Resource

Get an existing InstanceServer resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: InstanceServerState, opts?: CustomResourceOptions): InstanceServer
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        additional_volume_ids: Optional[Sequence[str]] = None,
        boot_type: Optional[str] = None,
        bootscript_id: Optional[str] = None,
        cloud_init: Optional[str] = None,
        enable_dynamic_ip: Optional[bool] = None,
        enable_ipv6: Optional[bool] = None,
        image: Optional[str] = None,
        ip_id: Optional[str] = None,
        ip_ids: Optional[Sequence[str]] = None,
        ipv6_address: Optional[str] = None,
        ipv6_gateway: Optional[str] = None,
        ipv6_prefix_length: Optional[int] = None,
        name: Optional[str] = None,
        organization_id: Optional[str] = None,
        placement_group_id: Optional[str] = None,
        placement_group_policy_respected: Optional[bool] = None,
        private_ip: Optional[str] = None,
        private_networks: Optional[Sequence[InstanceServerPrivateNetworkArgs]] = None,
        project_id: Optional[str] = None,
        public_ip: Optional[str] = None,
        public_ips: Optional[Sequence[InstanceServerPublicIpArgs]] = None,
        replace_on_type_change: Optional[bool] = None,
        root_volume: Optional[InstanceServerRootVolumeArgs] = None,
        security_group_id: Optional[str] = None,
        state: Optional[str] = None,
        tags: Optional[Sequence[str]] = None,
        type: Optional[str] = None,
        user_data: Optional[Mapping[str, str]] = None,
        zone: Optional[str] = None) -> InstanceServer
func GetInstanceServer(ctx *Context, name string, id IDInput, state *InstanceServerState, opts ...ResourceOption) (*InstanceServer, error)
public static InstanceServer Get(string name, Input<string> id, InstanceServerState? state, CustomResourceOptions? opts = null)
public static InstanceServer get(String name, Output<String> id, InstanceServerState state, CustomResourceOptions options)
resources:  _:    type: scaleway:InstanceServer    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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.
The following state arguments are supported:
AdditionalVolumeIds List<string>

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
BootscriptId string
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

CloudInit string
The cloud init script associated with this server
EnableDynamicIp bool
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_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

Image string

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field 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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

Ipv6Gateway string
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

Name string
The name of the server.
OrganizationId string
The organization ID the server is associated with.
PlacementGroupId string

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

PlacementGroupPolicyRespected bool
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

PrivateNetworks List<Pulumiverse.Scaleway.Inputs.InstanceServerPrivateNetwork>
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
ProjectId Changes to this property will trigger replacement. 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_ips instead).

Deprecated: Use public_ips instead

PublicIps List<Pulumiverse.Scaleway.Inputs.InstanceServerPublicIp>
The list of public IPs of the server.
ReplaceOnTypeChange bool
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
RootVolume Pulumiverse.Scaleway.Inputs.InstanceServerRootVolume
Root volume attached to the server on creation.
SecurityGroupId string
The security group the server is attached to
State string
The state of the server. Possible values are: started, stopped or standby.
Tags List<string>
The tags associated with the server.
Type string

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

UserData Dictionary<string, string>
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
Zone Changes to this property will trigger replacement. string
zone) The zone in which the server should be created.
AdditionalVolumeIds []string

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
BootscriptId string
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

CloudInit string
The cloud init script associated with this server
EnableDynamicIp bool
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_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

Image string

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field 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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

Ipv6Gateway string
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

Name string
The name of the server.
OrganizationId string
The organization ID the server is associated with.
PlacementGroupId string

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

PlacementGroupPolicyRespected bool
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

PrivateNetworks []InstanceServerPrivateNetworkArgs
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
ProjectId Changes to this property will trigger replacement. 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_ips instead).

Deprecated: Use public_ips instead

PublicIps []InstanceServerPublicIpArgs
The list of public IPs of the server.
ReplaceOnTypeChange bool
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
RootVolume InstanceServerRootVolumeArgs
Root volume attached to the server on creation.
SecurityGroupId string
The security group the server is attached to
State string
The state of the server. Possible values are: started, stopped or standby.
Tags []string
The tags associated with the server.
Type string

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

UserData map[string]string
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
Zone Changes to this property will trigger replacement. string
zone) The zone in which the server should be created.
additionalVolumeIds List<String>

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
bootscriptId String
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

cloudInit String
The cloud init script associated with this server
enableDynamicIp Boolean
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_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

image String

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field 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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

ipv6Gateway String
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

name String
The name of the server.
organizationId String
The organization ID the server is associated with.
placementGroupId String

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

placementGroupPolicyRespected Boolean
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

privateNetworks List<InstanceServerPrivateNetwork>
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
projectId Changes to this property will trigger replacement. 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_ips instead).

Deprecated: Use public_ips instead

publicIps List<InstanceServerPublicIp>
The list of public IPs of the server.
replaceOnTypeChange Boolean
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
rootVolume InstanceServerRootVolume
Root volume attached to the server on creation.
securityGroupId String
The security group the server is attached to
state String
The state of the server. Possible values are: started, stopped or standby.
tags List<String>
The tags associated with the server.
type String

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

userData Map<String,String>
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
zone Changes to this property will trigger replacement. String
zone) The zone in which the server should be created.
additionalVolumeIds string[]

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
bootscriptId string
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

cloudInit string
The cloud init script associated with this server
enableDynamicIp boolean
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_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

image string

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field 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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

ipv6Gateway string
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

name string
The name of the server.
organizationId string
The organization ID the server is associated with.
placementGroupId string

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

placementGroupPolicyRespected boolean
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

privateNetworks InstanceServerPrivateNetwork[]
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
projectId Changes to this property will trigger replacement. 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_ips instead).

Deprecated: Use public_ips instead

publicIps InstanceServerPublicIp[]
The list of public IPs of the server.
replaceOnTypeChange boolean
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
rootVolume InstanceServerRootVolume
Root volume attached to the server on creation.
securityGroupId string
The security group the server is attached to
state string
The state of the server. Possible values are: started, stopped or standby.
tags string[]
The tags associated with the server.
type string

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

userData {[key: string]: string}
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
zone Changes to this property will trigger replacement. string
zone) The zone in which the server should be created.
additional_volume_ids Sequence[str]

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
bootscript_id str
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

cloud_init str
The cloud init script associated with this server
enable_dynamic_ip bool
If true a dynamic IP will be attached to the server.
enable_ipv6 bool
Determines if IPv6 is enabled for the server. Useful only with routed_ip_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

image str

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field 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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

ipv6_gateway str
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

ipv6_prefix_length int
The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

name str
The name of the server.
organization_id str
The organization ID the server is associated with.
placement_group_id str

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

placement_group_policy_respected bool
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

private_networks Sequence[InstanceServerPrivateNetworkArgs]
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
project_id Changes to this property will trigger replacement. str
project_id) The ID of the project the server is associated with.
public_ip str
The public IP address of the server (Deprecated use public_ips instead).

Deprecated: Use public_ips instead

public_ips Sequence[InstanceServerPublicIpArgs]
The list of public IPs of the server.
replace_on_type_change bool
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
root_volume InstanceServerRootVolumeArgs
Root volume attached to the server on creation.
security_group_id str
The security group the server is attached to
state str
The state of the server. Possible values are: started, stopped or standby.
tags Sequence[str]
The tags associated with the server.
type str

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

user_data Mapping[str, str]
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
zone Changes to this property will trigger replacement. str
zone) The zone in which the server should be created.
additionalVolumeIds List<String>

The additional volumes attached to the server. Updates to this field will trigger a stop/start of the server.

Important: If this field contains local volumes, the state must be set 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, bootscript or rescue.
bootscriptId String
ID of the target bootscript (set boot_type to bootscript)

Deprecated: bootscript is not supported anymore.

cloudInit String
The cloud init script associated with this server
enableDynamicIp Boolean
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_enabled as false, otherwise ipv6 is always supported. Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

image String

The UUID or the label of the base image used by the server. You can use this endpoint to find either the right label or the right local image ID for 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_id to ip_ids migration: if moving the ip from the old ip_id field 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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

ipv6Gateway String
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true ) Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

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_ipv6 type.

Deprecated: Please use a scaleway.instance.Ip with a routed_ipv6 type

name String
The name of the server.
organizationId String
The organization ID the server is associated with.
placementGroupId String

The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.

Important: When updating placement_group_id the state must be set to stopped, otherwise it will fail.

placementGroupPolicyRespected Boolean
(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).

Deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.

privateNetworks List<Property Map>
The private network associated with the server. Use the pn_id key to attach a private_network on your instance.
projectId Changes to this property will trigger replacement. 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_ips instead).

Deprecated: Use public_ips instead

publicIps List<Property Map>
The list of public IPs of the server.
replaceOnTypeChange Boolean
If true, the server will be replaced if type is changed. Otherwise, the server will migrate.
rootVolume Property Map
Root volume attached to the server on creation.
securityGroupId String
The security group the server is attached to
state String
The state of the server. Possible values are: started, stopped or standby.
tags List<String>
The tags associated with the server.
type String

The commercial type of the server. You find all the available types on the pricing page. Updates to this field will migrate the server, local storage constraint must be respected. More info. Use replace_on_type_change to trigger replacement instead of migration.

Important: If type change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

userData Map<String>
The user data associated with the server. Use the cloud-init key to use cloud-init on your instance. You can define values using:

  • string
  • UTF-8 encoded file content using file
  • Binary files using filebase64.
zone Changes to this property will trigger replacement. String
zone) The zone in which the server should be created.

Supporting Types

InstanceServerPrivateNetwork
, InstanceServerPrivateNetworkArgs

PnId This property is required. 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 Changes to this property will trigger replacement. string
zone) The zone in which the server should be created.
PnId This property is required. 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 Changes to this property will trigger replacement. string
zone) The zone in which the server should be created.
pnId This property is required. 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 Changes to this property will trigger replacement. String
zone) The zone in which the server should be created.
pnId This property is required. 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 Changes to this property will trigger replacement. string
zone) The zone in which the server should be created.
pn_id This property is required. 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 Changes to this property will trigger replacement. str
zone) The zone in which the server should be created.
pnId This property is required. 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 Changes to this property will trigger replacement. String
zone) The zone in which the server should be created.

InstanceServerPublicIp
, InstanceServerPublicIpArgs

Address string
The address of the IP
Id string
The ID of the IP
Address string
The address of the IP
Id string
The ID of the IP
address String
The address of the IP
id String
The ID of the IP
address string
The address of the IP
id string
The ID of the IP
address str
The address of the IP
id str
The ID of the IP
address String
The address of the IP
id String
The ID of the IP

InstanceServerRootVolume
, InstanceServerRootVolumeArgs

Boot bool
Set the volume where the boot the server
DeleteOnTermination bool
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_volume for root volume type.

Important: Updates to root_volume.size_in_gb will be ignored after the creation of the server.

SizeInGb int
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 your commercial_type. Depending on volume_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 Changes to this property will trigger replacement. string
Volume type of root volume, can be b_ssd, l_ssd or sbs_volume, default value depends on server type
Boot bool
Set the volume where the boot the server
DeleteOnTermination bool
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_volume for root volume type.

Important: Updates to root_volume.size_in_gb will be ignored after the creation of the server.

SizeInGb int
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 your commercial_type. Depending on volume_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 Changes to this property will trigger replacement. string
Volume type of root volume, can be b_ssd, l_ssd or sbs_volume, default value depends on server type
boot Boolean
Set the volume where the boot the server
deleteOnTermination Boolean
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_volume for root volume type.

Important: Updates to root_volume.size_in_gb will be ignored after the creation of the server.

sizeInGb Integer
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 your commercial_type. Depending on volume_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 Changes to this property will trigger replacement. String
Volume type of root volume, can be b_ssd, l_ssd or sbs_volume, default value depends on server type
boot boolean
Set the volume where the boot the server
deleteOnTermination boolean
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_volume for root volume type.

Important: Updates to root_volume.size_in_gb will be ignored after the creation of the server.

sizeInGb number
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 your commercial_type. Depending on volume_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 Changes to this property will trigger replacement. string
Volume type of root volume, can be b_ssd, l_ssd or sbs_volume, default value depends on server type
boot bool
Set the volume where the boot the server
delete_on_termination bool
Forces deletion of the root volume on instance termination.
name str
The name of the server.
sbs_iops int

Choose IOPS of your sbs volume, has to be used with sbs_volume for root volume type.

Important: Updates to root_volume.size_in_gb will be ignored after the creation of the server.

size_in_gb int
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 your commercial_type. Depending on volume_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 Changes to this property will trigger replacement. str
Volume type of root volume, can be b_ssd, l_ssd or sbs_volume, default value depends on server type
boot Boolean
Set the volume where the boot the server
deleteOnTermination Boolean
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_volume for root volume type.

Important: Updates to root_volume.size_in_gb will be ignored after the creation of the server.

sizeInGb Number
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 your commercial_type. Depending on volume_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 Changes to this property will trigger replacement. String
Volume type of root volume, can be b_ssd, l_ssd or sbs_volume, default value depends on server type

Import

Instance servers can be imported using the {zone}/{id}, e.g.

bash

$ pulumi import scaleway:index/instanceServer:InstanceServer web fr-par-1/11111111-1111-1111-1111-111111111111
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
scaleway pulumiverse/pulumi-scaleway
License
Apache-2.0
Notes
This Pulumi package is based on the scaleway Terraform Provider.