1. Packages
  2. Scaleway
  3. API Docs
  4. autoscaling
  5. InstanceTemplate
Scaleway v1.32.0 published on Friday, Aug 1, 2025 by pulumiverse

scaleway.autoscaling.InstanceTemplate

Explore with Pulumi AI

scaleway logo
Scaleway v1.32.0 published on Friday, Aug 1, 2025 by pulumiverse

    Books and manages Autoscaling Instance templates.

    Example Usage

    Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const main = new scaleway.autoscaling.InstanceTemplate("main", {
        name: "asg-template",
        commercialType: "PLAY2-MICRO",
        tags: [
            "terraform-test",
            "basic",
        ],
        volumes: [{
            name: "as-volume",
            volumeType: "sbs",
            boot: true,
            fromSnapshot: {
                snapshotId: mainScalewayBlockSnapshot.id,
            },
            perfIops: 5000,
        }],
        publicIpsV4Count: 1,
        privateNetworkIds: [mainScalewayVpcPrivateNetwork.id],
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    main = scaleway.autoscaling.InstanceTemplate("main",
        name="asg-template",
        commercial_type="PLAY2-MICRO",
        tags=[
            "terraform-test",
            "basic",
        ],
        volumes=[{
            "name": "as-volume",
            "volume_type": "sbs",
            "boot": True,
            "from_snapshot": {
                "snapshot_id": main_scaleway_block_snapshot["id"],
            },
            "perf_iops": 5000,
        }],
        public_ips_v4_count=1,
        private_network_ids=[main_scaleway_vpc_private_network["id"]])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/autoscaling"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := autoscaling.NewInstanceTemplate(ctx, "main", &autoscaling.InstanceTemplateArgs{
    			Name:           pulumi.String("asg-template"),
    			CommercialType: pulumi.String("PLAY2-MICRO"),
    			Tags: pulumi.StringArray{
    				pulumi.String("terraform-test"),
    				pulumi.String("basic"),
    			},
    			Volumes: autoscaling.InstanceTemplateVolumeArray{
    				&autoscaling.InstanceTemplateVolumeArgs{
    					Name:       pulumi.String("as-volume"),
    					VolumeType: pulumi.String("sbs"),
    					Boot:       pulumi.Bool(true),
    					FromSnapshot: &autoscaling.InstanceTemplateVolumeFromSnapshotArgs{
    						SnapshotId: pulumi.Any(mainScalewayBlockSnapshot.Id),
    					},
    					PerfIops: pulumi.Int(5000),
    				},
    			},
    			PublicIpsV4Count: pulumi.Int(1),
    			PrivateNetworkIds: pulumi.StringArray{
    				mainScalewayVpcPrivateNetwork.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 main = new Scaleway.Autoscaling.InstanceTemplate("main", new()
        {
            Name = "asg-template",
            CommercialType = "PLAY2-MICRO",
            Tags = new[]
            {
                "terraform-test",
                "basic",
            },
            Volumes = new[]
            {
                new Scaleway.Autoscaling.Inputs.InstanceTemplateVolumeArgs
                {
                    Name = "as-volume",
                    VolumeType = "sbs",
                    Boot = true,
                    FromSnapshot = new Scaleway.Autoscaling.Inputs.InstanceTemplateVolumeFromSnapshotArgs
                    {
                        SnapshotId = mainScalewayBlockSnapshot.Id,
                    },
                    PerfIops = 5000,
                },
            },
            PublicIpsV4Count = 1,
            PrivateNetworkIds = new[]
            {
                mainScalewayVpcPrivateNetwork.Id,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.autoscaling.InstanceTemplate;
    import com.pulumi.scaleway.autoscaling.InstanceTemplateArgs;
    import com.pulumi.scaleway.autoscaling.inputs.InstanceTemplateVolumeArgs;
    import com.pulumi.scaleway.autoscaling.inputs.InstanceTemplateVolumeFromSnapshotArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var main = new InstanceTemplate("main", InstanceTemplateArgs.builder()
                .name("asg-template")
                .commercialType("PLAY2-MICRO")
                .tags(            
                    "terraform-test",
                    "basic")
                .volumes(InstanceTemplateVolumeArgs.builder()
                    .name("as-volume")
                    .volumeType("sbs")
                    .boot(true)
                    .fromSnapshot(InstanceTemplateVolumeFromSnapshotArgs.builder()
                        .snapshotId(mainScalewayBlockSnapshot.id())
                        .build())
                    .perfIops(5000)
                    .build())
                .publicIpsV4Count(1)
                .privateNetworkIds(mainScalewayVpcPrivateNetwork.id())
                .build());
    
        }
    }
    
    resources:
      main:
        type: scaleway:autoscaling:InstanceTemplate
        properties:
          name: asg-template
          commercialType: PLAY2-MICRO
          tags:
            - terraform-test
            - basic
          volumes:
            - name: as-volume
              volumeType: sbs
              boot: true
              fromSnapshot:
                snapshotId: ${mainScalewayBlockSnapshot.id}
              perfIops: 5000
          publicIpsV4Count: 1
          privateNetworkIds:
            - ${mainScalewayVpcPrivateNetwork.id}
    

    Create InstanceTemplate Resource

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

    Constructor syntax

    new InstanceTemplate(name: string, args: InstanceTemplateArgs, opts?: CustomResourceOptions);
    @overload
    def InstanceTemplate(resource_name: str,
                         args: InstanceTemplateArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def InstanceTemplate(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         commercial_type: Optional[str] = None,
                         project_id: Optional[str] = None,
                         image_id: Optional[str] = None,
                         name: Optional[str] = None,
                         placement_group_id: Optional[str] = None,
                         private_network_ids: Optional[Sequence[str]] = None,
                         cloud_init: Optional[str] = None,
                         public_ips_v4_count: Optional[int] = None,
                         public_ips_v6_count: Optional[int] = None,
                         security_group_id: Optional[str] = None,
                         tags: Optional[Sequence[str]] = None,
                         volumes: Optional[Sequence[InstanceTemplateVolumeArgs]] = None,
                         zone: Optional[str] = None)
    func NewInstanceTemplate(ctx *Context, name string, args InstanceTemplateArgs, opts ...ResourceOption) (*InstanceTemplate, error)
    public InstanceTemplate(string name, InstanceTemplateArgs args, CustomResourceOptions? opts = null)
    public InstanceTemplate(String name, InstanceTemplateArgs args)
    public InstanceTemplate(String name, InstanceTemplateArgs args, CustomResourceOptions options)
    
    type: scaleway:autoscaling:InstanceTemplate
    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 InstanceTemplateArgs
    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 InstanceTemplateArgs
    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 InstanceTemplateArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InstanceTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InstanceTemplateArgs
    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 instanceTemplateResource = new Scaleway.Autoscaling.InstanceTemplate("instanceTemplateResource", new()
    {
        CommercialType = "string",
        ProjectId = "string",
        ImageId = "string",
        Name = "string",
        PlacementGroupId = "string",
        PrivateNetworkIds = new[]
        {
            "string",
        },
        CloudInit = "string",
        PublicIpsV4Count = 0,
        PublicIpsV6Count = 0,
        SecurityGroupId = "string",
        Tags = new[]
        {
            "string",
        },
        Volumes = new[]
        {
            new Scaleway.Autoscaling.Inputs.InstanceTemplateVolumeArgs
            {
                Name = "string",
                VolumeType = "string",
                Boot = false,
                FromEmpty = new Scaleway.Autoscaling.Inputs.InstanceTemplateVolumeFromEmptyArgs
                {
                    Size = 0,
                },
                FromSnapshot = new Scaleway.Autoscaling.Inputs.InstanceTemplateVolumeFromSnapshotArgs
                {
                    SnapshotId = "string",
                    Size = 0,
                },
                PerfIops = 0,
                Tags = new[]
                {
                    "string",
                },
            },
        },
        Zone = "string",
    });
    
    example, err := autoscaling.NewInstanceTemplate(ctx, "instanceTemplateResource", &autoscaling.InstanceTemplateArgs{
    	CommercialType:   pulumi.String("string"),
    	ProjectId:        pulumi.String("string"),
    	ImageId:          pulumi.String("string"),
    	Name:             pulumi.String("string"),
    	PlacementGroupId: pulumi.String("string"),
    	PrivateNetworkIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	CloudInit:        pulumi.String("string"),
    	PublicIpsV4Count: pulumi.Int(0),
    	PublicIpsV6Count: pulumi.Int(0),
    	SecurityGroupId:  pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Volumes: autoscaling.InstanceTemplateVolumeArray{
    		&autoscaling.InstanceTemplateVolumeArgs{
    			Name:       pulumi.String("string"),
    			VolumeType: pulumi.String("string"),
    			Boot:       pulumi.Bool(false),
    			FromEmpty: &autoscaling.InstanceTemplateVolumeFromEmptyArgs{
    				Size: pulumi.Int(0),
    			},
    			FromSnapshot: &autoscaling.InstanceTemplateVolumeFromSnapshotArgs{
    				SnapshotId: pulumi.String("string"),
    				Size:       pulumi.Int(0),
    			},
    			PerfIops: pulumi.Int(0),
    			Tags: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	Zone: pulumi.String("string"),
    })
    
    var instanceTemplateResource = new InstanceTemplate("instanceTemplateResource", InstanceTemplateArgs.builder()
        .commercialType("string")
        .projectId("string")
        .imageId("string")
        .name("string")
        .placementGroupId("string")
        .privateNetworkIds("string")
        .cloudInit("string")
        .publicIpsV4Count(0)
        .publicIpsV6Count(0)
        .securityGroupId("string")
        .tags("string")
        .volumes(InstanceTemplateVolumeArgs.builder()
            .name("string")
            .volumeType("string")
            .boot(false)
            .fromEmpty(InstanceTemplateVolumeFromEmptyArgs.builder()
                .size(0)
                .build())
            .fromSnapshot(InstanceTemplateVolumeFromSnapshotArgs.builder()
                .snapshotId("string")
                .size(0)
                .build())
            .perfIops(0)
            .tags("string")
            .build())
        .zone("string")
        .build());
    
    instance_template_resource = scaleway.autoscaling.InstanceTemplate("instanceTemplateResource",
        commercial_type="string",
        project_id="string",
        image_id="string",
        name="string",
        placement_group_id="string",
        private_network_ids=["string"],
        cloud_init="string",
        public_ips_v4_count=0,
        public_ips_v6_count=0,
        security_group_id="string",
        tags=["string"],
        volumes=[{
            "name": "string",
            "volume_type": "string",
            "boot": False,
            "from_empty": {
                "size": 0,
            },
            "from_snapshot": {
                "snapshot_id": "string",
                "size": 0,
            },
            "perf_iops": 0,
            "tags": ["string"],
        }],
        zone="string")
    
    const instanceTemplateResource = new scaleway.autoscaling.InstanceTemplate("instanceTemplateResource", {
        commercialType: "string",
        projectId: "string",
        imageId: "string",
        name: "string",
        placementGroupId: "string",
        privateNetworkIds: ["string"],
        cloudInit: "string",
        publicIpsV4Count: 0,
        publicIpsV6Count: 0,
        securityGroupId: "string",
        tags: ["string"],
        volumes: [{
            name: "string",
            volumeType: "string",
            boot: false,
            fromEmpty: {
                size: 0,
            },
            fromSnapshot: {
                snapshotId: "string",
                size: 0,
            },
            perfIops: 0,
            tags: ["string"],
        }],
        zone: "string",
    });
    
    type: scaleway:autoscaling:InstanceTemplate
    properties:
        cloudInit: string
        commercialType: string
        imageId: string
        name: string
        placementGroupId: string
        privateNetworkIds:
            - string
        projectId: string
        publicIpsV4Count: 0
        publicIpsV6Count: 0
        securityGroupId: string
        tags:
            - string
        volumes:
            - boot: false
              fromEmpty:
                size: 0
              fromSnapshot:
                size: 0
                snapshotId: string
              name: string
              perfIops: 0
              tags:
                - string
              volumeType: string
        zone: string
    

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

    CommercialType string
    The name of Instance commercial type.
    CloudInit string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    ImageId string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    Name string
    The Instance group template.
    PlacementGroupId string
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    PrivateNetworkIds List<string>
    The private Network IDs to attach to the new Instance.
    ProjectId string
    project_id) The ID of the Project the Instance template is associated with.
    PublicIpsV4Count int
    The number of flexible IPv4 addresses to attach to the new Instance.
    PublicIpsV6Count int
    The number of flexible IPv6 addresses to attach to the new Instance.
    SecurityGroupId string
    The instance security group ID.
    Tags List<string>
    The tags associated with the Instance template.
    Volumes List<Pulumiverse.Scaleway.Autoscaling.Inputs.InstanceTemplateVolume>
    The template of Instance volume.
    Zone string
    zone) The zone in which the Instance template exists.
    CommercialType string
    The name of Instance commercial type.
    CloudInit string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    ImageId string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    Name string
    The Instance group template.
    PlacementGroupId string
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    PrivateNetworkIds []string
    The private Network IDs to attach to the new Instance.
    ProjectId string
    project_id) The ID of the Project the Instance template is associated with.
    PublicIpsV4Count int
    The number of flexible IPv4 addresses to attach to the new Instance.
    PublicIpsV6Count int
    The number of flexible IPv6 addresses to attach to the new Instance.
    SecurityGroupId string
    The instance security group ID.
    Tags []string
    The tags associated with the Instance template.
    Volumes []InstanceTemplateVolumeArgs
    The template of Instance volume.
    Zone string
    zone) The zone in which the Instance template exists.
    commercialType String
    The name of Instance commercial type.
    cloudInit String
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    imageId String
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    name String
    The Instance group template.
    placementGroupId String
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    privateNetworkIds List<String>
    The private Network IDs to attach to the new Instance.
    projectId String
    project_id) The ID of the Project the Instance template is associated with.
    publicIpsV4Count Integer
    The number of flexible IPv4 addresses to attach to the new Instance.
    publicIpsV6Count Integer
    The number of flexible IPv6 addresses to attach to the new Instance.
    securityGroupId String
    The instance security group ID.
    tags List<String>
    The tags associated with the Instance template.
    volumes List<InstanceTemplateVolume>
    The template of Instance volume.
    zone String
    zone) The zone in which the Instance template exists.
    commercialType string
    The name of Instance commercial type.
    cloudInit string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    imageId string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    name string
    The Instance group template.
    placementGroupId string
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    privateNetworkIds string[]
    The private Network IDs to attach to the new Instance.
    projectId string
    project_id) The ID of the Project the Instance template is associated with.
    publicIpsV4Count number
    The number of flexible IPv4 addresses to attach to the new Instance.
    publicIpsV6Count number
    The number of flexible IPv6 addresses to attach to the new Instance.
    securityGroupId string
    The instance security group ID.
    tags string[]
    The tags associated with the Instance template.
    volumes InstanceTemplateVolume[]
    The template of Instance volume.
    zone string
    zone) The zone in which the Instance template exists.
    commercial_type str
    The name of Instance commercial type.
    cloud_init str
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    image_id str
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    name str
    The Instance group template.
    placement_group_id str
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    private_network_ids Sequence[str]
    The private Network IDs to attach to the new Instance.
    project_id str
    project_id) The ID of the Project the Instance template is associated with.
    public_ips_v4_count int
    The number of flexible IPv4 addresses to attach to the new Instance.
    public_ips_v6_count int
    The number of flexible IPv6 addresses to attach to the new Instance.
    security_group_id str
    The instance security group ID.
    tags Sequence[str]
    The tags associated with the Instance template.
    volumes Sequence[InstanceTemplateVolumeArgs]
    The template of Instance volume.
    zone str
    zone) The zone in which the Instance template exists.
    commercialType String
    The name of Instance commercial type.
    cloudInit String
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    imageId String
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    name String
    The Instance group template.
    placementGroupId String
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    privateNetworkIds List<String>
    The private Network IDs to attach to the new Instance.
    projectId String
    project_id) The ID of the Project the Instance template is associated with.
    publicIpsV4Count Number
    The number of flexible IPv4 addresses to attach to the new Instance.
    publicIpsV6Count Number
    The number of flexible IPv6 addresses to attach to the new Instance.
    securityGroupId String
    The instance security group ID.
    tags List<String>
    The tags associated with the Instance template.
    volumes List<Property Map>
    The template of Instance volume.
    zone String
    zone) The zone in which the Instance template exists.

    Outputs

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

    CreatedAt string
    Date and time of Instance group's creation (RFC 3339 format).
    Id string
    The provider-assigned unique ID for this managed resource.
    Status string
    The Instance template status
    UpdatedAt string
    Date and time of Instance group's last update (RFC 3339 format).
    CreatedAt string
    Date and time of Instance group's creation (RFC 3339 format).
    Id string
    The provider-assigned unique ID for this managed resource.
    Status string
    The Instance template status
    UpdatedAt string
    Date and time of Instance group's last update (RFC 3339 format).
    createdAt String
    Date and time of Instance group's creation (RFC 3339 format).
    id String
    The provider-assigned unique ID for this managed resource.
    status String
    The Instance template status
    updatedAt String
    Date and time of Instance group's last update (RFC 3339 format).
    createdAt string
    Date and time of Instance group's creation (RFC 3339 format).
    id string
    The provider-assigned unique ID for this managed resource.
    status string
    The Instance template status
    updatedAt string
    Date and time of Instance group's last update (RFC 3339 format).
    created_at str
    Date and time of Instance group's creation (RFC 3339 format).
    id str
    The provider-assigned unique ID for this managed resource.
    status str
    The Instance template status
    updated_at str
    Date and time of Instance group's last update (RFC 3339 format).
    createdAt String
    Date and time of Instance group's creation (RFC 3339 format).
    id String
    The provider-assigned unique ID for this managed resource.
    status String
    The Instance template status
    updatedAt String
    Date and time of Instance group's last update (RFC 3339 format).

    Look up Existing InstanceTemplate Resource

    Get an existing InstanceTemplate 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?: InstanceTemplateState, opts?: CustomResourceOptions): InstanceTemplate
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            cloud_init: Optional[str] = None,
            commercial_type: Optional[str] = None,
            created_at: Optional[str] = None,
            image_id: Optional[str] = None,
            name: Optional[str] = None,
            placement_group_id: Optional[str] = None,
            private_network_ids: Optional[Sequence[str]] = None,
            project_id: Optional[str] = None,
            public_ips_v4_count: Optional[int] = None,
            public_ips_v6_count: Optional[int] = None,
            security_group_id: Optional[str] = None,
            status: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            updated_at: Optional[str] = None,
            volumes: Optional[Sequence[InstanceTemplateVolumeArgs]] = None,
            zone: Optional[str] = None) -> InstanceTemplate
    func GetInstanceTemplate(ctx *Context, name string, id IDInput, state *InstanceTemplateState, opts ...ResourceOption) (*InstanceTemplate, error)
    public static InstanceTemplate Get(string name, Input<string> id, InstanceTemplateState? state, CustomResourceOptions? opts = null)
    public static InstanceTemplate get(String name, Output<String> id, InstanceTemplateState state, CustomResourceOptions options)
    resources:  _:    type: scaleway:autoscaling:InstanceTemplate    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:
    CloudInit string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    CommercialType string
    The name of Instance commercial type.
    CreatedAt string
    Date and time of Instance group's creation (RFC 3339 format).
    ImageId string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    Name string
    The Instance group template.
    PlacementGroupId string
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    PrivateNetworkIds List<string>
    The private Network IDs to attach to the new Instance.
    ProjectId string
    project_id) The ID of the Project the Instance template is associated with.
    PublicIpsV4Count int
    The number of flexible IPv4 addresses to attach to the new Instance.
    PublicIpsV6Count int
    The number of flexible IPv6 addresses to attach to the new Instance.
    SecurityGroupId string
    The instance security group ID.
    Status string
    The Instance template status
    Tags List<string>
    The tags associated with the Instance template.
    UpdatedAt string
    Date and time of Instance group's last update (RFC 3339 format).
    Volumes List<Pulumiverse.Scaleway.Autoscaling.Inputs.InstanceTemplateVolume>
    The template of Instance volume.
    Zone string
    zone) The zone in which the Instance template exists.
    CloudInit string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    CommercialType string
    The name of Instance commercial type.
    CreatedAt string
    Date and time of Instance group's creation (RFC 3339 format).
    ImageId string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    Name string
    The Instance group template.
    PlacementGroupId string
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    PrivateNetworkIds []string
    The private Network IDs to attach to the new Instance.
    ProjectId string
    project_id) The ID of the Project the Instance template is associated with.
    PublicIpsV4Count int
    The number of flexible IPv4 addresses to attach to the new Instance.
    PublicIpsV6Count int
    The number of flexible IPv6 addresses to attach to the new Instance.
    SecurityGroupId string
    The instance security group ID.
    Status string
    The Instance template status
    Tags []string
    The tags associated with the Instance template.
    UpdatedAt string
    Date and time of Instance group's last update (RFC 3339 format).
    Volumes []InstanceTemplateVolumeArgs
    The template of Instance volume.
    Zone string
    zone) The zone in which the Instance template exists.
    cloudInit String
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    commercialType String
    The name of Instance commercial type.
    createdAt String
    Date and time of Instance group's creation (RFC 3339 format).
    imageId String
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    name String
    The Instance group template.
    placementGroupId String
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    privateNetworkIds List<String>
    The private Network IDs to attach to the new Instance.
    projectId String
    project_id) The ID of the Project the Instance template is associated with.
    publicIpsV4Count Integer
    The number of flexible IPv4 addresses to attach to the new Instance.
    publicIpsV6Count Integer
    The number of flexible IPv6 addresses to attach to the new Instance.
    securityGroupId String
    The instance security group ID.
    status String
    The Instance template status
    tags List<String>
    The tags associated with the Instance template.
    updatedAt String
    Date and time of Instance group's last update (RFC 3339 format).
    volumes List<InstanceTemplateVolume>
    The template of Instance volume.
    zone String
    zone) The zone in which the Instance template exists.
    cloudInit string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    commercialType string
    The name of Instance commercial type.
    createdAt string
    Date and time of Instance group's creation (RFC 3339 format).
    imageId string
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    name string
    The Instance group template.
    placementGroupId string
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    privateNetworkIds string[]
    The private Network IDs to attach to the new Instance.
    projectId string
    project_id) The ID of the Project the Instance template is associated with.
    publicIpsV4Count number
    The number of flexible IPv4 addresses to attach to the new Instance.
    publicIpsV6Count number
    The number of flexible IPv6 addresses to attach to the new Instance.
    securityGroupId string
    The instance security group ID.
    status string
    The Instance template status
    tags string[]
    The tags associated with the Instance template.
    updatedAt string
    Date and time of Instance group's last update (RFC 3339 format).
    volumes InstanceTemplateVolume[]
    The template of Instance volume.
    zone string
    zone) The zone in which the Instance template exists.
    cloud_init str
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    commercial_type str
    The name of Instance commercial type.
    created_at str
    Date and time of Instance group's creation (RFC 3339 format).
    image_id str
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    name str
    The Instance group template.
    placement_group_id str
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    private_network_ids Sequence[str]
    The private Network IDs to attach to the new Instance.
    project_id str
    project_id) The ID of the Project the Instance template is associated with.
    public_ips_v4_count int
    The number of flexible IPv4 addresses to attach to the new Instance.
    public_ips_v6_count int
    The number of flexible IPv6 addresses to attach to the new Instance.
    security_group_id str
    The instance security group ID.
    status str
    The Instance template status
    tags Sequence[str]
    The tags associated with the Instance template.
    updated_at str
    Date and time of Instance group's last update (RFC 3339 format).
    volumes Sequence[InstanceTemplateVolumeArgs]
    The template of Instance volume.
    zone str
    zone) The zone in which the Instance template exists.
    cloudInit String
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    commercialType String
    The name of Instance commercial type.
    createdAt String
    Date and time of Instance group's creation (RFC 3339 format).
    imageId String
    The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with volume and commercial_type template.
    name String
    The Instance group template.
    placementGroupId String
    The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone.
    privateNetworkIds List<String>
    The private Network IDs to attach to the new Instance.
    projectId String
    project_id) The ID of the Project the Instance template is associated with.
    publicIpsV4Count Number
    The number of flexible IPv4 addresses to attach to the new Instance.
    publicIpsV6Count Number
    The number of flexible IPv6 addresses to attach to the new Instance.
    securityGroupId String
    The instance security group ID.
    status String
    The Instance template status
    tags List<String>
    The tags associated with the Instance template.
    updatedAt String
    Date and time of Instance group's last update (RFC 3339 format).
    volumes List<Property Map>
    The template of Instance volume.
    zone String
    zone) The zone in which the Instance template exists.

    Supporting Types

    InstanceTemplateVolume, InstanceTemplateVolumeArgs

    Name string
    The name of the volume.
    VolumeType string
    The type of the volume.
    Boot bool
    Force the Instance to boot on this volume.
    FromEmpty Pulumiverse.Scaleway.Autoscaling.Inputs.InstanceTemplateVolumeFromEmpty
    Volume instance template from empty
    FromSnapshot Pulumiverse.Scaleway.Autoscaling.Inputs.InstanceTemplateVolumeFromSnapshot
    Volume instance template from snapshot
    PerfIops int
    The maximum IO/s expected, according to the different options available in stock (5000 | 15000).
    Tags List<string>
    The list of tags assigned to the volume.
    Name string
    The name of the volume.
    VolumeType string
    The type of the volume.
    Boot bool
    Force the Instance to boot on this volume.
    FromEmpty InstanceTemplateVolumeFromEmpty
    Volume instance template from empty
    FromSnapshot InstanceTemplateVolumeFromSnapshot
    Volume instance template from snapshot
    PerfIops int
    The maximum IO/s expected, according to the different options available in stock (5000 | 15000).
    Tags []string
    The list of tags assigned to the volume.
    name String
    The name of the volume.
    volumeType String
    The type of the volume.
    boot Boolean
    Force the Instance to boot on this volume.
    fromEmpty InstanceTemplateVolumeFromEmpty
    Volume instance template from empty
    fromSnapshot InstanceTemplateVolumeFromSnapshot
    Volume instance template from snapshot
    perfIops Integer
    The maximum IO/s expected, according to the different options available in stock (5000 | 15000).
    tags List<String>
    The list of tags assigned to the volume.
    name string
    The name of the volume.
    volumeType string
    The type of the volume.
    boot boolean
    Force the Instance to boot on this volume.
    fromEmpty InstanceTemplateVolumeFromEmpty
    Volume instance template from empty
    fromSnapshot InstanceTemplateVolumeFromSnapshot
    Volume instance template from snapshot
    perfIops number
    The maximum IO/s expected, according to the different options available in stock (5000 | 15000).
    tags string[]
    The list of tags assigned to the volume.
    name str
    The name of the volume.
    volume_type str
    The type of the volume.
    boot bool
    Force the Instance to boot on this volume.
    from_empty InstanceTemplateVolumeFromEmpty
    Volume instance template from empty
    from_snapshot InstanceTemplateVolumeFromSnapshot
    Volume instance template from snapshot
    perf_iops int
    The maximum IO/s expected, according to the different options available in stock (5000 | 15000).
    tags Sequence[str]
    The list of tags assigned to the volume.
    name String
    The name of the volume.
    volumeType String
    The type of the volume.
    boot Boolean
    Force the Instance to boot on this volume.
    fromEmpty Property Map
    Volume instance template from empty
    fromSnapshot Property Map
    Volume instance template from snapshot
    perfIops Number
    The maximum IO/s expected, according to the different options available in stock (5000 | 15000).
    tags List<String>
    The list of tags assigned to the volume.

    InstanceTemplateVolumeFromEmpty, InstanceTemplateVolumeFromEmptyArgs

    Size int
    Size in GB of the new empty volume
    Size int
    Size in GB of the new empty volume
    size Integer
    Size in GB of the new empty volume
    size number
    Size in GB of the new empty volume
    size int
    Size in GB of the new empty volume
    size Number
    Size in GB of the new empty volume

    InstanceTemplateVolumeFromSnapshot, InstanceTemplateVolumeFromSnapshotArgs

    SnapshotId string
    ID of the snapshot to clone
    Size int
    Override size (in GB) of the cloned volume
    SnapshotId string
    ID of the snapshot to clone
    Size int
    Override size (in GB) of the cloned volume
    snapshotId String
    ID of the snapshot to clone
    size Integer
    Override size (in GB) of the cloned volume
    snapshotId string
    ID of the snapshot to clone
    size number
    Override size (in GB) of the cloned volume
    snapshot_id str
    ID of the snapshot to clone
    size int
    Override size (in GB) of the cloned volume
    snapshotId String
    ID of the snapshot to clone
    size Number
    Override size (in GB) of the cloned volume

    Import

    Autoscaling Instance templates can be imported using {zone}/{id}, e.g.

    bash

    $ pulumi import scaleway:autoscaling/instanceTemplate:InstanceTemplate 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.32.0 published on Friday, Aug 1, 2025 by pulumiverse