1. Packages
  2. Scaleway
  3. API Docs
  4. instance
  5. Image
Scaleway v1.35.0 published on Tuesday, Oct 21, 2025 by pulumiverse

scaleway.instance.Image

Get Started
scaleway logo
Scaleway v1.35.0 published on Tuesday, Oct 21, 2025 by pulumiverse

    Creates and manages Scaleway Compute Images. For more information, see the API documentation.

    Example Usage

    From a volume

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const volume = new scaleway.instance.Volume("volume", {
        type: "b_ssd",
        sizeInGb: 20,
    });
    const volumeSnapshot = new scaleway.instance.Snapshot("volume_snapshot", {volumeId: volume.id});
    const volumeImage = new scaleway.instance.Image("volume_image", {
        name: "image_from_volume",
        rootVolumeId: volumeSnapshot.id,
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    volume = scaleway.instance.Volume("volume",
        type="b_ssd",
        size_in_gb=20)
    volume_snapshot = scaleway.instance.Snapshot("volume_snapshot", volume_id=volume.id)
    volume_image = scaleway.instance.Image("volume_image",
        name="image_from_volume",
        root_volume_id=volume_snapshot.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/instance"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		volume, err := instance.NewVolume(ctx, "volume", &instance.VolumeArgs{
    			Type:     pulumi.String("b_ssd"),
    			SizeInGb: pulumi.Int(20),
    		})
    		if err != nil {
    			return err
    		}
    		volumeSnapshot, err := instance.NewSnapshot(ctx, "volume_snapshot", &instance.SnapshotArgs{
    			VolumeId: volume.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = instance.NewImage(ctx, "volume_image", &instance.ImageArgs{
    			Name:         pulumi.String("image_from_volume"),
    			RootVolumeId: volumeSnapshot.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var volume = new Scaleway.Instance.Volume("volume", new()
        {
            Type = "b_ssd",
            SizeInGb = 20,
        });
    
        var volumeSnapshot = new Scaleway.Instance.Snapshot("volume_snapshot", new()
        {
            VolumeId = volume.Id,
        });
    
        var volumeImage = new Scaleway.Instance.Image("volume_image", new()
        {
            Name = "image_from_volume",
            RootVolumeId = volumeSnapshot.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.instance.Volume;
    import com.pulumi.scaleway.instance.VolumeArgs;
    import com.pulumi.scaleway.instance.Snapshot;
    import com.pulumi.scaleway.instance.SnapshotArgs;
    import com.pulumi.scaleway.instance.Image;
    import com.pulumi.scaleway.instance.ImageArgs;
    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 volume = new Volume("volume", VolumeArgs.builder()
                .type("b_ssd")
                .sizeInGb(20)
                .build());
    
            var volumeSnapshot = new Snapshot("volumeSnapshot", SnapshotArgs.builder()
                .volumeId(volume.id())
                .build());
    
            var volumeImage = new Image("volumeImage", ImageArgs.builder()
                .name("image_from_volume")
                .rootVolumeId(volumeSnapshot.id())
                .build());
    
        }
    }
    
    resources:
      volume:
        type: scaleway:instance:Volume
        properties:
          type: b_ssd
          sizeInGb: 20
      volumeSnapshot:
        type: scaleway:instance:Snapshot
        name: volume_snapshot
        properties:
          volumeId: ${volume.id}
      volumeImage:
        type: scaleway:instance:Image
        name: volume_image
        properties:
          name: image_from_volume
          rootVolumeId: ${volumeSnapshot.id}
    

    From a server

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const server = new scaleway.instance.Server("server", {
        image: "ubuntu_jammy",
        type: "DEV1-S",
    });
    const serverSnapshot = new scaleway.instance.Snapshot("server_snapshot", {volumeId: main.rootVolume[0].volumeId});
    const serverImage = new scaleway.instance.Image("server_image", {
        name: "image_from_server",
        rootVolumeId: serverSnapshot.id,
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    server = scaleway.instance.Server("server",
        image="ubuntu_jammy",
        type="DEV1-S")
    server_snapshot = scaleway.instance.Snapshot("server_snapshot", volume_id=main["rootVolume"][0]["volumeId"])
    server_image = scaleway.instance.Image("server_image",
        name="image_from_server",
        root_volume_id=server_snapshot.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/instance"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := instance.NewServer(ctx, "server", &instance.ServerArgs{
    			Image: pulumi.String("ubuntu_jammy"),
    			Type:  pulumi.String("DEV1-S"),
    		})
    		if err != nil {
    			return err
    		}
    		serverSnapshot, err := instance.NewSnapshot(ctx, "server_snapshot", &instance.SnapshotArgs{
    			VolumeId: pulumi.Any(main.RootVolume[0].VolumeId),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = instance.NewImage(ctx, "server_image", &instance.ImageArgs{
    			Name:         pulumi.String("image_from_server"),
    			RootVolumeId: serverSnapshot.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var server = new Scaleway.Instance.Server("server", new()
        {
            Image = "ubuntu_jammy",
            Type = "DEV1-S",
        });
    
        var serverSnapshot = new Scaleway.Instance.Snapshot("server_snapshot", new()
        {
            VolumeId = main.RootVolume[0].VolumeId,
        });
    
        var serverImage = new Scaleway.Instance.Image("server_image", new()
        {
            Name = "image_from_server",
            RootVolumeId = serverSnapshot.Id,
        });
    
    });
    
    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.Snapshot;
    import com.pulumi.scaleway.instance.SnapshotArgs;
    import com.pulumi.scaleway.instance.Image;
    import com.pulumi.scaleway.instance.ImageArgs;
    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()
                .image("ubuntu_jammy")
                .type("DEV1-S")
                .build());
    
            var serverSnapshot = new Snapshot("serverSnapshot", SnapshotArgs.builder()
                .volumeId(main.rootVolume()[0].volumeId())
                .build());
    
            var serverImage = new Image("serverImage", ImageArgs.builder()
                .name("image_from_server")
                .rootVolumeId(serverSnapshot.id())
                .build());
    
        }
    }
    
    resources:
      server:
        type: scaleway:instance:Server
        properties:
          image: ubuntu_jammy
          type: DEV1-S
      serverSnapshot:
        type: scaleway:instance:Snapshot
        name: server_snapshot
        properties:
          volumeId: ${main.rootVolume[0].volumeId}
      serverImage:
        type: scaleway:instance:Image
        name: server_image
        properties:
          name: image_from_server
          rootVolumeId: ${serverSnapshot.id}
    

    With additional volumes

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const server = new scaleway.instance.Server("server", {
        image: "ubuntu_jammy",
        type: "DEV1-S",
    });
    const volume = new scaleway.instance.Volume("volume", {
        type: "b_ssd",
        sizeInGb: 20,
    });
    const volumeSnapshot = new scaleway.instance.Snapshot("volume_snapshot", {volumeId: volume.id});
    const serverSnapshot = new scaleway.instance.Snapshot("server_snapshot", {volumeId: main.rootVolume[0].volumeId});
    const image = new scaleway.instance.Image("image", {
        name: "image_with_extra_volumes",
        rootVolumeId: serverSnapshot.id,
        additionalVolumeIds: [volumeSnapshot.id],
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    server = scaleway.instance.Server("server",
        image="ubuntu_jammy",
        type="DEV1-S")
    volume = scaleway.instance.Volume("volume",
        type="b_ssd",
        size_in_gb=20)
    volume_snapshot = scaleway.instance.Snapshot("volume_snapshot", volume_id=volume.id)
    server_snapshot = scaleway.instance.Snapshot("server_snapshot", volume_id=main["rootVolume"][0]["volumeId"])
    image = scaleway.instance.Image("image",
        name="image_with_extra_volumes",
        root_volume_id=server_snapshot.id,
        additional_volume_ids=[volume_snapshot.id])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/instance"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := instance.NewServer(ctx, "server", &instance.ServerArgs{
    			Image: pulumi.String("ubuntu_jammy"),
    			Type:  pulumi.String("DEV1-S"),
    		})
    		if err != nil {
    			return err
    		}
    		volume, err := instance.NewVolume(ctx, "volume", &instance.VolumeArgs{
    			Type:     pulumi.String("b_ssd"),
    			SizeInGb: pulumi.Int(20),
    		})
    		if err != nil {
    			return err
    		}
    		volumeSnapshot, err := instance.NewSnapshot(ctx, "volume_snapshot", &instance.SnapshotArgs{
    			VolumeId: volume.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		serverSnapshot, err := instance.NewSnapshot(ctx, "server_snapshot", &instance.SnapshotArgs{
    			VolumeId: pulumi.Any(main.RootVolume[0].VolumeId),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = instance.NewImage(ctx, "image", &instance.ImageArgs{
    			Name:         pulumi.String("image_with_extra_volumes"),
    			RootVolumeId: serverSnapshot.ID(),
    			AdditionalVolumeIds: pulumi.StringArray{
    				volumeSnapshot.ID(),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var server = new Scaleway.Instance.Server("server", new()
        {
            Image = "ubuntu_jammy",
            Type = "DEV1-S",
        });
    
        var volume = new Scaleway.Instance.Volume("volume", new()
        {
            Type = "b_ssd",
            SizeInGb = 20,
        });
    
        var volumeSnapshot = new Scaleway.Instance.Snapshot("volume_snapshot", new()
        {
            VolumeId = volume.Id,
        });
    
        var serverSnapshot = new Scaleway.Instance.Snapshot("server_snapshot", new()
        {
            VolumeId = main.RootVolume[0].VolumeId,
        });
    
        var image = new Scaleway.Instance.Image("image", new()
        {
            Name = "image_with_extra_volumes",
            RootVolumeId = serverSnapshot.Id,
            AdditionalVolumeIds = new[]
            {
                volumeSnapshot.Id,
            },
        });
    
    });
    
    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.Volume;
    import com.pulumi.scaleway.instance.VolumeArgs;
    import com.pulumi.scaleway.instance.Snapshot;
    import com.pulumi.scaleway.instance.SnapshotArgs;
    import com.pulumi.scaleway.instance.Image;
    import com.pulumi.scaleway.instance.ImageArgs;
    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()
                .image("ubuntu_jammy")
                .type("DEV1-S")
                .build());
    
            var volume = new Volume("volume", VolumeArgs.builder()
                .type("b_ssd")
                .sizeInGb(20)
                .build());
    
            var volumeSnapshot = new Snapshot("volumeSnapshot", SnapshotArgs.builder()
                .volumeId(volume.id())
                .build());
    
            var serverSnapshot = new Snapshot("serverSnapshot", SnapshotArgs.builder()
                .volumeId(main.rootVolume()[0].volumeId())
                .build());
    
            var image = new Image("image", ImageArgs.builder()
                .name("image_with_extra_volumes")
                .rootVolumeId(serverSnapshot.id())
                .additionalVolumeIds(volumeSnapshot.id())
                .build());
    
        }
    }
    
    resources:
      server:
        type: scaleway:instance:Server
        properties:
          image: ubuntu_jammy
          type: DEV1-S
      volume:
        type: scaleway:instance:Volume
        properties:
          type: b_ssd
          sizeInGb: 20
      volumeSnapshot:
        type: scaleway:instance:Snapshot
        name: volume_snapshot
        properties:
          volumeId: ${volume.id}
      serverSnapshot:
        type: scaleway:instance:Snapshot
        name: server_snapshot
        properties:
          volumeId: ${main.rootVolume[0].volumeId}
      image:
        type: scaleway:instance:Image
        properties:
          name: image_with_extra_volumes
          rootVolumeId: ${serverSnapshot.id}
          additionalVolumeIds:
            - ${volumeSnapshot.id}
    

    Create Image Resource

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

    Constructor syntax

    new Image(name: string, args: ImageArgs, opts?: CustomResourceOptions);
    @overload
    def Image(resource_name: str,
              args: ImageArgs,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Image(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              root_volume_id: Optional[str] = None,
              additional_volume_ids: Optional[Sequence[str]] = None,
              architecture: Optional[str] = None,
              name: Optional[str] = None,
              project_id: Optional[str] = None,
              public: Optional[bool] = None,
              tags: Optional[Sequence[str]] = None,
              zone: Optional[str] = None)
    func NewImage(ctx *Context, name string, args ImageArgs, opts ...ResourceOption) (*Image, error)
    public Image(string name, ImageArgs args, CustomResourceOptions? opts = null)
    public Image(String name, ImageArgs args)
    public Image(String name, ImageArgs args, CustomResourceOptions options)
    
    type: scaleway:instance:Image
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

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

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var imageResource = new Scaleway.Instance.Image("imageResource", new()
    {
        RootVolumeId = "string",
        AdditionalVolumeIds = new[]
        {
            "string",
        },
        Architecture = "string",
        Name = "string",
        ProjectId = "string",
        Public = false,
        Tags = new[]
        {
            "string",
        },
        Zone = "string",
    });
    
    example, err := instance.NewImage(ctx, "imageResource", &instance.ImageArgs{
    	RootVolumeId: pulumi.String("string"),
    	AdditionalVolumeIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Architecture: pulumi.String("string"),
    	Name:         pulumi.String("string"),
    	ProjectId:    pulumi.String("string"),
    	Public:       pulumi.Bool(false),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Zone: pulumi.String("string"),
    })
    
    var imageResource = new Image("imageResource", ImageArgs.builder()
        .rootVolumeId("string")
        .additionalVolumeIds("string")
        .architecture("string")
        .name("string")
        .projectId("string")
        .public_(false)
        .tags("string")
        .zone("string")
        .build());
    
    image_resource = scaleway.instance.Image("imageResource",
        root_volume_id="string",
        additional_volume_ids=["string"],
        architecture="string",
        name="string",
        project_id="string",
        public=False,
        tags=["string"],
        zone="string")
    
    const imageResource = new scaleway.instance.Image("imageResource", {
        rootVolumeId: "string",
        additionalVolumeIds: ["string"],
        architecture: "string",
        name: "string",
        projectId: "string",
        "public": false,
        tags: ["string"],
        zone: "string",
    });
    
    type: scaleway:instance:Image
    properties:
        additionalVolumeIds:
            - string
        architecture: string
        name: string
        projectId: string
        public: false
        rootVolumeId: string
        tags:
            - string
        zone: string
    

    Image 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 Image resource accepts the following input properties:

    RootVolumeId string
    The ID of the snapshot of the volume to be used as root in the image.
    AdditionalVolumeIds List<string>
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    Architecture string
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    Name string
    The name of the image. If not provided it will be randomly generated.
    ProjectId string
    The ID of the project the image is associated with.
    Public bool
    Set to true if the image is public.
    Tags List<string>
    A list of tags to apply to the image.
    Zone string
    The zone in which the image should be created.
    RootVolumeId string
    The ID of the snapshot of the volume to be used as root in the image.
    AdditionalVolumeIds []string
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    Architecture string
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    Name string
    The name of the image. If not provided it will be randomly generated.
    ProjectId string
    The ID of the project the image is associated with.
    Public bool
    Set to true if the image is public.
    Tags []string
    A list of tags to apply to the image.
    Zone string
    The zone in which the image should be created.
    rootVolumeId String
    The ID of the snapshot of the volume to be used as root in the image.
    additionalVolumeIds List<String>
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    architecture String
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    name String
    The name of the image. If not provided it will be randomly generated.
    projectId String
    The ID of the project the image is associated with.
    public_ Boolean
    Set to true if the image is public.
    tags List<String>
    A list of tags to apply to the image.
    zone String
    The zone in which the image should be created.
    rootVolumeId string
    The ID of the snapshot of the volume to be used as root in the image.
    additionalVolumeIds string[]
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    architecture string
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    name string
    The name of the image. If not provided it will be randomly generated.
    projectId string
    The ID of the project the image is associated with.
    public boolean
    Set to true if the image is public.
    tags string[]
    A list of tags to apply to the image.
    zone string
    The zone in which the image should be created.
    root_volume_id str
    The ID of the snapshot of the volume to be used as root in the image.
    additional_volume_ids Sequence[str]
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    architecture str
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    name str
    The name of the image. If not provided it will be randomly generated.
    project_id str
    The ID of the project the image is associated with.
    public bool
    Set to true if the image is public.
    tags Sequence[str]
    A list of tags to apply to the image.
    zone str
    The zone in which the image should be created.
    rootVolumeId String
    The ID of the snapshot of the volume to be used as root in the image.
    additionalVolumeIds List<String>
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    architecture String
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    name String
    The name of the image. If not provided it will be randomly generated.
    projectId String
    The ID of the project the image is associated with.
    public Boolean
    Set to true if the image is public.
    tags List<String>
    A list of tags to apply to the image.
    zone String
    The zone in which the image should be created.

    Outputs

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

    AdditionalVolumes List<Pulumiverse.Scaleway.Instance.Outputs.ImageAdditionalVolume>
    The description of the extra volumes attached to the image.
    CreationDate string
    Date of the image creation.
    FromServerId string
    ID of the server the image is based on (in case it is a backup).
    Id string
    The provider-assigned unique ID for this managed resource.
    ModificationDate string
    Date of image latest update.
    OrganizationId string
    The organization ID the image is associated with.
    RootVolumes List<Pulumiverse.Scaleway.Instance.Outputs.ImageRootVolume>
    The description of the root volume attached to the image.
    State string
    State of the image. Possible values are: available, creating or error.
    AdditionalVolumes []ImageAdditionalVolume
    The description of the extra volumes attached to the image.
    CreationDate string
    Date of the image creation.
    FromServerId string
    ID of the server the image is based on (in case it is a backup).
    Id string
    The provider-assigned unique ID for this managed resource.
    ModificationDate string
    Date of image latest update.
    OrganizationId string
    The organization ID the image is associated with.
    RootVolumes []ImageRootVolume
    The description of the root volume attached to the image.
    State string
    State of the image. Possible values are: available, creating or error.
    additionalVolumes List<ImageAdditionalVolume>
    The description of the extra volumes attached to the image.
    creationDate String
    Date of the image creation.
    fromServerId String
    ID of the server the image is based on (in case it is a backup).
    id String
    The provider-assigned unique ID for this managed resource.
    modificationDate String
    Date of image latest update.
    organizationId String
    The organization ID the image is associated with.
    rootVolumes List<ImageRootVolume>
    The description of the root volume attached to the image.
    state String
    State of the image. Possible values are: available, creating or error.
    additionalVolumes ImageAdditionalVolume[]
    The description of the extra volumes attached to the image.
    creationDate string
    Date of the image creation.
    fromServerId string
    ID of the server the image is based on (in case it is a backup).
    id string
    The provider-assigned unique ID for this managed resource.
    modificationDate string
    Date of image latest update.
    organizationId string
    The organization ID the image is associated with.
    rootVolumes ImageRootVolume[]
    The description of the root volume attached to the image.
    state string
    State of the image. Possible values are: available, creating or error.
    additional_volumes Sequence[ImageAdditionalVolume]
    The description of the extra volumes attached to the image.
    creation_date str
    Date of the image creation.
    from_server_id str
    ID of the server the image is based on (in case it is a backup).
    id str
    The provider-assigned unique ID for this managed resource.
    modification_date str
    Date of image latest update.
    organization_id str
    The organization ID the image is associated with.
    root_volumes Sequence[ImageRootVolume]
    The description of the root volume attached to the image.
    state str
    State of the image. Possible values are: available, creating or error.
    additionalVolumes List<Property Map>
    The description of the extra volumes attached to the image.
    creationDate String
    Date of the image creation.
    fromServerId String
    ID of the server the image is based on (in case it is a backup).
    id String
    The provider-assigned unique ID for this managed resource.
    modificationDate String
    Date of image latest update.
    organizationId String
    The organization ID the image is associated with.
    rootVolumes List<Property Map>
    The description of the root volume attached to the image.
    state String
    State of the image. Possible values are: available, creating or error.

    Look up Existing Image Resource

    Get an existing Image 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?: ImageState, opts?: CustomResourceOptions): Image
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            additional_volume_ids: Optional[Sequence[str]] = None,
            additional_volumes: Optional[Sequence[ImageAdditionalVolumeArgs]] = None,
            architecture: Optional[str] = None,
            creation_date: Optional[str] = None,
            from_server_id: Optional[str] = None,
            modification_date: Optional[str] = None,
            name: Optional[str] = None,
            organization_id: Optional[str] = None,
            project_id: Optional[str] = None,
            public: Optional[bool] = None,
            root_volume_id: Optional[str] = None,
            root_volumes: Optional[Sequence[ImageRootVolumeArgs]] = None,
            state: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            zone: Optional[str] = None) -> Image
    func GetImage(ctx *Context, name string, id IDInput, state *ImageState, opts ...ResourceOption) (*Image, error)
    public static Image Get(string name, Input<string> id, ImageState? state, CustomResourceOptions? opts = null)
    public static Image get(String name, Output<String> id, ImageState state, CustomResourceOptions options)
    resources:  _:    type: scaleway:instance:Image    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AdditionalVolumeIds List<string>
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    AdditionalVolumes List<Pulumiverse.Scaleway.Instance.Inputs.ImageAdditionalVolume>
    The description of the extra volumes attached to the image.
    Architecture string
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    CreationDate string
    Date of the image creation.
    FromServerId string
    ID of the server the image is based on (in case it is a backup).
    ModificationDate string
    Date of image latest update.
    Name string
    The name of the image. If not provided it will be randomly generated.
    OrganizationId string
    The organization ID the image is associated with.
    ProjectId string
    The ID of the project the image is associated with.
    Public bool
    Set to true if the image is public.
    RootVolumeId string
    The ID of the snapshot of the volume to be used as root in the image.
    RootVolumes List<Pulumiverse.Scaleway.Instance.Inputs.ImageRootVolume>
    The description of the root volume attached to the image.
    State string
    State of the image. Possible values are: available, creating or error.
    Tags List<string>
    A list of tags to apply to the image.
    Zone string
    The zone in which the image should be created.
    AdditionalVolumeIds []string
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    AdditionalVolumes []ImageAdditionalVolumeArgs
    The description of the extra volumes attached to the image.
    Architecture string
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    CreationDate string
    Date of the image creation.
    FromServerId string
    ID of the server the image is based on (in case it is a backup).
    ModificationDate string
    Date of image latest update.
    Name string
    The name of the image. If not provided it will be randomly generated.
    OrganizationId string
    The organization ID the image is associated with.
    ProjectId string
    The ID of the project the image is associated with.
    Public bool
    Set to true if the image is public.
    RootVolumeId string
    The ID of the snapshot of the volume to be used as root in the image.
    RootVolumes []ImageRootVolumeArgs
    The description of the root volume attached to the image.
    State string
    State of the image. Possible values are: available, creating or error.
    Tags []string
    A list of tags to apply to the image.
    Zone string
    The zone in which the image should be created.
    additionalVolumeIds List<String>
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    additionalVolumes List<ImageAdditionalVolume>
    The description of the extra volumes attached to the image.
    architecture String
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    creationDate String
    Date of the image creation.
    fromServerId String
    ID of the server the image is based on (in case it is a backup).
    modificationDate String
    Date of image latest update.
    name String
    The name of the image. If not provided it will be randomly generated.
    organizationId String
    The organization ID the image is associated with.
    projectId String
    The ID of the project the image is associated with.
    public_ Boolean
    Set to true if the image is public.
    rootVolumeId String
    The ID of the snapshot of the volume to be used as root in the image.
    rootVolumes List<ImageRootVolume>
    The description of the root volume attached to the image.
    state String
    State of the image. Possible values are: available, creating or error.
    tags List<String>
    A list of tags to apply to the image.
    zone String
    The zone in which the image should be created.
    additionalVolumeIds string[]
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    additionalVolumes ImageAdditionalVolume[]
    The description of the extra volumes attached to the image.
    architecture string
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    creationDate string
    Date of the image creation.
    fromServerId string
    ID of the server the image is based on (in case it is a backup).
    modificationDate string
    Date of image latest update.
    name string
    The name of the image. If not provided it will be randomly generated.
    organizationId string
    The organization ID the image is associated with.
    projectId string
    The ID of the project the image is associated with.
    public boolean
    Set to true if the image is public.
    rootVolumeId string
    The ID of the snapshot of the volume to be used as root in the image.
    rootVolumes ImageRootVolume[]
    The description of the root volume attached to the image.
    state string
    State of the image. Possible values are: available, creating or error.
    tags string[]
    A list of tags to apply to the image.
    zone string
    The zone in which the image should be created.
    additional_volume_ids Sequence[str]
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    additional_volumes Sequence[ImageAdditionalVolumeArgs]
    The description of the extra volumes attached to the image.
    architecture str
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    creation_date str
    Date of the image creation.
    from_server_id str
    ID of the server the image is based on (in case it is a backup).
    modification_date str
    Date of image latest update.
    name str
    The name of the image. If not provided it will be randomly generated.
    organization_id str
    The organization ID the image is associated with.
    project_id str
    The ID of the project the image is associated with.
    public bool
    Set to true if the image is public.
    root_volume_id str
    The ID of the snapshot of the volume to be used as root in the image.
    root_volumes Sequence[ImageRootVolumeArgs]
    The description of the root volume attached to the image.
    state str
    State of the image. Possible values are: available, creating or error.
    tags Sequence[str]
    A list of tags to apply to the image.
    zone str
    The zone in which the image should be created.
    additionalVolumeIds List<String>
    List of IDs of the snapshots of the additional volumes to be attached to the image.
    additionalVolumes List<Property Map>
    The description of the extra volumes attached to the image.
    architecture String
    The architecture the image is compatible with. Possible values are: x86_64 or arm.
    creationDate String
    Date of the image creation.
    fromServerId String
    ID of the server the image is based on (in case it is a backup).
    modificationDate String
    Date of image latest update.
    name String
    The name of the image. If not provided it will be randomly generated.
    organizationId String
    The organization ID the image is associated with.
    projectId String
    The ID of the project the image is associated with.
    public Boolean
    Set to true if the image is public.
    rootVolumeId String
    The ID of the snapshot of the volume to be used as root in the image.
    rootVolumes List<Property Map>
    The description of the root volume attached to the image.
    state String
    State of the image. Possible values are: available, creating or error.
    tags List<String>
    A list of tags to apply to the image.
    zone String
    The zone in which the image should be created.

    Supporting Types

    ImageAdditionalVolume, ImageAdditionalVolumeArgs

    Id string
    ID of the server containing the volume.
    Name string
    The name of the image. If not provided it will be randomly generated.
    Server Dictionary<string, string>
    Description of the server containing the volume (in case the image is a backup from a server).
    Size int
    The size of the volume.
    Tags List<string>
    A list of tags to apply to the image.
    VolumeType string
    The type of volume, possible values are l_ssd and sbs_snapshot.
    Id string
    ID of the server containing the volume.
    Name string
    The name of the image. If not provided it will be randomly generated.
    Server map[string]string
    Description of the server containing the volume (in case the image is a backup from a server).
    Size int
    The size of the volume.
    Tags []string
    A list of tags to apply to the image.
    VolumeType string
    The type of volume, possible values are l_ssd and sbs_snapshot.
    id String
    ID of the server containing the volume.
    name String
    The name of the image. If not provided it will be randomly generated.
    server Map<String,String>
    Description of the server containing the volume (in case the image is a backup from a server).
    size Integer
    The size of the volume.
    tags List<String>
    A list of tags to apply to the image.
    volumeType String
    The type of volume, possible values are l_ssd and sbs_snapshot.
    id string
    ID of the server containing the volume.
    name string
    The name of the image. If not provided it will be randomly generated.
    server {[key: string]: string}
    Description of the server containing the volume (in case the image is a backup from a server).
    size number
    The size of the volume.
    tags string[]
    A list of tags to apply to the image.
    volumeType string
    The type of volume, possible values are l_ssd and sbs_snapshot.
    id str
    ID of the server containing the volume.
    name str
    The name of the image. If not provided it will be randomly generated.
    server Mapping[str, str]
    Description of the server containing the volume (in case the image is a backup from a server).
    size int
    The size of the volume.
    tags Sequence[str]
    A list of tags to apply to the image.
    volume_type str
    The type of volume, possible values are l_ssd and sbs_snapshot.
    id String
    ID of the server containing the volume.
    name String
    The name of the image. If not provided it will be randomly generated.
    server Map<String>
    Description of the server containing the volume (in case the image is a backup from a server).
    size Number
    The size of the volume.
    tags List<String>
    A list of tags to apply to the image.
    volumeType String
    The type of volume, possible values are l_ssd and sbs_snapshot.

    ImageRootVolume, ImageRootVolumeArgs

    Id string
    ID of the server containing the volume.
    Name string
    The name of the image. If not provided it will be randomly generated.
    Size int
    The size of the volume.
    VolumeType string
    The type of volume, possible values are l_ssd and sbs_snapshot.
    Id string
    ID of the server containing the volume.
    Name string
    The name of the image. If not provided it will be randomly generated.
    Size int
    The size of the volume.
    VolumeType string
    The type of volume, possible values are l_ssd and sbs_snapshot.
    id String
    ID of the server containing the volume.
    name String
    The name of the image. If not provided it will be randomly generated.
    size Integer
    The size of the volume.
    volumeType String
    The type of volume, possible values are l_ssd and sbs_snapshot.
    id string
    ID of the server containing the volume.
    name string
    The name of the image. If not provided it will be randomly generated.
    size number
    The size of the volume.
    volumeType string
    The type of volume, possible values are l_ssd and sbs_snapshot.
    id str
    ID of the server containing the volume.
    name str
    The name of the image. If not provided it will be randomly generated.
    size int
    The size of the volume.
    volume_type str
    The type of volume, possible values are l_ssd and sbs_snapshot.
    id String
    ID of the server containing the volume.
    name String
    The name of the image. If not provided it will be randomly generated.
    size Number
    The size of the volume.
    volumeType String
    The type of volume, possible values are l_ssd and sbs_snapshot.

    Import

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

    bash

    $ pulumi import scaleway:instance/image:Image main fr-par-1/11111111-1111-1111-1111-111111111111
    

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

    Package Details

    Repository
    scaleway pulumiverse/pulumi-scaleway
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scaleway Terraform Provider.
    scaleway logo
    Scaleway v1.35.0 published on Tuesday, Oct 21, 2025 by pulumiverse
      Meet Neo: Your AI Platform Teammate