1. Packages
  2. Linode
  3. API Docs
  4. Instance
Linode v4.22.1 published on Wednesday, Jul 3, 2024 by Pulumi

linode.Instance

Explore with Pulumi AI

linode logo
Linode v4.22.1 published on Wednesday, Jul 3, 2024 by Pulumi

    Provides a Linode Instance resource. This can be used to create, modify, and delete Linodes. For more information, see Getting Started with Linode and the Linode APIv4 docs.

    Example Usage

    Simple Linode Instance

    The following example shows how one might use this resource to configure a Linode instance.

    import * as pulumi from "@pulumi/pulumi";
    import * as linode from "@pulumi/linode";
    
    const web = new linode.Instance("web", {
        label: "simple_instance",
        image: "linode/ubuntu22.04",
        region: "us-central",
        type: "g6-standard-1",
        authorizedKeys: ["ssh-rsa AAAA...Gw== user@example.local"],
        rootPass: "this-is-not-a-safe-password",
        tags: ["foo"],
        swapSize: 256,
        privateIp: true,
    });
    
    import pulumi
    import pulumi_linode as linode
    
    web = linode.Instance("web",
        label="simple_instance",
        image="linode/ubuntu22.04",
        region="us-central",
        type="g6-standard-1",
        authorized_keys=["ssh-rsa AAAA...Gw== user@example.local"],
        root_pass="this-is-not-a-safe-password",
        tags=["foo"],
        swap_size=256,
        private_ip=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-linode/sdk/v4/go/linode"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := linode.NewInstance(ctx, "web", &linode.InstanceArgs{
    			Label:  pulumi.String("simple_instance"),
    			Image:  pulumi.String("linode/ubuntu22.04"),
    			Region: pulumi.String("us-central"),
    			Type:   pulumi.String("g6-standard-1"),
    			AuthorizedKeys: pulumi.StringArray{
    				pulumi.String("ssh-rsa AAAA...Gw== user@example.local"),
    			},
    			RootPass: pulumi.String("this-is-not-a-safe-password"),
    			Tags: pulumi.StringArray{
    				pulumi.String("foo"),
    			},
    			SwapSize:  pulumi.Int(256),
    			PrivateIp: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Linode = Pulumi.Linode;
    
    return await Deployment.RunAsync(() => 
    {
        var web = new Linode.Instance("web", new()
        {
            Label = "simple_instance",
            Image = "linode/ubuntu22.04",
            Region = "us-central",
            Type = "g6-standard-1",
            AuthorizedKeys = new[]
            {
                "ssh-rsa AAAA...Gw== user@example.local",
            },
            RootPass = "this-is-not-a-safe-password",
            Tags = new[]
            {
                "foo",
            },
            SwapSize = 256,
            PrivateIp = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.linode.Instance;
    import com.pulumi.linode.InstanceArgs;
    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 web = new Instance("web", InstanceArgs.builder()
                .label("simple_instance")
                .image("linode/ubuntu22.04")
                .region("us-central")
                .type("g6-standard-1")
                .authorizedKeys("ssh-rsa AAAA...Gw== user@example.local")
                .rootPass("this-is-not-a-safe-password")
                .tags("foo")
                .swapSize(256)
                .privateIp(true)
                .build());
    
        }
    }
    
    resources:
      web:
        type: linode:Instance
        properties:
          label: simple_instance
          image: linode/ubuntu22.04
          region: us-central
          type: g6-standard-1
          authorizedKeys:
            - ssh-rsa AAAA...Gw== user@example.local
          rootPass: this-is-not-a-safe-password
          tags:
            - foo
          swapSize: 256
          privateIp: true
    

    Linode Instance with Explicit Networking Interfaces

    You can add a VPC or VLAN interface directly to a Linode instance resource.

    import * as pulumi from "@pulumi/pulumi";
    import * as linode from "@pulumi/linode";
    
    const web = new linode.Instance("web", {
        label: "simple_instance",
        image: "linode/ubuntu22.04",
        region: "us-central",
        type: "g6-standard-1",
        authorizedKeys: ["ssh-rsa AAAA...Gw== user@example.local"],
        rootPass: "this-is-not-a-safe-password",
        interfaces: [
            {
                purpose: "public",
            },
            {
                purpose: "vpc",
                subnetId: 123,
                ipv4: {
                    vpc: "10.0.4.250",
                },
            },
        ],
        tags: ["foo"],
        swapSize: 256,
        privateIp: true,
    });
    
    import pulumi
    import pulumi_linode as linode
    
    web = linode.Instance("web",
        label="simple_instance",
        image="linode/ubuntu22.04",
        region="us-central",
        type="g6-standard-1",
        authorized_keys=["ssh-rsa AAAA...Gw== user@example.local"],
        root_pass="this-is-not-a-safe-password",
        interfaces=[
            linode.InstanceInterfaceArgs(
                purpose="public",
            ),
            linode.InstanceInterfaceArgs(
                purpose="vpc",
                subnet_id=123,
                ipv4=linode.InstanceInterfaceIpv4Args(
                    vpc="10.0.4.250",
                ),
            ),
        ],
        tags=["foo"],
        swap_size=256,
        private_ip=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-linode/sdk/v4/go/linode"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := linode.NewInstance(ctx, "web", &linode.InstanceArgs{
    			Label:  pulumi.String("simple_instance"),
    			Image:  pulumi.String("linode/ubuntu22.04"),
    			Region: pulumi.String("us-central"),
    			Type:   pulumi.String("g6-standard-1"),
    			AuthorizedKeys: pulumi.StringArray{
    				pulumi.String("ssh-rsa AAAA...Gw== user@example.local"),
    			},
    			RootPass: pulumi.String("this-is-not-a-safe-password"),
    			Interfaces: linode.InstanceInterfaceArray{
    				&linode.InstanceInterfaceArgs{
    					Purpose: pulumi.String("public"),
    				},
    				&linode.InstanceInterfaceArgs{
    					Purpose:  pulumi.String("vpc"),
    					SubnetId: pulumi.Int(123),
    					Ipv4: &linode.InstanceInterfaceIpv4Args{
    						Vpc: pulumi.String("10.0.4.250"),
    					},
    				},
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("foo"),
    			},
    			SwapSize:  pulumi.Int(256),
    			PrivateIp: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Linode = Pulumi.Linode;
    
    return await Deployment.RunAsync(() => 
    {
        var web = new Linode.Instance("web", new()
        {
            Label = "simple_instance",
            Image = "linode/ubuntu22.04",
            Region = "us-central",
            Type = "g6-standard-1",
            AuthorizedKeys = new[]
            {
                "ssh-rsa AAAA...Gw== user@example.local",
            },
            RootPass = "this-is-not-a-safe-password",
            Interfaces = new[]
            {
                new Linode.Inputs.InstanceInterfaceArgs
                {
                    Purpose = "public",
                },
                new Linode.Inputs.InstanceInterfaceArgs
                {
                    Purpose = "vpc",
                    SubnetId = 123,
                    Ipv4 = new Linode.Inputs.InstanceInterfaceIpv4Args
                    {
                        Vpc = "10.0.4.250",
                    },
                },
            },
            Tags = new[]
            {
                "foo",
            },
            SwapSize = 256,
            PrivateIp = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.linode.Instance;
    import com.pulumi.linode.InstanceArgs;
    import com.pulumi.linode.inputs.InstanceInterfaceArgs;
    import com.pulumi.linode.inputs.InstanceInterfaceIpv4Args;
    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 web = new Instance("web", InstanceArgs.builder()
                .label("simple_instance")
                .image("linode/ubuntu22.04")
                .region("us-central")
                .type("g6-standard-1")
                .authorizedKeys("ssh-rsa AAAA...Gw== user@example.local")
                .rootPass("this-is-not-a-safe-password")
                .interfaces(            
                    InstanceInterfaceArgs.builder()
                        .purpose("public")
                        .build(),
                    InstanceInterfaceArgs.builder()
                        .purpose("vpc")
                        .subnetId(123)
                        .ipv4(InstanceInterfaceIpv4Args.builder()
                            .vpc("10.0.4.250")
                            .build())
                        .build())
                .tags("foo")
                .swapSize(256)
                .privateIp(true)
                .build());
    
        }
    }
    
    resources:
      web:
        type: linode:Instance
        properties:
          label: simple_instance
          image: linode/ubuntu22.04
          region: us-central
          type: g6-standard-1
          authorizedKeys:
            - ssh-rsa AAAA...Gw== user@example.local
          rootPass: this-is-not-a-safe-password
          interfaces:
            - purpose: public
            - purpose: vpc
              subnetId: 123
              ipv4:
                vpc: 10.0.4.250
          tags:
            - foo
          swapSize: 256
          privateIp: true
    

    Linode Instance with Explicit Configs and Disks

    Using explicit Instance Configs and Disks it is possible to create a more elaborate Linode instance. This can be used to provision multiple disks and volumes during Instance creation.

    import * as pulumi from "@pulumi/pulumi";
    import * as linode from "@pulumi/linode";
    
    const me = linode.getProfile({});
    const web = new linode.Instance("web", {
        label: "complex_instance",
        tags: ["foo"],
        region: "us-central",
        type: "g6-nanode-1",
        privateIp: true,
    });
    const webVolume = new linode.Volume("web_volume", {
        label: "web_volume",
        size: 20,
        region: "us-central",
    });
    const bootDisk = new linode.InstanceDisk("boot_disk", {
        label: "boot",
        linodeId: web.id,
        size: 3000,
        image: "linode/ubuntu22.04",
        authorizedKeys: ["ssh-rsa AAAA...Gw== user@example.local"],
        authorizedUsers: [me.then(me => me.username)],
        rootPass: "terr4form-test",
    });
    const bootConfig = new linode.index.InstanceConfig("boot_config", {
        label: "boot_config",
        linodeId: web.id,
        devices: [
            {
                deviceName: "sda",
                diskId: bootDisk.id,
            },
            {
                deviceName: "sdb",
                volumeId: webVolume.id,
            },
        ],
        rootDevice: "/dev/sda",
        kernel: "linode/latest-64bit",
        booted: true,
    });
    
    import pulumi
    import pulumi_linode as linode
    
    me = linode.get_profile()
    web = linode.Instance("web",
        label="complex_instance",
        tags=["foo"],
        region="us-central",
        type="g6-nanode-1",
        private_ip=True)
    web_volume = linode.Volume("web_volume",
        label="web_volume",
        size=20,
        region="us-central")
    boot_disk = linode.InstanceDisk("boot_disk",
        label="boot",
        linode_id=web.id,
        size=3000,
        image="linode/ubuntu22.04",
        authorized_keys=["ssh-rsa AAAA...Gw== user@example.local"],
        authorized_users=[me.username],
        root_pass="terr4form-test")
    boot_config = linode.index.InstanceConfig("boot_config",
        label=boot_config,
        linode_id=web.id,
        devices=[
            {
                deviceName: sda,
                diskId: boot_disk.id,
            },
            {
                deviceName: sdb,
                volumeId: web_volume.id,
            },
        ],
        root_device=/dev/sda,
        kernel=linode/latest-64bit,
        booted=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-linode/sdk/v4/go/linode"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		me, err := linode.GetProfile(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		web, err := linode.NewInstance(ctx, "web", &linode.InstanceArgs{
    			Label: pulumi.String("complex_instance"),
    			Tags: pulumi.StringArray{
    				pulumi.String("foo"),
    			},
    			Region:    pulumi.String("us-central"),
    			Type:      pulumi.String("g6-nanode-1"),
    			PrivateIp: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		webVolume, err := linode.NewVolume(ctx, "web_volume", &linode.VolumeArgs{
    			Label:  pulumi.String("web_volume"),
    			Size:   pulumi.Int(20),
    			Region: pulumi.String("us-central"),
    		})
    		if err != nil {
    			return err
    		}
    		bootDisk, err := linode.NewInstanceDisk(ctx, "boot_disk", &linode.InstanceDiskArgs{
    			Label:    pulumi.String("boot"),
    			LinodeId: web.ID(),
    			Size:     pulumi.Int(3000),
    			Image:    pulumi.String("linode/ubuntu22.04"),
    			AuthorizedKeys: pulumi.StringArray{
    				pulumi.String("ssh-rsa AAAA...Gw== user@example.local"),
    			},
    			AuthorizedUsers: pulumi.StringArray{
    				pulumi.String(me.Username),
    			},
    			RootPass: pulumi.String("terr4form-test"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = linode.NewInstanceConfig(ctx, "boot_config", &linode.InstanceConfigArgs{
    			Label:    "boot_config",
    			LinodeId: web.ID(),
    			Devices: []interface{}{
    				map[string]interface{}{
    					"deviceName": "sda",
    					"diskId":     bootDisk.ID(),
    				},
    				map[string]interface{}{
    					"deviceName": "sdb",
    					"volumeId":   webVolume.ID(),
    				},
    			},
    			RootDevice: "/dev/sda",
    			Kernel:     "linode/latest-64bit",
    			Booted:     true,
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Linode = Pulumi.Linode;
    
    return await Deployment.RunAsync(() => 
    {
        var me = Linode.GetProfile.Invoke();
    
        var web = new Linode.Instance("web", new()
        {
            Label = "complex_instance",
            Tags = new[]
            {
                "foo",
            },
            Region = "us-central",
            Type = "g6-nanode-1",
            PrivateIp = true,
        });
    
        var webVolume = new Linode.Volume("web_volume", new()
        {
            Label = "web_volume",
            Size = 20,
            Region = "us-central",
        });
    
        var bootDisk = new Linode.InstanceDisk("boot_disk", new()
        {
            Label = "boot",
            LinodeId = web.Id,
            Size = 3000,
            Image = "linode/ubuntu22.04",
            AuthorizedKeys = new[]
            {
                "ssh-rsa AAAA...Gw== user@example.local",
            },
            AuthorizedUsers = new[]
            {
                me.Apply(getProfileResult => getProfileResult.Username),
            },
            RootPass = "terr4form-test",
        });
    
        var bootConfig = new Linode.Index.InstanceConfig("boot_config", new()
        {
            Label = "boot_config",
            LinodeId = web.Id,
            Devices = new[]
            {
                
                {
                    { "deviceName", "sda" },
                    { "diskId", bootDisk.Id },
                },
                
                {
                    { "deviceName", "sdb" },
                    { "volumeId", webVolume.Id },
                },
            },
            RootDevice = "/dev/sda",
            Kernel = "linode/latest-64bit",
            Booted = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.linode.LinodeFunctions;
    import com.pulumi.linode.Instance;
    import com.pulumi.linode.InstanceArgs;
    import com.pulumi.linode.Volume;
    import com.pulumi.linode.VolumeArgs;
    import com.pulumi.linode.InstanceDisk;
    import com.pulumi.linode.InstanceDiskArgs;
    import com.pulumi.linode.instanceConfig;
    import com.pulumi.linode.InstanceConfigArgs;
    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 me = LinodeFunctions.getProfile();
    
            var web = new Instance("web", InstanceArgs.builder()
                .label("complex_instance")
                .tags("foo")
                .region("us-central")
                .type("g6-nanode-1")
                .privateIp(true)
                .build());
    
            var webVolume = new Volume("webVolume", VolumeArgs.builder()
                .label("web_volume")
                .size(20)
                .region("us-central")
                .build());
    
            var bootDisk = new InstanceDisk("bootDisk", InstanceDiskArgs.builder()
                .label("boot")
                .linodeId(web.id())
                .size(3000)
                .image("linode/ubuntu22.04")
                .authorizedKeys("ssh-rsa AAAA...Gw== user@example.local")
                .authorizedUsers(me.applyValue(getProfileResult -> getProfileResult.username()))
                .rootPass("terr4form-test")
                .build());
    
            var bootConfig = new InstanceConfig("bootConfig", InstanceConfigArgs.builder()
                .label("boot_config")
                .linodeId(web.id())
                .devices(            
                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),
                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                .rootDevice("/dev/sda")
                .kernel("linode/latest-64bit")
                .booted(true)
                .build());
    
        }
    }
    
    resources:
      web:
        type: linode:Instance
        properties:
          label: complex_instance
          tags:
            - foo
          region: us-central
          type: g6-nanode-1
          privateIp: true
      webVolume:
        type: linode:Volume
        name: web_volume
        properties:
          label: web_volume
          size: 20
          region: us-central
      bootDisk:
        type: linode:InstanceDisk
        name: boot_disk
        properties:
          label: boot
          linodeId: ${web.id}
          size: 3000
          image: linode/ubuntu22.04
          authorizedKeys:
            - ssh-rsa AAAA...Gw== user@example.local
          authorizedUsers:
            - ${me.username}
          rootPass: terr4form-test
      bootConfig:
        type: linode:instanceConfig
        name: boot_config
        properties:
          label: boot_config
          linodeId: ${web.id}
          devices:
            - deviceName: sda
              diskId: ${bootDisk.id}
            - deviceName: sdb
              volumeId: ${webVolume.id}
          rootDevice: /dev/sda
          kernel: linode/latest-64bit
          booted: true
    variables:
      me:
        fn::invoke:
          Function: linode:getProfile
          Arguments: {}
    

    Linode Instance Assigned to a Placement Group

    NOTE: Placement Groups may not currently be available to all users.

    The following example shows how one might use this resource to configure a Linode instance assigned to a Placement Group.

    import * as pulumi from "@pulumi/pulumi";
    import * as linode from "@pulumi/linode";
    
    const my_instance = new linode.Instance("my-instance", {
        label: "my-instance",
        region: "us-mia",
        type: "g6-standard-1",
        placementGroup: {
            id: 12345,
        },
    });
    
    import pulumi
    import pulumi_linode as linode
    
    my_instance = linode.Instance("my-instance",
        label="my-instance",
        region="us-mia",
        type="g6-standard-1",
        placement_group=linode.InstancePlacementGroupArgs(
            id=12345,
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-linode/sdk/v4/go/linode"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := linode.NewInstance(ctx, "my-instance", &linode.InstanceArgs{
    			Label:  pulumi.String("my-instance"),
    			Region: pulumi.String("us-mia"),
    			Type:   pulumi.String("g6-standard-1"),
    			PlacementGroup: &linode.InstancePlacementGroupArgs{
    				Id: pulumi.Int(12345),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Linode = Pulumi.Linode;
    
    return await Deployment.RunAsync(() => 
    {
        var my_instance = new Linode.Instance("my-instance", new()
        {
            Label = "my-instance",
            Region = "us-mia",
            Type = "g6-standard-1",
            PlacementGroup = new Linode.Inputs.InstancePlacementGroupArgs
            {
                Id = 12345,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.linode.Instance;
    import com.pulumi.linode.InstanceArgs;
    import com.pulumi.linode.inputs.InstancePlacementGroupArgs;
    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 my_instance = new Instance("my-instance", InstanceArgs.builder()
                .label("my-instance")
                .region("us-mia")
                .type("g6-standard-1")
                .placementGroup(InstancePlacementGroupArgs.builder()
                    .id(12345)
                    .build())
                .build());
    
        }
    }
    
    resources:
      my-instance:
        type: linode:Instance
        properties:
          label: my-instance
          region: us-mia
          type: g6-standard-1
          placementGroup:
            id: 12345
    

    Create Instance Resource

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

    Constructor syntax

    new Instance(name: string, args: InstanceArgs, opts?: CustomResourceOptions);
    @overload
    def Instance(resource_name: str,
                 args: InstanceArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def Instance(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 region: Optional[str] = None,
                 metadatas: Optional[Sequence[InstanceMetadataArgs]] = None,
                 tags: Optional[Sequence[str]] = None,
                 backup_id: Optional[int] = None,
                 backups_enabled: Optional[bool] = None,
                 boot_config_label: Optional[str] = None,
                 booted: Optional[bool] = None,
                 configs: Optional[Sequence[InstanceConfigArgs]] = None,
                 disks: Optional[Sequence[InstanceDiskArgs]] = None,
                 firewall_id: Optional[int] = None,
                 group: Optional[str] = None,
                 image: Optional[str] = None,
                 interfaces: Optional[Sequence[InstanceInterfaceArgs]] = None,
                 watchdog_enabled: Optional[bool] = None,
                 authorized_users: Optional[Sequence[str]] = None,
                 authorized_keys: Optional[Sequence[str]] = None,
                 placement_group: Optional[InstancePlacementGroupArgs] = None,
                 placement_group_externally_managed: Optional[bool] = None,
                 private_ip: Optional[bool] = None,
                 migration_type: Optional[str] = None,
                 resize_disk: Optional[bool] = None,
                 root_pass: Optional[str] = None,
                 shared_ipv4s: Optional[Sequence[str]] = None,
                 stackscript_data: Optional[Mapping[str, Any]] = None,
                 stackscript_id: Optional[int] = None,
                 swap_size: Optional[int] = None,
                 alerts: Optional[InstanceAlertsArgs] = None,
                 type: Optional[str] = None,
                 label: Optional[str] = None)
    func NewInstance(ctx *Context, name string, args InstanceArgs, opts ...ResourceOption) (*Instance, error)
    public Instance(string name, InstanceArgs args, CustomResourceOptions? opts = null)
    public Instance(String name, InstanceArgs args)
    public Instance(String name, InstanceArgs args, CustomResourceOptions options)
    
    type: linode:Instance
    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 InstanceArgs
    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 InstanceArgs
    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 InstanceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InstanceArgs
    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 instanceResource = new Linode.Instance("instanceResource", new()
    {
        Region = "string",
        Metadatas = new[]
        {
            new Linode.Inputs.InstanceMetadataArgs
            {
                UserData = "string",
            },
        },
        Tags = new[]
        {
            "string",
        },
        BackupId = 0,
        BackupsEnabled = false,
        BootConfigLabel = "string",
        Booted = false,
        FirewallId = 0,
        Image = "string",
        Interfaces = new[]
        {
            new Linode.Inputs.InstanceInterfaceArgs
            {
                Purpose = "string",
                Active = false,
                Id = 0,
                IpRanges = new[]
                {
                    "string",
                },
                IpamAddress = "string",
                Ipv4 = new Linode.Inputs.InstanceInterfaceIpv4Args
                {
                    Nat11 = "string",
                    Vpc = "string",
                },
                Label = "string",
                Primary = false,
                SubnetId = 0,
                VpcId = 0,
            },
        },
        WatchdogEnabled = false,
        AuthorizedUsers = new[]
        {
            "string",
        },
        AuthorizedKeys = new[]
        {
            "string",
        },
        PlacementGroup = new Linode.Inputs.InstancePlacementGroupArgs
        {
            Id = 0,
            AffinityType = "string",
            CompliantOnly = false,
            IsStrict = false,
            Label = "string",
        },
        PlacementGroupExternallyManaged = false,
        PrivateIp = false,
        MigrationType = "string",
        ResizeDisk = false,
        RootPass = "string",
        SharedIpv4s = new[]
        {
            "string",
        },
        StackscriptData = 
        {
            { "string", "any" },
        },
        StackscriptId = 0,
        SwapSize = 0,
        Alerts = new Linode.Inputs.InstanceAlertsArgs
        {
            Cpu = 0,
            Io = 0,
            NetworkIn = 0,
            NetworkOut = 0,
            TransferQuota = 0,
        },
        Type = "string",
        Label = "string",
    });
    
    example, err := linode.NewInstance(ctx, "instanceResource", &linode.InstanceArgs{
    	Region: pulumi.String("string"),
    	Metadatas: linode.InstanceMetadataArray{
    		&linode.InstanceMetadataArgs{
    			UserData: pulumi.String("string"),
    		},
    	},
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	BackupId:        pulumi.Int(0),
    	BackupsEnabled:  pulumi.Bool(false),
    	BootConfigLabel: pulumi.String("string"),
    	Booted:          pulumi.Bool(false),
    	FirewallId:      pulumi.Int(0),
    	Image:           pulumi.String("string"),
    	Interfaces: linode.InstanceInterfaceArray{
    		&linode.InstanceInterfaceArgs{
    			Purpose: pulumi.String("string"),
    			Active:  pulumi.Bool(false),
    			Id:      pulumi.Int(0),
    			IpRanges: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			IpamAddress: pulumi.String("string"),
    			Ipv4: &linode.InstanceInterfaceIpv4Args{
    				Nat11: pulumi.String("string"),
    				Vpc:   pulumi.String("string"),
    			},
    			Label:    pulumi.String("string"),
    			Primary:  pulumi.Bool(false),
    			SubnetId: pulumi.Int(0),
    			VpcId:    pulumi.Int(0),
    		},
    	},
    	WatchdogEnabled: pulumi.Bool(false),
    	AuthorizedUsers: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	AuthorizedKeys: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	PlacementGroup: &linode.InstancePlacementGroupArgs{
    		Id:            pulumi.Int(0),
    		AffinityType:  pulumi.String("string"),
    		CompliantOnly: pulumi.Bool(false),
    		IsStrict:      pulumi.Bool(false),
    		Label:         pulumi.String("string"),
    	},
    	PlacementGroupExternallyManaged: pulumi.Bool(false),
    	PrivateIp:                       pulumi.Bool(false),
    	MigrationType:                   pulumi.String("string"),
    	ResizeDisk:                      pulumi.Bool(false),
    	RootPass:                        pulumi.String("string"),
    	SharedIpv4s: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	StackscriptData: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	StackscriptId: pulumi.Int(0),
    	SwapSize:      pulumi.Int(0),
    	Alerts: &linode.InstanceAlertsArgs{
    		Cpu:           pulumi.Int(0),
    		Io:            pulumi.Int(0),
    		NetworkIn:     pulumi.Int(0),
    		NetworkOut:    pulumi.Int(0),
    		TransferQuota: pulumi.Int(0),
    	},
    	Type:  pulumi.String("string"),
    	Label: pulumi.String("string"),
    })
    
    var instanceResource = new Instance("instanceResource", InstanceArgs.builder()
        .region("string")
        .metadatas(InstanceMetadataArgs.builder()
            .userData("string")
            .build())
        .tags("string")
        .backupId(0)
        .backupsEnabled(false)
        .bootConfigLabel("string")
        .booted(false)
        .firewallId(0)
        .image("string")
        .interfaces(InstanceInterfaceArgs.builder()
            .purpose("string")
            .active(false)
            .id(0)
            .ipRanges("string")
            .ipamAddress("string")
            .ipv4(InstanceInterfaceIpv4Args.builder()
                .nat11("string")
                .vpc("string")
                .build())
            .label("string")
            .primary(false)
            .subnetId(0)
            .vpcId(0)
            .build())
        .watchdogEnabled(false)
        .authorizedUsers("string")
        .authorizedKeys("string")
        .placementGroup(InstancePlacementGroupArgs.builder()
            .id(0)
            .affinityType("string")
            .compliantOnly(false)
            .isStrict(false)
            .label("string")
            .build())
        .placementGroupExternallyManaged(false)
        .privateIp(false)
        .migrationType("string")
        .resizeDisk(false)
        .rootPass("string")
        .sharedIpv4s("string")
        .stackscriptData(Map.of("string", "any"))
        .stackscriptId(0)
        .swapSize(0)
        .alerts(InstanceAlertsArgs.builder()
            .cpu(0)
            .io(0)
            .networkIn(0)
            .networkOut(0)
            .transferQuota(0)
            .build())
        .type("string")
        .label("string")
        .build());
    
    instance_resource = linode.Instance("instanceResource",
        region="string",
        metadatas=[linode.InstanceMetadataArgs(
            user_data="string",
        )],
        tags=["string"],
        backup_id=0,
        backups_enabled=False,
        boot_config_label="string",
        booted=False,
        firewall_id=0,
        image="string",
        interfaces=[linode.InstanceInterfaceArgs(
            purpose="string",
            active=False,
            id=0,
            ip_ranges=["string"],
            ipam_address="string",
            ipv4=linode.InstanceInterfaceIpv4Args(
                nat11="string",
                vpc="string",
            ),
            label="string",
            primary=False,
            subnet_id=0,
            vpc_id=0,
        )],
        watchdog_enabled=False,
        authorized_users=["string"],
        authorized_keys=["string"],
        placement_group=linode.InstancePlacementGroupArgs(
            id=0,
            affinity_type="string",
            compliant_only=False,
            is_strict=False,
            label="string",
        ),
        placement_group_externally_managed=False,
        private_ip=False,
        migration_type="string",
        resize_disk=False,
        root_pass="string",
        shared_ipv4s=["string"],
        stackscript_data={
            "string": "any",
        },
        stackscript_id=0,
        swap_size=0,
        alerts=linode.InstanceAlertsArgs(
            cpu=0,
            io=0,
            network_in=0,
            network_out=0,
            transfer_quota=0,
        ),
        type="string",
        label="string")
    
    const instanceResource = new linode.Instance("instanceResource", {
        region: "string",
        metadatas: [{
            userData: "string",
        }],
        tags: ["string"],
        backupId: 0,
        backupsEnabled: false,
        bootConfigLabel: "string",
        booted: false,
        firewallId: 0,
        image: "string",
        interfaces: [{
            purpose: "string",
            active: false,
            id: 0,
            ipRanges: ["string"],
            ipamAddress: "string",
            ipv4: {
                nat11: "string",
                vpc: "string",
            },
            label: "string",
            primary: false,
            subnetId: 0,
            vpcId: 0,
        }],
        watchdogEnabled: false,
        authorizedUsers: ["string"],
        authorizedKeys: ["string"],
        placementGroup: {
            id: 0,
            affinityType: "string",
            compliantOnly: false,
            isStrict: false,
            label: "string",
        },
        placementGroupExternallyManaged: false,
        privateIp: false,
        migrationType: "string",
        resizeDisk: false,
        rootPass: "string",
        sharedIpv4s: ["string"],
        stackscriptData: {
            string: "any",
        },
        stackscriptId: 0,
        swapSize: 0,
        alerts: {
            cpu: 0,
            io: 0,
            networkIn: 0,
            networkOut: 0,
            transferQuota: 0,
        },
        type: "string",
        label: "string",
    });
    
    type: linode:Instance
    properties:
        alerts:
            cpu: 0
            io: 0
            networkIn: 0
            networkOut: 0
            transferQuota: 0
        authorizedKeys:
            - string
        authorizedUsers:
            - string
        backupId: 0
        backupsEnabled: false
        bootConfigLabel: string
        booted: false
        firewallId: 0
        image: string
        interfaces:
            - active: false
              id: 0
              ipRanges:
                - string
              ipamAddress: string
              ipv4:
                nat11: string
                vpc: string
              label: string
              primary: false
              purpose: string
              subnetId: 0
              vpcId: 0
        label: string
        metadatas:
            - userData: string
        migrationType: string
        placementGroup:
            affinityType: string
            compliantOnly: false
            id: 0
            isStrict: false
            label: string
        placementGroupExternallyManaged: false
        privateIp: false
        region: string
        resizeDisk: false
        rootPass: string
        sharedIpv4s:
            - string
        stackscriptData:
            string: any
        stackscriptId: 0
        swapSize: 0
        tags:
            - string
        type: string
        watchdogEnabled: false
    

    Instance Resource Properties

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

    Inputs

    The Instance resource accepts the following input properties:

    Region string
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    Alerts InstanceAlerts
    Configuration options for alert triggers on this Linode.
    AuthorizedKeys List<string>
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    AuthorizedUsers List<string>
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    BackupId int
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    BackupsEnabled bool
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    BootConfigLabel string
    The Label of the Instance Config that should be used to boot the Linode instance.
    Booted bool
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    Configs List<InstanceConfig>
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    Disks List<InstanceDisk>

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    FirewallId int
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    Group string
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    Image string
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    Interfaces List<InstanceInterface>
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    Label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    Metadatas List<InstanceMetadata>
    Various fields related to the Linode Metadata service.
    MigrationType string
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    PlacementGroup InstancePlacementGroup
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    PlacementGroupExternallyManaged bool
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    PrivateIp bool
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    ResizeDisk bool

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    RootPass string
    The password that will be initially assigned to the 'root' user account.
    SharedIpv4s List<string>

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    StackscriptData Dictionary<string, object>
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    StackscriptId int
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    SwapSize int
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    Tags List<string>
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    Type string
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    WatchdogEnabled bool
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
    Region string
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    Alerts InstanceAlertsArgs
    Configuration options for alert triggers on this Linode.
    AuthorizedKeys []string
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    AuthorizedUsers []string
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    BackupId int
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    BackupsEnabled bool
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    BootConfigLabel string
    The Label of the Instance Config that should be used to boot the Linode instance.
    Booted bool
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    Configs []InstanceConfigArgs
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    Disks []InstanceDiskTypeArgs

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    FirewallId int
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    Group string
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    Image string
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    Interfaces []InstanceInterfaceArgs
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    Label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    Metadatas []InstanceMetadataArgs
    Various fields related to the Linode Metadata service.
    MigrationType string
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    PlacementGroup InstancePlacementGroupArgs
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    PlacementGroupExternallyManaged bool
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    PrivateIp bool
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    ResizeDisk bool

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    RootPass string
    The password that will be initially assigned to the 'root' user account.
    SharedIpv4s []string

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    StackscriptData map[string]interface{}
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    StackscriptId int
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    SwapSize int
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    Tags []string
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    Type string
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    WatchdogEnabled bool
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
    region String
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    alerts InstanceAlerts
    Configuration options for alert triggers on this Linode.
    authorizedKeys List<String>
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorizedUsers List<String>
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    backupId Integer
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    backupsEnabled Boolean
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    bootConfigLabel String
    The Label of the Instance Config that should be used to boot the Linode instance.
    booted Boolean
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    configs List<InstanceConfig>
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    disks List<InstanceDisk>

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    firewallId Integer
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    group String
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    image String
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    interfaces List<InstanceInterface>
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    label String
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    metadatas List<InstanceMetadata>
    Various fields related to the Linode Metadata service.
    migrationType String
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    placementGroup InstancePlacementGroup
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    placementGroupExternallyManaged Boolean
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    privateIp Boolean
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    resizeDisk Boolean

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    rootPass String
    The password that will be initially assigned to the 'root' user account.
    sharedIpv4s List<String>

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    stackscriptData Map<String,Object>
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscriptId Integer
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    swapSize Integer
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    tags List<String>
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    type String
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    watchdogEnabled Boolean
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
    region string
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    alerts InstanceAlerts
    Configuration options for alert triggers on this Linode.
    authorizedKeys string[]
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorizedUsers string[]
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    backupId number
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    backupsEnabled boolean
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    bootConfigLabel string
    The Label of the Instance Config that should be used to boot the Linode instance.
    booted boolean
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    configs InstanceConfig[]
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    disks InstanceDisk[]

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    firewallId number
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    group string
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    image string
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    interfaces InstanceInterface[]
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    metadatas InstanceMetadata[]
    Various fields related to the Linode Metadata service.
    migrationType string
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    placementGroup InstancePlacementGroup
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    placementGroupExternallyManaged boolean
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    privateIp boolean
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    resizeDisk boolean

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    rootPass string
    The password that will be initially assigned to the 'root' user account.
    sharedIpv4s string[]

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    stackscriptData {[key: string]: any}
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscriptId number
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    swapSize number
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    tags string[]
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    type string
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    watchdogEnabled boolean
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
    region str
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    alerts InstanceAlertsArgs
    Configuration options for alert triggers on this Linode.
    authorized_keys Sequence[str]
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorized_users Sequence[str]
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    backup_id int
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    backups_enabled bool
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    boot_config_label str
    The Label of the Instance Config that should be used to boot the Linode instance.
    booted bool
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    configs Sequence[InstanceConfigArgs]
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    disks Sequence[InstanceDiskArgs]

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    firewall_id int
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    group str
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    image str
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    interfaces Sequence[InstanceInterfaceArgs]
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    label str
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    metadatas Sequence[InstanceMetadataArgs]
    Various fields related to the Linode Metadata service.
    migration_type str
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    placement_group InstancePlacementGroupArgs
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    placement_group_externally_managed bool
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    private_ip bool
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    resize_disk bool

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    root_pass str
    The password that will be initially assigned to the 'root' user account.
    shared_ipv4s Sequence[str]

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    stackscript_data Mapping[str, Any]
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscript_id int
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    swap_size int
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    tags Sequence[str]
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    type str
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    watchdog_enabled bool
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
    region String
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    alerts Property Map
    Configuration options for alert triggers on this Linode.
    authorizedKeys List<String>
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorizedUsers List<String>
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    backupId Number
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    backupsEnabled Boolean
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    bootConfigLabel String
    The Label of the Instance Config that should be used to boot the Linode instance.
    booted Boolean
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    configs List<Property Map>
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    disks List<Property Map>

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    firewallId Number
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    group String
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    image String
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    interfaces List<Property Map>
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    label String
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    metadatas List<Property Map>
    Various fields related to the Linode Metadata service.
    migrationType String
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    placementGroup Property Map
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    placementGroupExternallyManaged Boolean
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    privateIp Boolean
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    resizeDisk Boolean

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    rootPass String
    The password that will be initially assigned to the 'root' user account.
    sharedIpv4s List<String>

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    stackscriptData Map<Any>
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscriptId Number
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    swapSize Number
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    tags List<String>
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    type String
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    watchdogEnabled Boolean
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.

    Outputs

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

    Backups InstanceBackups
    Information about this Linode's backups status.
    HasUserData bool
    Whether this Instance was created with user-data.
    HostUuid string
    The Linode’s host machine, as a UUID.
    Id string
    The provider-assigned unique ID for this managed resource.
    IpAddress string
    A string containing the Linode's public IP address.
    Ipv4s List<string>
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    Ipv6 string
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    PrivateIpAddress string
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    Specs InstanceSpecs
    Information about the resources available to this Linode.
    Status string
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    Backups InstanceBackups
    Information about this Linode's backups status.
    HasUserData bool
    Whether this Instance was created with user-data.
    HostUuid string
    The Linode’s host machine, as a UUID.
    Id string
    The provider-assigned unique ID for this managed resource.
    IpAddress string
    A string containing the Linode's public IP address.
    Ipv4s []string
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    Ipv6 string
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    PrivateIpAddress string
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    Specs InstanceSpecs
    Information about the resources available to this Linode.
    Status string
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    backups InstanceBackups
    Information about this Linode's backups status.
    hasUserData Boolean
    Whether this Instance was created with user-data.
    hostUuid String
    The Linode’s host machine, as a UUID.
    id String
    The provider-assigned unique ID for this managed resource.
    ipAddress String
    A string containing the Linode's public IP address.
    ipv4s List<String>
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    ipv6 String
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    privateIpAddress String
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    specs InstanceSpecs
    Information about the resources available to this Linode.
    status String
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    backups InstanceBackups
    Information about this Linode's backups status.
    hasUserData boolean
    Whether this Instance was created with user-data.
    hostUuid string
    The Linode’s host machine, as a UUID.
    id string
    The provider-assigned unique ID for this managed resource.
    ipAddress string
    A string containing the Linode's public IP address.
    ipv4s string[]
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    ipv6 string
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    privateIpAddress string
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    specs InstanceSpecs
    Information about the resources available to this Linode.
    status string
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    backups InstanceBackups
    Information about this Linode's backups status.
    has_user_data bool
    Whether this Instance was created with user-data.
    host_uuid str
    The Linode’s host machine, as a UUID.
    id str
    The provider-assigned unique ID for this managed resource.
    ip_address str
    A string containing the Linode's public IP address.
    ipv4s Sequence[str]
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    ipv6 str
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    private_ip_address str
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    specs InstanceSpecs
    Information about the resources available to this Linode.
    status str
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    backups Property Map
    Information about this Linode's backups status.
    hasUserData Boolean
    Whether this Instance was created with user-data.
    hostUuid String
    The Linode’s host machine, as a UUID.
    id String
    The provider-assigned unique ID for this managed resource.
    ipAddress String
    A string containing the Linode's public IP address.
    ipv4s List<String>
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    ipv6 String
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    privateIpAddress String
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    specs Property Map
    Information about the resources available to this Linode.
    status String
    The status of the instance, indicating the current readiness state. (running, offline, ...)

    Look up Existing Instance Resource

    Get an existing Instance 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?: InstanceState, opts?: CustomResourceOptions): Instance
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            alerts: Optional[InstanceAlertsArgs] = None,
            authorized_keys: Optional[Sequence[str]] = None,
            authorized_users: Optional[Sequence[str]] = None,
            backup_id: Optional[int] = None,
            backups: Optional[InstanceBackupsArgs] = None,
            backups_enabled: Optional[bool] = None,
            boot_config_label: Optional[str] = None,
            booted: Optional[bool] = None,
            configs: Optional[Sequence[InstanceConfigArgs]] = None,
            disks: Optional[Sequence[InstanceDiskArgs]] = None,
            firewall_id: Optional[int] = None,
            group: Optional[str] = None,
            has_user_data: Optional[bool] = None,
            host_uuid: Optional[str] = None,
            image: Optional[str] = None,
            interfaces: Optional[Sequence[InstanceInterfaceArgs]] = None,
            ip_address: Optional[str] = None,
            ipv4s: Optional[Sequence[str]] = None,
            ipv6: Optional[str] = None,
            label: Optional[str] = None,
            metadatas: Optional[Sequence[InstanceMetadataArgs]] = None,
            migration_type: Optional[str] = None,
            placement_group: Optional[InstancePlacementGroupArgs] = None,
            placement_group_externally_managed: Optional[bool] = None,
            private_ip: Optional[bool] = None,
            private_ip_address: Optional[str] = None,
            region: Optional[str] = None,
            resize_disk: Optional[bool] = None,
            root_pass: Optional[str] = None,
            shared_ipv4s: Optional[Sequence[str]] = None,
            specs: Optional[InstanceSpecsArgs] = None,
            stackscript_data: Optional[Mapping[str, Any]] = None,
            stackscript_id: Optional[int] = None,
            status: Optional[str] = None,
            swap_size: Optional[int] = None,
            tags: Optional[Sequence[str]] = None,
            type: Optional[str] = None,
            watchdog_enabled: Optional[bool] = None) -> Instance
    func GetInstance(ctx *Context, name string, id IDInput, state *InstanceState, opts ...ResourceOption) (*Instance, error)
    public static Instance Get(string name, Input<string> id, InstanceState? state, CustomResourceOptions? opts = null)
    public static Instance get(String name, Output<String> id, InstanceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Alerts InstanceAlerts
    Configuration options for alert triggers on this Linode.
    AuthorizedKeys List<string>
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    AuthorizedUsers List<string>
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    BackupId int
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    Backups InstanceBackups
    Information about this Linode's backups status.
    BackupsEnabled bool
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    BootConfigLabel string
    The Label of the Instance Config that should be used to boot the Linode instance.
    Booted bool
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    Configs List<InstanceConfig>
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    Disks List<InstanceDisk>

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    FirewallId int
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    Group string
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    HasUserData bool
    Whether this Instance was created with user-data.
    HostUuid string
    The Linode’s host machine, as a UUID.
    Image string
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    Interfaces List<InstanceInterface>
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    IpAddress string
    A string containing the Linode's public IP address.
    Ipv4s List<string>
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    Ipv6 string
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    Label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    Metadatas List<InstanceMetadata>
    Various fields related to the Linode Metadata service.
    MigrationType string
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    PlacementGroup InstancePlacementGroup
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    PlacementGroupExternallyManaged bool
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    PrivateIp bool
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    PrivateIpAddress string
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    Region string
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    ResizeDisk bool

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    RootPass string
    The password that will be initially assigned to the 'root' user account.
    SharedIpv4s List<string>

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    Specs InstanceSpecs
    Information about the resources available to this Linode.
    StackscriptData Dictionary<string, object>
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    StackscriptId int
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    Status string
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    SwapSize int
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    Tags List<string>
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    Type string
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    WatchdogEnabled bool
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
    Alerts InstanceAlertsArgs
    Configuration options for alert triggers on this Linode.
    AuthorizedKeys []string
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    AuthorizedUsers []string
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    BackupId int
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    Backups InstanceBackupsArgs
    Information about this Linode's backups status.
    BackupsEnabled bool
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    BootConfigLabel string
    The Label of the Instance Config that should be used to boot the Linode instance.
    Booted bool
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    Configs []InstanceConfigArgs
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    Disks []InstanceDiskTypeArgs

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    FirewallId int
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    Group string
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    HasUserData bool
    Whether this Instance was created with user-data.
    HostUuid string
    The Linode’s host machine, as a UUID.
    Image string
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    Interfaces []InstanceInterfaceArgs
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    IpAddress string
    A string containing the Linode's public IP address.
    Ipv4s []string
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    Ipv6 string
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    Label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    Metadatas []InstanceMetadataArgs
    Various fields related to the Linode Metadata service.
    MigrationType string
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    PlacementGroup InstancePlacementGroupArgs
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    PlacementGroupExternallyManaged bool
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    PrivateIp bool
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    PrivateIpAddress string
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    Region string
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    ResizeDisk bool

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    RootPass string
    The password that will be initially assigned to the 'root' user account.
    SharedIpv4s []string

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    Specs InstanceSpecsArgs
    Information about the resources available to this Linode.
    StackscriptData map[string]interface{}
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    StackscriptId int
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    Status string
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    SwapSize int
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    Tags []string
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    Type string
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    WatchdogEnabled bool
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
    alerts InstanceAlerts
    Configuration options for alert triggers on this Linode.
    authorizedKeys List<String>
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorizedUsers List<String>
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    backupId Integer
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    backups InstanceBackups
    Information about this Linode's backups status.
    backupsEnabled Boolean
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    bootConfigLabel String
    The Label of the Instance Config that should be used to boot the Linode instance.
    booted Boolean
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    configs List<InstanceConfig>
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    disks List<InstanceDisk>

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    firewallId Integer
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    group String
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    hasUserData Boolean
    Whether this Instance was created with user-data.
    hostUuid String
    The Linode’s host machine, as a UUID.
    image String
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    interfaces List<InstanceInterface>
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    ipAddress String
    A string containing the Linode's public IP address.
    ipv4s List<String>
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    ipv6 String
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    label String
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    metadatas List<InstanceMetadata>
    Various fields related to the Linode Metadata service.
    migrationType String
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    placementGroup InstancePlacementGroup
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    placementGroupExternallyManaged Boolean
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    privateIp Boolean
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    privateIpAddress String
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    region String
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    resizeDisk Boolean

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    rootPass String
    The password that will be initially assigned to the 'root' user account.
    sharedIpv4s List<String>

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    specs InstanceSpecs
    Information about the resources available to this Linode.
    stackscriptData Map<String,Object>
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscriptId Integer
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    status String
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    swapSize Integer
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    tags List<String>
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    type String
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    watchdogEnabled Boolean
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
    alerts InstanceAlerts
    Configuration options for alert triggers on this Linode.
    authorizedKeys string[]
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorizedUsers string[]
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    backupId number
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    backups InstanceBackups
    Information about this Linode's backups status.
    backupsEnabled boolean
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    bootConfigLabel string
    The Label of the Instance Config that should be used to boot the Linode instance.
    booted boolean
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    configs InstanceConfig[]
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    disks InstanceDisk[]

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    firewallId number
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    group string
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    hasUserData boolean
    Whether this Instance was created with user-data.
    hostUuid string
    The Linode’s host machine, as a UUID.
    image string
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    interfaces InstanceInterface[]
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    ipAddress string
    A string containing the Linode's public IP address.
    ipv4s string[]
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    ipv6 string
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    metadatas InstanceMetadata[]
    Various fields related to the Linode Metadata service.
    migrationType string
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    placementGroup InstancePlacementGroup
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    placementGroupExternallyManaged boolean
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    privateIp boolean
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    privateIpAddress string
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    region string
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    resizeDisk boolean

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    rootPass string
    The password that will be initially assigned to the 'root' user account.
    sharedIpv4s string[]

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    specs InstanceSpecs
    Information about the resources available to this Linode.
    stackscriptData {[key: string]: any}
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscriptId number
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    status string
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    swapSize number
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    tags string[]
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    type string
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    watchdogEnabled boolean
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
    alerts InstanceAlertsArgs
    Configuration options for alert triggers on this Linode.
    authorized_keys Sequence[str]
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorized_users Sequence[str]
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    backup_id int
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    backups InstanceBackupsArgs
    Information about this Linode's backups status.
    backups_enabled bool
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    boot_config_label str
    The Label of the Instance Config that should be used to boot the Linode instance.
    booted bool
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    configs Sequence[InstanceConfigArgs]
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    disks Sequence[InstanceDiskArgs]

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    firewall_id int
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    group str
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    has_user_data bool
    Whether this Instance was created with user-data.
    host_uuid str
    The Linode’s host machine, as a UUID.
    image str
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    interfaces Sequence[InstanceInterfaceArgs]
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    ip_address str
    A string containing the Linode's public IP address.
    ipv4s Sequence[str]
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    ipv6 str
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    label str
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    metadatas Sequence[InstanceMetadataArgs]
    Various fields related to the Linode Metadata service.
    migration_type str
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    placement_group InstancePlacementGroupArgs
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    placement_group_externally_managed bool
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    private_ip bool
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    private_ip_address str
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    region str
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    resize_disk bool

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    root_pass str
    The password that will be initially assigned to the 'root' user account.
    shared_ipv4s Sequence[str]

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    specs InstanceSpecsArgs
    Information about the resources available to this Linode.
    stackscript_data Mapping[str, Any]
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscript_id int
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    status str
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    swap_size int
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    tags Sequence[str]
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    type str
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    watchdog_enabled bool
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.
    alerts Property Map
    Configuration options for alert triggers on this Linode.
    authorizedKeys List<String>
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorizedUsers List<String>
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    backupId Number
    A Backup ID from another Linode's available backups. Your User must have read_write access to that Linode, the Backup must have a status of successful, and the Linode must be deployed to the same region as the Backup. See /linode/instances/{linodeId}/backups for a Linode's available backups. This field and the image field are mutually exclusive.
    backups Property Map
    Information about this Linode's backups status.
    backupsEnabled Boolean
    If this field is set to true, the created Linode will automatically be enrolled in the Linode Backup service. This will incur an additional charge. The cost for the Backup service is dependent on the Type of Linode deployed.
    bootConfigLabel String
    The Label of the Instance Config that should be used to boot the Linode instance.
    booted Boolean
    If true, then the instance is kept or converted into in a running state. If false, the instance will be shutdown. If unspecified, the Linode's power status will not be managed by the Provider.
    configs List<Property Map>
    Configuration profiles define the VM settings and boot behavior of the Linode Instance.

    Deprecated: The embedded config is deprecated and scheduled to be removed in the next major version.Please consider migrating it to linode_instance_config resource.

    disks List<Property Map>

    Deprecated: The embedded disk block in linode.Instance resource is deprecated and scheduled to be removed in the next major version. Please consider migrating it to be the linode.InstanceDisk resource.

    firewallId Number
    The ID of the Firewall to attach to the instance upon creation. Changing firewall_id forces the creation of a new Linode Instance.
    group String
    A deprecated property denoting a group label for this Linode. We recommend using the tags attribute instead.

    Deprecated: Group label is deprecated. We recommend using tags instead.

    hasUserData Boolean
    Whether this Instance was created with user-data.
    hostUuid String
    The Linode’s host machine, as a UUID.
    image String
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/. See /images for more information on the Images available for you to use.
    interfaces List<Property Map>
    An array of Network Interfaces for this Linode to be created with. If an explicit config or disk is defined, interfaces must be declared in the config block.
    ipAddress String
    A string containing the Linode's public IP address.
    ipv4s List<String>
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    ipv6 String
    This Linode's IPv6 SLAAC addresses. This address is specific to a Linode, and may not be shared. The prefix (/64) is included in this attribute.
    label String
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    metadatas List<Property Map>
    Various fields related to the Linode Metadata service.
    migrationType String
    The type of migration to use when updating the type or region of a Linode. (cold, warm; default cold)

    • interface - (Optional) A list of network interfaces to be assigned to the Linode on creation. If an explicit config or disk is defined, interfaces must be declared in the config block.
    placementGroup Property Map
    Information about the Placement Group this Linode is assigned to. NOTE: Placement Groups may not currently be available to all users.
    placementGroupExternallyManaged Boolean
    If true, changes to the Linode's assigned Placement Group will be ignored. This is necessary when using this resource in conjunction with the linode.PlacementGroupAssignment resource.
    privateIp Boolean
    If true, the created Linode will have private networking enabled, allowing use of the 192.168.128.0/17 network within the Linode's region. It can be enabled on an existing Linode but it can't be disabled.
    privateIpAddress String
    This Linode's Private IPv4 Address, if enabled. The regional private IP address range, 192.168.128.0/17, is shared by all Linode Instances in a region.
    region String
    This is the location where the Linode is deployed. Examples are "us-east", "us-west", "ap-south", etc. See all regions here. Changing region will trigger a migration of this Linode. Migration operations are typically long-running operations, so the update timeout should be adjusted accordingly..
    resizeDisk Boolean

    If true, changes in Linode type will attempt to upsize or downsize implicitly created disks. This must be false if explicit disks are defined. This is an irreversible action as Linode disks cannot be automatically downsized.

    • alerts.0.cpu - (Optional) The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.

    • alerts.0.network_in - (Optional) The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.network_out - (Optional) The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.transfer_quota - (Optional) The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    • alerts.0.io - (Optional) The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.

    rootPass String
    The password that will be initially assigned to the 'root' user account.
    sharedIpv4s List<String>

    A set of IPv4 addresses to be shared with the Instance. These IP addresses can be both private and public, but must be in the same region as the instance.

    • metadata.0.user_data - (Optional) The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    • placement_group.0.id - (Optional) The ID of the Placement Group to assign this Linode to.

    specs Property Map
    Information about the resources available to this Linode.
    stackscriptData Map<Any>
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscriptId Number
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    status String
    The status of the instance, indicating the current readiness state. (running, offline, ...)
    swapSize Number
    When deploying from an Image, this field is optional with a Linode API default of 512mb, otherwise it is ignored. This is used to set the swap disk size for the newly-created Linode.
    tags List<String>
    A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
    type String
    The Linode type defines the pricing, CPU, disk, and RAM specs of the instance. Examples are "g6-nanode-1", "g6-standard-2", "g6-highmem-16", "g6-dedicated-16", etc. See all types here.


    watchdogEnabled Boolean
    The watchdog, named Lassie, is a Shutdown Watchdog that monitors your Linode and will reboot it if it powers off unexpectedly. It works by issuing a boot job when your Linode powers off without a shutdown job being responsible. To prevent a loop, Lassie will give up if there have been more than 5 boot jobs issued within 15 minutes.

    Supporting Types

    InstanceAlerts, InstanceAlertsArgs

    Cpu int
    The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.
    Io int
    The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.
    NetworkIn int
    The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    NetworkOut int
    The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    TransferQuota int
    The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.
    Cpu int
    The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.
    Io int
    The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.
    NetworkIn int
    The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    NetworkOut int
    The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    TransferQuota int
    The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.
    cpu Integer
    The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.
    io Integer
    The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.
    networkIn Integer
    The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    networkOut Integer
    The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    transferQuota Integer
    The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.
    cpu number
    The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.
    io number
    The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.
    networkIn number
    The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    networkOut number
    The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    transferQuota number
    The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.
    cpu int
    The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.
    io int
    The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.
    network_in int
    The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    network_out int
    The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    transfer_quota int
    The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.
    cpu Number
    The percentage of CPU usage required to trigger an alert. If the average CPU usage over two hours exceeds this value, we'll send you an alert. If this is set to 0, the alert is disabled.
    io Number
    The amount of disk IO operation per second required to trigger an alert. If the average disk IO over two hours exceeds this value, we'll send you an alert. If set to 0, this alert is disabled.
    networkIn Number
    The amount of incoming traffic, in Mbit/s, required to trigger an alert. If the average incoming traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    networkOut Number
    The amount of outbound traffic, in Mbit/s, required to trigger an alert. If the average outbound traffic over two hours exceeds this value, we'll send you an alert. If this is set to 0 (zero), the alert is disabled.
    transferQuota Number
    The percentage of network transfer that may be used before an alert is triggered. When this value is exceeded, we'll alert you. If this is set to 0 (zero), the alert is disabled.

    InstanceBackups, InstanceBackupsArgs

    Available bool
    Whether this Backup is available for restoration.
    Enabled bool
    If this Linode has the Backup service enabled.
    Schedule InstanceBackupsSchedule
    Available bool
    Whether this Backup is available for restoration.
    Enabled bool
    If this Linode has the Backup service enabled.
    Schedule InstanceBackupsSchedule
    available Boolean
    Whether this Backup is available for restoration.
    enabled Boolean
    If this Linode has the Backup service enabled.
    schedule InstanceBackupsSchedule
    available boolean
    Whether this Backup is available for restoration.
    enabled boolean
    If this Linode has the Backup service enabled.
    schedule InstanceBackupsSchedule
    available bool
    Whether this Backup is available for restoration.
    enabled bool
    If this Linode has the Backup service enabled.
    schedule InstanceBackupsSchedule
    available Boolean
    Whether this Backup is available for restoration.
    enabled Boolean
    If this Linode has the Backup service enabled.
    schedule Property Map

    InstanceBackupsSchedule, InstanceBackupsScheduleArgs

    Day string
    The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period. If not set manually, then when backups are initially enabled, this may come back as "Scheduling" until the day is automatically selected.
    Window string
    The window ('W0'-'W22') in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur. For example, 'W10' indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically. If not set manually, when backups are initially enabled this may come back as Scheduling until the window is automatically selected.
    Day string
    The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period. If not set manually, then when backups are initially enabled, this may come back as "Scheduling" until the day is automatically selected.
    Window string
    The window ('W0'-'W22') in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur. For example, 'W10' indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically. If not set manually, when backups are initially enabled this may come back as Scheduling until the window is automatically selected.
    day String
    The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period. If not set manually, then when backups are initially enabled, this may come back as "Scheduling" until the day is automatically selected.
    window String
    The window ('W0'-'W22') in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur. For example, 'W10' indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically. If not set manually, when backups are initially enabled this may come back as Scheduling until the window is automatically selected.
    day string
    The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period. If not set manually, then when backups are initially enabled, this may come back as "Scheduling" until the day is automatically selected.
    window string
    The window ('W0'-'W22') in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur. For example, 'W10' indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically. If not set manually, when backups are initially enabled this may come back as Scheduling until the window is automatically selected.
    day str
    The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period. If not set manually, then when backups are initially enabled, this may come back as "Scheduling" until the day is automatically selected.
    window str
    The window ('W0'-'W22') in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur. For example, 'W10' indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically. If not set manually, when backups are initially enabled this may come back as Scheduling until the window is automatically selected.
    day String
    The day of the week that your Linode's weekly Backup is taken. If not set manually, a day will be chosen for you. Backups are taken every day, but backups taken on this day are preferred when selecting backups to retain for a longer period. If not set manually, then when backups are initially enabled, this may come back as "Scheduling" until the day is automatically selected.
    window String
    The window ('W0'-'W22') in which your backups will be taken, in UTC. A backups window is a two-hour span of time in which the backup may occur. For example, 'W10' indicates that your backups should be taken between 10:00 and 12:00. If you do not choose a backup window, one will be selected for you automatically. If not set manually, when backups are initially enabled this may come back as Scheduling until the window is automatically selected.

    InstanceConfig, InstanceConfigArgs

    Label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    Comments string
    Optional field for arbitrary User comments on this Config.
    Devices InstanceConfigDevices
    Device sda-sdh can be either a Disk or Volume identified by disk_label or volume_id. Only one type per slot allowed.
    Helpers InstanceConfigHelpers
    Helpers enabled when booting to this Linode Config.
    Id int
    The ID of the Placement Group.
    Interfaces List<InstanceConfigInterface>
    An array of Network Interfaces for this Linode’s Configuration Profile.
    Kernel string
    A Kernel ID to boot a Linode with. Default is based on image choice. (examples: linode/latest-64bit, linode/grub2, linode/direct-disk)
    MemoryLimit int
    Defaults to the total RAM of the Linode
    RootDevice string
    The root device to boot. The corresponding disk must be attached.
    RunLevel string
    Defines the state of your Linode after booting. Defaults to default.
    VirtMode string
    Controls the virtualization mode. Defaults to paravirt.
    Label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    Comments string
    Optional field for arbitrary User comments on this Config.
    Devices InstanceConfigDevices
    Device sda-sdh can be either a Disk or Volume identified by disk_label or volume_id. Only one type per slot allowed.
    Helpers InstanceConfigHelpers
    Helpers enabled when booting to this Linode Config.
    Id int
    The ID of the Placement Group.
    Interfaces []InstanceConfigInterface
    An array of Network Interfaces for this Linode’s Configuration Profile.
    Kernel string
    A Kernel ID to boot a Linode with. Default is based on image choice. (examples: linode/latest-64bit, linode/grub2, linode/direct-disk)
    MemoryLimit int
    Defaults to the total RAM of the Linode
    RootDevice string
    The root device to boot. The corresponding disk must be attached.
    RunLevel string
    Defines the state of your Linode after booting. Defaults to default.
    VirtMode string
    Controls the virtualization mode. Defaults to paravirt.
    label String
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    comments String
    Optional field for arbitrary User comments on this Config.
    devices InstanceConfigDevices
    Device sda-sdh can be either a Disk or Volume identified by disk_label or volume_id. Only one type per slot allowed.
    helpers InstanceConfigHelpers
    Helpers enabled when booting to this Linode Config.
    id Integer
    The ID of the Placement Group.
    interfaces List<InstanceConfigInterface>
    An array of Network Interfaces for this Linode’s Configuration Profile.
    kernel String
    A Kernel ID to boot a Linode with. Default is based on image choice. (examples: linode/latest-64bit, linode/grub2, linode/direct-disk)
    memoryLimit Integer
    Defaults to the total RAM of the Linode
    rootDevice String
    The root device to boot. The corresponding disk must be attached.
    runLevel String
    Defines the state of your Linode after booting. Defaults to default.
    virtMode String
    Controls the virtualization mode. Defaults to paravirt.
    label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    comments string
    Optional field for arbitrary User comments on this Config.
    devices InstanceConfigDevices
    Device sda-sdh can be either a Disk or Volume identified by disk_label or volume_id. Only one type per slot allowed.
    helpers InstanceConfigHelpers
    Helpers enabled when booting to this Linode Config.
    id number
    The ID of the Placement Group.
    interfaces InstanceConfigInterface[]
    An array of Network Interfaces for this Linode’s Configuration Profile.
    kernel string
    A Kernel ID to boot a Linode with. Default is based on image choice. (examples: linode/latest-64bit, linode/grub2, linode/direct-disk)
    memoryLimit number
    Defaults to the total RAM of the Linode
    rootDevice string
    The root device to boot. The corresponding disk must be attached.
    runLevel string
    Defines the state of your Linode after booting. Defaults to default.
    virtMode string
    Controls the virtualization mode. Defaults to paravirt.
    label str
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    comments str
    Optional field for arbitrary User comments on this Config.
    devices InstanceConfigDevices
    Device sda-sdh can be either a Disk or Volume identified by disk_label or volume_id. Only one type per slot allowed.
    helpers InstanceConfigHelpers
    Helpers enabled when booting to this Linode Config.
    id int
    The ID of the Placement Group.
    interfaces Sequence[InstanceConfigInterface]
    An array of Network Interfaces for this Linode’s Configuration Profile.
    kernel str
    A Kernel ID to boot a Linode with. Default is based on image choice. (examples: linode/latest-64bit, linode/grub2, linode/direct-disk)
    memory_limit int
    Defaults to the total RAM of the Linode
    root_device str
    The root device to boot. The corresponding disk must be attached.
    run_level str
    Defines the state of your Linode after booting. Defaults to default.
    virt_mode str
    Controls the virtualization mode. Defaults to paravirt.
    label String
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    comments String
    Optional field for arbitrary User comments on this Config.
    devices Property Map
    Device sda-sdh can be either a Disk or Volume identified by disk_label or volume_id. Only one type per slot allowed.
    helpers Property Map
    Helpers enabled when booting to this Linode Config.
    id Number
    The ID of the Placement Group.
    interfaces List<Property Map>
    An array of Network Interfaces for this Linode’s Configuration Profile.
    kernel String
    A Kernel ID to boot a Linode with. Default is based on image choice. (examples: linode/latest-64bit, linode/grub2, linode/direct-disk)
    memoryLimit Number
    Defaults to the total RAM of the Linode
    rootDevice String
    The root device to boot. The corresponding disk must be attached.
    runLevel String
    Defines the state of your Linode after booting. Defaults to default.
    virtMode String
    Controls the virtualization mode. Defaults to paravirt.

    InstanceConfigDevices, InstanceConfigDevicesArgs

    Sda InstanceConfigDevicesSda
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdb InstanceConfigDevicesSdb
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdc InstanceConfigDevicesSdc
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdd InstanceConfigDevicesSdd
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sde InstanceConfigDevicesSde
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdf InstanceConfigDevicesSdf
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdg InstanceConfigDevicesSdg
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdh InstanceConfigDevicesSdh
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sda InstanceConfigDevicesSda
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdb InstanceConfigDevicesSdb
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdc InstanceConfigDevicesSdc
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdd InstanceConfigDevicesSdd
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sde InstanceConfigDevicesSde
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdf InstanceConfigDevicesSdf
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdg InstanceConfigDevicesSdg
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    Sdh InstanceConfigDevicesSdh
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sda InstanceConfigDevicesSda
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdb InstanceConfigDevicesSdb
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdc InstanceConfigDevicesSdc
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdd InstanceConfigDevicesSdd
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sde InstanceConfigDevicesSde
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdf InstanceConfigDevicesSdf
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdg InstanceConfigDevicesSdg
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdh InstanceConfigDevicesSdh
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sda InstanceConfigDevicesSda
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdb InstanceConfigDevicesSdb
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdc InstanceConfigDevicesSdc
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdd InstanceConfigDevicesSdd
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sde InstanceConfigDevicesSde
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdf InstanceConfigDevicesSdf
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdg InstanceConfigDevicesSdg
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdh InstanceConfigDevicesSdh
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sda InstanceConfigDevicesSda
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdb InstanceConfigDevicesSdb
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdc InstanceConfigDevicesSdc
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdd InstanceConfigDevicesSdd
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sde InstanceConfigDevicesSde
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdf InstanceConfigDevicesSdf
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdg InstanceConfigDevicesSdg
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdh InstanceConfigDevicesSdh
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sda Property Map
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdb Property Map
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdc Property Map
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdd Property Map
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sde Property Map
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdf Property Map
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdg Property Map
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.
    sdh Property Map
    Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed.

    InstanceConfigDevicesSda, InstanceConfigDevicesSdaArgs

    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    diskId Integer
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Integer
    The Block Storage volume ID to map to this disk slot
    diskId number
    The Disk ID to map to this disk slot
    diskLabel string
    The label of the disk to map to this device slot.
    volumeId number
    The Block Storage volume ID to map to this disk slot
    disk_id int
    The Disk ID to map to this disk slot
    disk_label str
    The label of the disk to map to this device slot.
    volume_id int
    The Block Storage volume ID to map to this disk slot
    diskId Number
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Number
    The Block Storage volume ID to map to this disk slot

    InstanceConfigDevicesSdb, InstanceConfigDevicesSdbArgs

    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    diskId Integer
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Integer
    The Block Storage volume ID to map to this disk slot
    diskId number
    The Disk ID to map to this disk slot
    diskLabel string
    The label of the disk to map to this device slot.
    volumeId number
    The Block Storage volume ID to map to this disk slot
    disk_id int
    The Disk ID to map to this disk slot
    disk_label str
    The label of the disk to map to this device slot.
    volume_id int
    The Block Storage volume ID to map to this disk slot
    diskId Number
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Number
    The Block Storage volume ID to map to this disk slot

    InstanceConfigDevicesSdc, InstanceConfigDevicesSdcArgs

    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    diskId Integer
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Integer
    The Block Storage volume ID to map to this disk slot
    diskId number
    The Disk ID to map to this disk slot
    diskLabel string
    The label of the disk to map to this device slot.
    volumeId number
    The Block Storage volume ID to map to this disk slot
    disk_id int
    The Disk ID to map to this disk slot
    disk_label str
    The label of the disk to map to this device slot.
    volume_id int
    The Block Storage volume ID to map to this disk slot
    diskId Number
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Number
    The Block Storage volume ID to map to this disk slot

    InstanceConfigDevicesSdd, InstanceConfigDevicesSddArgs

    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    diskId Integer
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Integer
    The Block Storage volume ID to map to this disk slot
    diskId number
    The Disk ID to map to this disk slot
    diskLabel string
    The label of the disk to map to this device slot.
    volumeId number
    The Block Storage volume ID to map to this disk slot
    disk_id int
    The Disk ID to map to this disk slot
    disk_label str
    The label of the disk to map to this device slot.
    volume_id int
    The Block Storage volume ID to map to this disk slot
    diskId Number
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Number
    The Block Storage volume ID to map to this disk slot

    InstanceConfigDevicesSde, InstanceConfigDevicesSdeArgs

    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    diskId Integer
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Integer
    The Block Storage volume ID to map to this disk slot
    diskId number
    The Disk ID to map to this disk slot
    diskLabel string
    The label of the disk to map to this device slot.
    volumeId number
    The Block Storage volume ID to map to this disk slot
    disk_id int
    The Disk ID to map to this disk slot
    disk_label str
    The label of the disk to map to this device slot.
    volume_id int
    The Block Storage volume ID to map to this disk slot
    diskId Number
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Number
    The Block Storage volume ID to map to this disk slot

    InstanceConfigDevicesSdf, InstanceConfigDevicesSdfArgs

    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    diskId Integer
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Integer
    The Block Storage volume ID to map to this disk slot
    diskId number
    The Disk ID to map to this disk slot
    diskLabel string
    The label of the disk to map to this device slot.
    volumeId number
    The Block Storage volume ID to map to this disk slot
    disk_id int
    The Disk ID to map to this disk slot
    disk_label str
    The label of the disk to map to this device slot.
    volume_id int
    The Block Storage volume ID to map to this disk slot
    diskId Number
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Number
    The Block Storage volume ID to map to this disk slot

    InstanceConfigDevicesSdg, InstanceConfigDevicesSdgArgs

    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    diskId Integer
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Integer
    The Block Storage volume ID to map to this disk slot
    diskId number
    The Disk ID to map to this disk slot
    diskLabel string
    The label of the disk to map to this device slot.
    volumeId number
    The Block Storage volume ID to map to this disk slot
    disk_id int
    The Disk ID to map to this disk slot
    disk_label str
    The label of the disk to map to this device slot.
    volume_id int
    The Block Storage volume ID to map to this disk slot
    diskId Number
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Number
    The Block Storage volume ID to map to this disk slot

    InstanceConfigDevicesSdh, InstanceConfigDevicesSdhArgs

    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    DiskId int
    The Disk ID to map to this disk slot
    DiskLabel string
    The label of the disk to map to this device slot.
    VolumeId int
    The Block Storage volume ID to map to this disk slot
    diskId Integer
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Integer
    The Block Storage volume ID to map to this disk slot
    diskId number
    The Disk ID to map to this disk slot
    diskLabel string
    The label of the disk to map to this device slot.
    volumeId number
    The Block Storage volume ID to map to this disk slot
    disk_id int
    The Disk ID to map to this disk slot
    disk_label str
    The label of the disk to map to this device slot.
    volume_id int
    The Block Storage volume ID to map to this disk slot
    diskId Number
    The Disk ID to map to this disk slot
    diskLabel String
    The label of the disk to map to this device slot.
    volumeId Number
    The Block Storage volume ID to map to this disk slot

    InstanceConfigHelpers, InstanceConfigHelpersArgs

    DevtmpfsAutomount bool
    Populates the /dev directory early during boot without udev. Defaults to false.
    Distro bool
    Controls the behavior of the Linode Config's Distribution Helper setting.
    ModulesDep bool
    Creates a modules dependency file for the Kernel you run.
    Network bool
    Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.
    UpdatedbDisabled bool
    Disables updatedb cron job to avoid disk thrashing.
    DevtmpfsAutomount bool
    Populates the /dev directory early during boot without udev. Defaults to false.
    Distro bool
    Controls the behavior of the Linode Config's Distribution Helper setting.
    ModulesDep bool
    Creates a modules dependency file for the Kernel you run.
    Network bool
    Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.
    UpdatedbDisabled bool
    Disables updatedb cron job to avoid disk thrashing.
    devtmpfsAutomount Boolean
    Populates the /dev directory early during boot without udev. Defaults to false.
    distro Boolean
    Controls the behavior of the Linode Config's Distribution Helper setting.
    modulesDep Boolean
    Creates a modules dependency file for the Kernel you run.
    network Boolean
    Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.
    updatedbDisabled Boolean
    Disables updatedb cron job to avoid disk thrashing.
    devtmpfsAutomount boolean
    Populates the /dev directory early during boot without udev. Defaults to false.
    distro boolean
    Controls the behavior of the Linode Config's Distribution Helper setting.
    modulesDep boolean
    Creates a modules dependency file for the Kernel you run.
    network boolean
    Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.
    updatedbDisabled boolean
    Disables updatedb cron job to avoid disk thrashing.
    devtmpfs_automount bool
    Populates the /dev directory early during boot without udev. Defaults to false.
    distro bool
    Controls the behavior of the Linode Config's Distribution Helper setting.
    modules_dep bool
    Creates a modules dependency file for the Kernel you run.
    network bool
    Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.
    updatedb_disabled bool
    Disables updatedb cron job to avoid disk thrashing.
    devtmpfsAutomount Boolean
    Populates the /dev directory early during boot without udev. Defaults to false.
    distro Boolean
    Controls the behavior of the Linode Config's Distribution Helper setting.
    modulesDep Boolean
    Creates a modules dependency file for the Kernel you run.
    network Boolean
    Controls the behavior of the Linode Config's Network Helper setting, used to automatically configure additional IP addresses assigned to this instance.
    updatedbDisabled Boolean
    Disables updatedb cron job to avoid disk thrashing.

    InstanceConfigInterface, InstanceConfigInterfaceArgs

    Purpose string
    The type of interface. (public, vlan, vpc)
    Active bool
    Whether this interface is currently booted and active.
    Id int
    The ID of the Placement Group.
    IpRanges List<string>
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    IpamAddress string
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    Ipv4 InstanceConfigInterfaceIpv4
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    Label string
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    Primary bool

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    SubnetId int
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    VpcId int
    The ID of VPC which this interface is attached to.
    Purpose string
    The type of interface. (public, vlan, vpc)
    Active bool
    Whether this interface is currently booted and active.
    Id int
    The ID of the Placement Group.
    IpRanges []string
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    IpamAddress string
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    Ipv4 InstanceConfigInterfaceIpv4
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    Label string
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    Primary bool

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    SubnetId int
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    VpcId int
    The ID of VPC which this interface is attached to.
    purpose String
    The type of interface. (public, vlan, vpc)
    active Boolean
    Whether this interface is currently booted and active.
    id Integer
    The ID of the Placement Group.
    ipRanges List<String>
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    ipamAddress String
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    ipv4 InstanceConfigInterfaceIpv4
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    label String
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    primary Boolean

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    subnetId Integer
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    vpcId Integer
    The ID of VPC which this interface is attached to.
    purpose string
    The type of interface. (public, vlan, vpc)
    active boolean
    Whether this interface is currently booted and active.
    id number
    The ID of the Placement Group.
    ipRanges string[]
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    ipamAddress string
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    ipv4 InstanceConfigInterfaceIpv4
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    label string
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    primary boolean

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    subnetId number
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    vpcId number
    The ID of VPC which this interface is attached to.
    purpose str
    The type of interface. (public, vlan, vpc)
    active bool
    Whether this interface is currently booted and active.
    id int
    The ID of the Placement Group.
    ip_ranges Sequence[str]
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    ipam_address str
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    ipv4 InstanceConfigInterfaceIpv4
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    label str
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    primary bool

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    subnet_id int
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    vpc_id int
    The ID of VPC which this interface is attached to.
    purpose String
    The type of interface. (public, vlan, vpc)
    active Boolean
    Whether this interface is currently booted and active.
    id Number
    The ID of the Placement Group.
    ipRanges List<String>
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    ipamAddress String
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    ipv4 Property Map
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    label String
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    primary Boolean

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    subnetId Number
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    vpcId Number
    The ID of VPC which this interface is attached to.

    InstanceConfigInterfaceIpv4, InstanceConfigInterfaceIpv4Args

    Nat11 string
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    Vpc string
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
    Nat11 string
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    Vpc string
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
    nat11 String
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    vpc String
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
    nat11 string
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    vpc string
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
    nat11 str
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    vpc str
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
    nat11 String
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    vpc String
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.

    InstanceDisk, InstanceDiskArgs

    Label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    Size int
    The size of the Disk in MB.
    AuthorizedKeys List<string>
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    AuthorizedUsers List<string>
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    Filesystem string
    The Disk filesystem can be one of: raw, swap, ext3, ext4, initrd (max 32mb)
    Id int
    The ID of the Placement Group.
    Image string
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/.
    ReadOnly bool
    If true, this Disk is read-only.
    RootPass string
    The password that will be initialially assigned to the 'root' user account.
    StackscriptData Dictionary<string, object>
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    StackscriptId int
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    Label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    Size int
    The size of the Disk in MB.
    AuthorizedKeys []string
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    AuthorizedUsers []string
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    Filesystem string
    The Disk filesystem can be one of: raw, swap, ext3, ext4, initrd (max 32mb)
    Id int
    The ID of the Placement Group.
    Image string
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/.
    ReadOnly bool
    If true, this Disk is read-only.
    RootPass string
    The password that will be initialially assigned to the 'root' user account.
    StackscriptData map[string]interface{}
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    StackscriptId int
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    label String
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    size Integer
    The size of the Disk in MB.
    authorizedKeys List<String>
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorizedUsers List<String>
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    filesystem String
    The Disk filesystem can be one of: raw, swap, ext3, ext4, initrd (max 32mb)
    id Integer
    The ID of the Placement Group.
    image String
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/.
    readOnly Boolean
    If true, this Disk is read-only.
    rootPass String
    The password that will be initialially assigned to the 'root' user account.
    stackscriptData Map<String,Object>
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscriptId Integer
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    size number
    The size of the Disk in MB.
    authorizedKeys string[]
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorizedUsers string[]
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    filesystem string
    The Disk filesystem can be one of: raw, swap, ext3, ext4, initrd (max 32mb)
    id number
    The ID of the Placement Group.
    image string
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/.
    readOnly boolean
    If true, this Disk is read-only.
    rootPass string
    The password that will be initialially assigned to the 'root' user account.
    stackscriptData {[key: string]: any}
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscriptId number
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    label str
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    size int
    The size of the Disk in MB.
    authorized_keys Sequence[str]
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorized_users Sequence[str]
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    filesystem str
    The Disk filesystem can be one of: raw, swap, ext3, ext4, initrd (max 32mb)
    id int
    The ID of the Placement Group.
    image str
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/.
    read_only bool
    If true, this Disk is read-only.
    root_pass str
    The password that will be initialially assigned to the 'root' user account.
    stackscript_data Mapping[str, Any]
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscript_id int
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.
    label String
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    size Number
    The size of the Disk in MB.
    authorizedKeys List<String>
    A list of SSH public keys to deploy for the root user on the newly created Linode. Only accepted if 'image' is provided.
    authorizedUsers List<String>
    A list of Linode usernames. If the usernames have associated SSH keys, the keys will be appended to the root user's ~/.ssh/authorized_keys file automatically. Only accepted if 'image' is provided.
    filesystem String
    The Disk filesystem can be one of: raw, swap, ext3, ext4, initrd (max 32mb)
    id Number
    The ID of the Placement Group.
    image String
    An Image ID to deploy the Disk from. Official Linode Images start with linode/, while your Images start with private/.
    readOnly Boolean
    If true, this Disk is read-only.
    rootPass String
    The password that will be initialially assigned to the 'root' user account.
    stackscriptData Map<Any>
    An object containing responses to any User Defined Fields present in the StackScript being deployed to this Linode. Only accepted if 'stackscript_id' is given. The required values depend on the StackScript being deployed.
    stackscriptId Number
    The StackScript to deploy to the newly created Linode. If provided, 'image' must also be provided, and must be an Image that is compatible with this StackScript.

    InstanceInterface, InstanceInterfaceArgs

    Purpose string
    The type of interface. (public, vlan, vpc)
    Active bool
    Whether this interface is currently booted and active.
    Id int
    The ID of the Placement Group.
    IpRanges List<string>
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    IpamAddress string
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    Ipv4 InstanceInterfaceIpv4
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    Label string
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    Primary bool

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    SubnetId int
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    VpcId int
    The ID of VPC which this interface is attached to.
    Purpose string
    The type of interface. (public, vlan, vpc)
    Active bool
    Whether this interface is currently booted and active.
    Id int
    The ID of the Placement Group.
    IpRanges []string
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    IpamAddress string
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    Ipv4 InstanceInterfaceIpv4
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    Label string
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    Primary bool

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    SubnetId int
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    VpcId int
    The ID of VPC which this interface is attached to.
    purpose String
    The type of interface. (public, vlan, vpc)
    active Boolean
    Whether this interface is currently booted and active.
    id Integer
    The ID of the Placement Group.
    ipRanges List<String>
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    ipamAddress String
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    ipv4 InstanceInterfaceIpv4
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    label String
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    primary Boolean

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    subnetId Integer
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    vpcId Integer
    The ID of VPC which this interface is attached to.
    purpose string
    The type of interface. (public, vlan, vpc)
    active boolean
    Whether this interface is currently booted and active.
    id number
    The ID of the Placement Group.
    ipRanges string[]
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    ipamAddress string
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    ipv4 InstanceInterfaceIpv4
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    label string
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    primary boolean

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    subnetId number
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    vpcId number
    The ID of VPC which this interface is attached to.
    purpose str
    The type of interface. (public, vlan, vpc)
    active bool
    Whether this interface is currently booted and active.
    id int
    The ID of the Placement Group.
    ip_ranges Sequence[str]
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    ipam_address str
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    ipv4 InstanceInterfaceIpv4
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    label str
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    primary bool

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    subnet_id int
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    vpc_id int
    The ID of VPC which this interface is attached to.
    purpose String
    The type of interface. (public, vlan, vpc)
    active Boolean
    Whether this interface is currently booted and active.
    id Number
    The ID of the Placement Group.
    ipRanges List<String>
    IPv4 CIDR VPC Subnet ranges that are routed to this Interface. IPv6 ranges are also available to select participants in the Beta program.
    ipamAddress String
    This Network Interface’s private IP address in Classless Inter-Domain Routing (CIDR) notation. (e.g. 10.0.0.1/24) This field is only allowed for interfaces with the vlan purpose.
    ipv4 Property Map
    This Linode's IPv4 Addresses. Each Linode is assigned a single public IPv4 address upon creation, and may get a single private IPv4 address if needed. You may need to open a support ticket to get additional IPv4 addresses.
    label String
    The name of the VLAN to join. This field is only allowed and required for interfaces with the vlan purpose.
    primary Boolean

    Whether the interface is the primary interface that should have the default route for this Linode. This field is only allowed for interfaces with the public or vpc purpose.

    • ipv4 - (Optional) The IPv4 configuration of the VPC interface. This field is currently only allowed for interfaces with the vpc purpose.

    The following computed attribute is available in a VPC interface:

    subnetId Number
    The name of the VPC Subnet to join. This field is only allowed and required for interfaces with the vpc purpose.
    vpcId Number
    The ID of VPC which this interface is attached to.

    InstanceInterfaceIpv4, InstanceInterfaceIpv4Args

    Nat11 string
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    Vpc string
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
    Nat11 string
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    Vpc string
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
    nat11 String
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    vpc String
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
    nat11 string
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    vpc string
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
    nat11 str
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    vpc str
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.
    nat11 String
    The public IP that will be used for the one-to-one NAT purpose. If this is any, the public IPv4 address assigned to this Linode is used on this interface and will be 1:1 NATted with the VPC IPv4 address.
    vpc String
    The IP from the VPC subnet to use for this interface. A random address will be assigned if this is not specified in a VPC interface.

    InstanceMetadata, InstanceMetadataArgs

    UserData string
    The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.
    UserData string
    The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.
    userData String
    The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.
    userData string
    The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.
    user_data str
    The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.
    userData String
    The base64-encoded user-defined data exposed to this instance through the Linode Metadata service. Refer to the base64encode(...) function for information on encoding content for this field.

    InstancePlacementGroup, InstancePlacementGroupArgs

    Id int
    The ID of the Placement Group.
    AffinityType string
    The affinity policy enforced by the Placement Group.
    CompliantOnly bool
    IsStrict bool
    Whether the Placement Group enforces strict compliance.
    Label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    Id int
    The ID of the Placement Group.
    AffinityType string
    The affinity policy enforced by the Placement Group.
    CompliantOnly bool
    IsStrict bool
    Whether the Placement Group enforces strict compliance.
    Label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    id Integer
    The ID of the Placement Group.
    affinityType String
    The affinity policy enforced by the Placement Group.
    compliantOnly Boolean
    isStrict Boolean
    Whether the Placement Group enforces strict compliance.
    label String
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    id number
    The ID of the Placement Group.
    affinityType string
    The affinity policy enforced by the Placement Group.
    compliantOnly boolean
    isStrict boolean
    Whether the Placement Group enforces strict compliance.
    label string
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    id int
    The ID of the Placement Group.
    affinity_type str
    The affinity policy enforced by the Placement Group.
    compliant_only bool
    is_strict bool
    Whether the Placement Group enforces strict compliance.
    label str
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.
    id Number
    The ID of the Placement Group.
    affinityType String
    The affinity policy enforced by the Placement Group.
    compliantOnly Boolean
    isStrict Boolean
    Whether the Placement Group enforces strict compliance.
    label String
    The Linode's label is for display purposes only. If no label is provided for a Linode, a default will be assigned.

    InstanceSpecs, InstanceSpecsArgs

    Disk int
    The amount of storage space, in GB. this Linode has access to. A typical Linode will divide this space between a primary disk with an image deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an image through POST /linode/instances.
    Memory int
    The amount of RAM, in MB, this Linode has access to. Typically a Linode will choose to boot with all of its available RAM, but this can be configured in a Config profile.
    Transfer int
    The amount of network transfer this Linode is allotted each month.
    Vcpus int
    The number of vcpus this Linode has access to. Typically a Linode will choose to boot with all of its available vcpus, but this can be configured in a Config Profile.
    Disk int
    The amount of storage space, in GB. this Linode has access to. A typical Linode will divide this space between a primary disk with an image deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an image through POST /linode/instances.
    Memory int
    The amount of RAM, in MB, this Linode has access to. Typically a Linode will choose to boot with all of its available RAM, but this can be configured in a Config profile.
    Transfer int
    The amount of network transfer this Linode is allotted each month.
    Vcpus int
    The number of vcpus this Linode has access to. Typically a Linode will choose to boot with all of its available vcpus, but this can be configured in a Config Profile.
    disk Integer
    The amount of storage space, in GB. this Linode has access to. A typical Linode will divide this space between a primary disk with an image deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an image through POST /linode/instances.
    memory Integer
    The amount of RAM, in MB, this Linode has access to. Typically a Linode will choose to boot with all of its available RAM, but this can be configured in a Config profile.
    transfer Integer
    The amount of network transfer this Linode is allotted each month.
    vcpus Integer
    The number of vcpus this Linode has access to. Typically a Linode will choose to boot with all of its available vcpus, but this can be configured in a Config Profile.
    disk number
    The amount of storage space, in GB. this Linode has access to. A typical Linode will divide this space between a primary disk with an image deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an image through POST /linode/instances.
    memory number
    The amount of RAM, in MB, this Linode has access to. Typically a Linode will choose to boot with all of its available RAM, but this can be configured in a Config profile.
    transfer number
    The amount of network transfer this Linode is allotted each month.
    vcpus number
    The number of vcpus this Linode has access to. Typically a Linode will choose to boot with all of its available vcpus, but this can be configured in a Config Profile.
    disk int
    The amount of storage space, in GB. this Linode has access to. A typical Linode will divide this space between a primary disk with an image deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an image through POST /linode/instances.
    memory int
    The amount of RAM, in MB, this Linode has access to. Typically a Linode will choose to boot with all of its available RAM, but this can be configured in a Config profile.
    transfer int
    The amount of network transfer this Linode is allotted each month.
    vcpus int
    The number of vcpus this Linode has access to. Typically a Linode will choose to boot with all of its available vcpus, but this can be configured in a Config Profile.
    disk Number
    The amount of storage space, in GB. this Linode has access to. A typical Linode will divide this space between a primary disk with an image deployed to it, and a swap disk, usually 512 MB. This is the default configuration created when deploying a Linode with an image through POST /linode/instances.
    memory Number
    The amount of RAM, in MB, this Linode has access to. Typically a Linode will choose to boot with all of its available RAM, but this can be configured in a Config profile.
    transfer Number
    The amount of network transfer this Linode is allotted each month.
    vcpus Number
    The number of vcpus this Linode has access to. Typically a Linode will choose to boot with all of its available vcpus, but this can be configured in a Config Profile.

    Import

    Linodes Instances can be imported using the Linode id, e.g.

    $ pulumi import linode:index/instance:Instance mylinode 1234567
    

    When importing an instance, all disk and config values must be represented.

    Imported disks must include their label value. Any disk that is not precisely represented may be removed resulting in data loss.

    Imported configs should include all devices, and must include label, kernel, and the root_device. The instance must include a boot_config_label referring to the correct configuration profile.

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

    Package Details

    Repository
    Linode pulumi/pulumi-linode
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the linode Terraform Provider.
    linode logo
    Linode v4.22.1 published on Wednesday, Jul 3, 2024 by Pulumi