Want to learn about running containers in Lambda? Join our free hands-on workshop. Register Now

Instance

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.

Attributes

This Linode Instance resource exports the following attributes:

  • status - The status of the instance, indicating the current readiness state. (running, offline, …)

  • ip_address - A string containing the Linode’s public IP address.

  • private_ip_address - 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.

  • ipv6 - 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.

  • ipv4 - 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.

  • specs.0.disk - 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.

  • specs.0.memory - 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.

  • specs.0.vcpus - 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.

  • specs.0.transfer - The amount of network transfer this Linode is allotted each month.

  • backups - Information about this Linode’s backups status.

    • enabled - If this Linode has the Backup service enabled.

    • schedule

    • day - 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 - 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.

Example Usage

Simple Linode Instance

using Pulumi;
using Linode = Pulumi.Linode;

class MyStack : Stack
{
    public MyStack()
    {
        var web = new Linode.Instance("web", new Linode.InstanceArgs
        {
            AuthorizedKeys = 
            {
                "ssh-rsa AAAA...Gw== user@example.local",
            },
            Group = "foo",
            Image = "linode/ubuntu18.04",
            Label = "simple_instance",
            PrivateIp = true,
            Region = "us-central",
            RootPass = "terr4form-test",
            SwapSize = 256,
            Tags = 
            {
                "foo",
            },
            Type = "g6-standard-1",
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := linode.NewInstance(ctx, "web", &linode.InstanceArgs{
            AuthorizedKeys: pulumi.StringArray{
                pulumi.String("ssh-rsa AAAA...Gw== user@example.local"),
            },
            Group:     pulumi.String("foo"),
            Image:     pulumi.String("linode/ubuntu18.04"),
            Label:     pulumi.String("simple_instance"),
            PrivateIp: pulumi.Bool(true),
            Region:    pulumi.String("us-central"),
            RootPass:  pulumi.String("terr4form-test"),
            SwapSize:  pulumi.Int(256),
            Tags: pulumi.StringArray{
                pulumi.String("foo"),
            },
            Type: pulumi.String("g6-standard-1"),
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_linode as linode

web = linode.Instance("web",
    authorized_keys=["ssh-rsa AAAA...Gw== user@example.local"],
    group="foo",
    image="linode/ubuntu18.04",
    label="simple_instance",
    private_ip=True,
    region="us-central",
    root_pass="terr4form-test",
    swap_size=256,
    tags=["foo"],
    type="g6-standard-1")
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const web = new linode.Instance("web", {
    authorizedKeys: ["ssh-rsa AAAA...Gw== user@example.local"],
    group: "foo",
    image: "linode/ubuntu18.04",
    label: "simple_instance",
    privateIp: true,
    region: "us-central",
    rootPass: "terr4form-test",
    swapSize: 256,
    tags: ["foo"],
    type: "g6-standard-1",
});

Linode Instance with explicit Configs and Disks

using Pulumi;
using Linode = Pulumi.Linode;

class MyStack : Stack
{
    public MyStack()
    {
        var me = Output.Create(Linode.GetProfile.InvokeAsync());
        var webVolume = new Linode.Volume("webVolume", new Linode.VolumeArgs
        {
            Label = "web_volume",
            Region = "us-central",
            Size = 20,
        });
        var web = new Linode.Instance("web", new Linode.InstanceArgs
        {
            BootConfigLabel = "boot_config",
            Configs = 
            {
                new Linode.Inputs.InstanceConfigArgs
                {
                    Devices = new Linode.Inputs.InstanceConfigDevicesArgs
                    {
                        Sda = new Linode.Inputs.InstanceConfigDevicesSdaArgs
                        {
                            DiskLabel = "boot",
                        },
                        Sdb = new Linode.Inputs.InstanceConfigDevicesSdbArgs
                        {
                            VolumeId = webVolume.Id,
                        },
                    },
                    Kernel = "linode/latest-64bit",
                    Label = "boot_config",
                    RootDevice = "/dev/sda",
                },
            },
            Disks = 
            {
                new Linode.Inputs.InstanceDiskArgs
                {
                    AuthorizedKeys = 
                    {
                        "ssh-rsa AAAA...Gw== user@example.local",
                    },
                    AuthorizedUsers = 
                    {
                        me.Apply(me => me.Username),
                    },
                    Image = "linode/ubuntu18.04",
                    Label = "boot",
                    RootPass = "terr4form-test",
                    Size = 3000,
                },
            },
            Group = "foo",
            Label = "complex_instance",
            PrivateIp = true,
            Region = "us-central",
            Tags = 
            {
                "foo",
            },
            Type = "g6-nanode-1",
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-linode/sdk/v2/go/linode"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        me, err := linode.GetProfile(ctx, nil, nil)
        if err != nil {
            return err
        }
        webVolume, err := linode.NewVolume(ctx, "webVolume", &linode.VolumeArgs{
            Label:  pulumi.String("web_volume"),
            Region: pulumi.String("us-central"),
            Size:   pulumi.Int(20),
        })
        if err != nil {
            return err
        }
        _, err = linode.NewInstance(ctx, "web", &linode.InstanceArgs{
            BootConfigLabel: pulumi.String("boot_config"),
            Configs: linode.InstanceConfigArray{
                &linode.InstanceConfigArgs{
                    Devices: &linode.InstanceConfigDevicesArgs{
                        Sda: &linode.InstanceConfigDevicesSdaArgs{
                            DiskLabel: pulumi.String("boot"),
                        },
                        Sdb: &linode.InstanceConfigDevicesSdbArgs{
                            VolumeId: webVolume.ID(),
                        },
                    },
                    Kernel:     pulumi.String("linode/latest-64bit"),
                    Label:      pulumi.String("boot_config"),
                    RootDevice: pulumi.String("/dev/sda"),
                },
            },
            Disks: linode.InstanceDiskArray{
                &linode.InstanceDiskArgs{
                    AuthorizedKeys: pulumi.StringArray{
                        pulumi.String("ssh-rsa AAAA...Gw== user@example.local"),
                    },
                    AuthorizedUsers: pulumi.StringArray{
                        pulumi.String(me.Username),
                    },
                    Image:    pulumi.String("linode/ubuntu18.04"),
                    Label:    pulumi.String("boot"),
                    RootPass: pulumi.String("terr4form-test"),
                    Size:     pulumi.Int(3000),
                },
            },
            Group:     pulumi.String("foo"),
            Label:     pulumi.String("complex_instance"),
            PrivateIp: pulumi.Bool(true),
            Region:    pulumi.String("us-central"),
            Tags: pulumi.StringArray{
                pulumi.String("foo"),
            },
            Type: pulumi.String("g6-nanode-1"),
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_linode as linode

me = linode.get_profile()
web_volume = linode.Volume("webVolume",
    label="web_volume",
    region="us-central",
    size=20)
web = linode.Instance("web",
    boot_config_label="boot_config",
    configs=[linode.InstanceConfigArgs(
        devices=linode.InstanceConfigDevicesArgs(
            sda=linode.InstanceConfigDevicesSdaArgs(
                disk_label="boot",
            ),
            sdb=linode.InstanceConfigDevicesSdbArgs(
                volume_id=web_volume.id,
            ),
        ),
        kernel="linode/latest-64bit",
        label="boot_config",
        root_device="/dev/sda",
    )],
    disks=[linode.InstanceDiskArgs(
        authorized_keys=["ssh-rsa AAAA...Gw== user@example.local"],
        authorized_users=[me.username],
        image="linode/ubuntu18.04",
        label="boot",
        root_pass="terr4form-test",
        size=3000,
    )],
    group="foo",
    label="complex_instance",
    private_ip=True,
    region="us-central",
    tags=["foo"],
    type="g6-nanode-1")
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const me = pulumi.output(linode.getProfile({ async: true }));
const webVolume = new linode.Volume("web_volume", {
    label: "web_volume",
    region: "us-central",
    size: 20,
});
const web = new linode.Instance("web", {
    bootConfigLabel: "boot_config",
    configs: [{
        devices: {
            sda: {
                diskLabel: "boot",
            },
            sdb: {
                volumeId: webVolume.id.apply(id => Number.parseFloat(id)),
            },
        },
        kernel: "linode/latest-64bit",
        label: "boot_config",
        rootDevice: "/dev/sda",
    }],
    disks: [{
        // Any of authorized_keys, authorized_users, and root_pass
        // can be used for provisioning.
        authorizedKeys: ["ssh-rsa AAAA...Gw== user@example.local"],
        authorizedUsers: [me.username],
        image: "linode/ubuntu18.04",
        label: "boot",
        rootPass: "terr4form-test",
        size: 3000,
    }],
    group: "foo",
    label: "complex_instance",
    privateIp: true,
    region: "us-central",
    tags: ["foo"],
    type: "g6-nanode-1",
});

Create a Instance Resource

def Instance(resource_name: 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_enabled: Optional[bool] = None, boot_config_label: Optional[str] = None, configs: Optional[Sequence[InstanceConfigArgs]] = None, disks: Optional[Sequence[InstanceDiskArgs]] = None, group: Optional[str] = None, image: Optional[str] = None, label: Optional[str] = None, private_ip: Optional[bool] = None, region: Optional[str] = None, root_pass: Optional[str] = None, stackscript_data: Optional[Mapping[str, Any]] = None, stackscript_id: Optional[int] = None, swap_size: Optional[int] = None, tags: Optional[Sequence[str]] = None, type: Optional[str] = None, watchdog_enabled: Optional[bool] = None)
func NewInstance(ctx *Context, name string, args InstanceArgs, opts ...ResourceOption) (*Instance, error)
public Instance(string name, InstanceArgs args, CustomResourceOptions? opts = null)
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.
opts ResourceOptions
A bag of options that control this 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.

Instance Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model 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 forces the creation of a new Linode Instance..

Alerts InstanceAlertsArgs
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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

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. This value can not be imported. Changing backup_id forces the creation of a new Linode Instance.

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. If there is only one config, the label of that config will be used as the boot_config_label. This value can not be imported.

Configs List<InstanceConfigArgs>

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

Disks List<InstanceDiskArgs>
Group string

The display group of the Linode instance.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

Label string

The Config’s label for display purposes. Also used by boot_config_label.

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.

RootPass string

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

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 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 forces the creation of a new Linode Instance..

Alerts InstanceAlerts
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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

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. This value can not be imported. Changing backup_id forces the creation of a new Linode Instance.

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. If there is only one config, the label of that config will be used as the boot_config_label. This value can not be imported.

Configs []InstanceConfig

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

Disks []InstanceDisk
Group string

The display group of the Linode instance.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

Label string

The Config’s label for display purposes. Also used by boot_config_label.

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.

RootPass string

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

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 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 forces the creation of a new Linode Instance..

alerts InstanceAlerts
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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

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. This value can not be imported. Changing backup_id forces the creation of a new Linode Instance.

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. If there is only one config, the label of that config will be used as the boot_config_label. This value can not be imported.

configs InstanceConfig[]

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

disks InstanceDisk[]
group string

The display group of the Linode instance.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

label string

The Config’s label for display purposes. Also used by boot_config_label.

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.

rootPass string

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

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 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 forces the creation of a new Linode Instance..

alerts InstanceAlertsArgs
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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

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. This value can not be imported. Changing backup_id forces the creation of a new Linode Instance.

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. If there is only one config, the label of that config will be used as the boot_config_label. This value can not be imported.

configs Sequence[InstanceConfigArgs]

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

disks Sequence[InstanceDiskArgs]
group str

The display group of the Linode instance.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

label str

The Config’s label for display purposes. Also used by boot_config_label.

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.

root_pass str

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

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

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.

Id string
The provider-assigned unique ID for this managed resource.
IpAddress string

This Linode’s Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address will be used for this field.

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.

PrivateIpAddress string

This Linode’s Private IPv4 Address. The regional private IP address range is 192.168.128/17 address shared by all Linode Instances in a region.

Specs InstanceSpecs
Status string

The status of the instance, indicating the current readiness state.

Backups InstanceBackups

Information about this Linode’s backups status.

Id string
The provider-assigned unique ID for this managed resource.
IpAddress string

This Linode’s Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address will be used for this field.

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.

PrivateIpAddress string

This Linode’s Private IPv4 Address. The regional private IP address range is 192.168.128/17 address shared by all Linode Instances in a region.

Specs InstanceSpecs
Status string

The status of the instance, indicating the current readiness state.

backups InstanceBackups

Information about this Linode’s backups status.

id string
The provider-assigned unique ID for this managed resource.
ipAddress string

This Linode’s Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address will be used for this field.

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.

privateIpAddress string

This Linode’s Private IPv4 Address. The regional private IP address range is 192.168.128/17 address shared by all Linode Instances in a region.

specs InstanceSpecs
status string

The status of the instance, indicating the current readiness state.

backups InstanceBackups

Information about this Linode’s backups status.

id str
The provider-assigned unique ID for this managed resource.
ip_address str

This Linode’s Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address will be used for this field.

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.

private_ip_address str

This Linode’s Private IPv4 Address. The regional private IP address range is 192.168.128/17 address shared by all Linode Instances in a region.

specs InstanceSpecs
status str

The status of the instance, indicating the current readiness state.

Look up an 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, configs: Optional[Sequence[InstanceConfigArgs]] = None, disks: Optional[Sequence[InstanceDiskArgs]] = None, group: Optional[str] = None, image: Optional[str] = None, ip_address: Optional[str] = None, ipv4s: Optional[Sequence[str]] = None, ipv6: Optional[str] = None, label: Optional[str] = None, private_ip: Optional[bool] = None, private_ip_address: Optional[str] = None, region: Optional[str] = None, root_pass: Optional[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)
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.

The following state arguments are supported:

Alerts InstanceAlertsArgs
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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

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. This value can not be imported. Changing backup_id forces the creation of a new Linode Instance.

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. If there is only one config, the label of that config will be used as the boot_config_label. This value can not be imported.

Configs List<InstanceConfigArgs>

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

Disks List<InstanceDiskArgs>
Group string

The display group of the Linode instance.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

IpAddress string

This Linode’s Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address will be used for this field.

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.

Label string

The Config’s label for display purposes. Also used by boot_config_label.

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. The regional private IP address range is 192.168.128/17 address 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 forces the creation of a new Linode Instance..

RootPass string

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

Specs InstanceSpecsArgs
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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

Status string

The status of the instance, indicating the current readiness state.

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 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
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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

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. This value can not be imported. Changing backup_id forces the creation of a new Linode Instance.

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. If there is only one config, the label of that config will be used as the boot_config_label. This value can not be imported.

Configs []InstanceConfig

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

Disks []InstanceDisk
Group string

The display group of the Linode instance.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

IpAddress string

This Linode’s Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address will be used for this field.

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.

Label string

The Config’s label for display purposes. Also used by boot_config_label.

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. The regional private IP address range is 192.168.128/17 address 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 forces the creation of a new Linode Instance..

RootPass string

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

Specs InstanceSpecs
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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

Status string

The status of the instance, indicating the current readiness state.

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 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
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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

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. This value can not be imported. Changing backup_id forces the creation of a new Linode Instance.

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. If there is only one config, the label of that config will be used as the boot_config_label. This value can not be imported.

configs InstanceConfig[]

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

disks InstanceDisk[]
group string

The display group of the Linode instance.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

ipAddress string

This Linode’s Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address will be used for this field.

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.

label string

The Config’s label for display purposes. Also used by boot_config_label.

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. The regional private IP address range is 192.168.128/17 address 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 forces the creation of a new Linode Instance..

rootPass string

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

specs InstanceSpecs
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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

status string

The status of the instance, indicating the current readiness state.

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 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
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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

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. This value can not be imported. Changing backup_id forces the creation of a new Linode Instance.

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. If there is only one config, the label of that config will be used as the boot_config_label. This value can not be imported.

configs Sequence[InstanceConfigArgs]

Configuration profiles define the VM settings and boot behavior of the Linode Instance.

disks Sequence[InstanceDiskArgs]
group str

The display group of the Linode instance.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

ip_address str

This Linode’s Public IPv4 Address. If there are multiple public IPv4 addresses on this Instance, an arbitrary address will be used for this field.

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.

label str

The Config’s label for display purposes. Also used by boot_config_label.

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. The regional private IP address range is 192.168.128/17 address 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 forces the creation of a new Linode Instance..

root_pass str

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

specs InstanceSpecsArgs
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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

status str

The status of the instance, indicating the current readiness state.

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

Supporting Types

InstanceAlerts

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Cpu int
Io int
NetworkIn int
NetworkOut int
TransferQuota int
Cpu int
Io int
NetworkIn int
NetworkOut int
TransferQuota int
cpu number
io number
networkIn number
networkOut number
transferQuota number
cpu int
io int
network_in int
network_out int
transfer_quota int

InstanceBackups

See the output API doc for this type.

See the output API doc for this type.

See the output API doc for this type.

Enabled bool
Schedule InstanceBackupsScheduleArgs
Enabled bool
Schedule InstanceBackupsSchedule
enabled boolean
schedule InstanceBackupsSchedule
enabled bool
schedule InstanceBackupsScheduleArgs

InstanceBackupsSchedule

See the output API doc for this type.

See the output API doc for this type.

See the output API doc for this type.

Day string
Window string
Day string
Window string
day string
window string
day str
window str

InstanceConfig

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Label string

The Config’s label for display purposes. Also used by boot_config_label.

Comments string
  • Arbitrary user comments about this config.
Devices InstanceConfigDevicesArgs

A list of disk or volume attachments for this config. If the boot_config_label omits a devices block, the Linode will not be booted.

Helpers InstanceConfigHelpersArgs

Helpers enabled when booting to this Linode Config.

Kernel string
  • A Kernel ID to boot a Linode with. Default is based on image choice. Examples are linode/latest-64bit, linode/grub2, linode/direct-disk, etc. See all kernels here. Note that this is a paginated API endpoint (docs).
MemoryLimit int
  • Defaults to the total RAM of the Linode
RootDevice string
  • The root device to boot. The corresponding disk must be attached to a device slot. Example: "/dev/sda"
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 Config’s label for display purposes. Also used by boot_config_label.

Comments string
  • Arbitrary user comments about this config.
Devices InstanceConfigDevices

A list of disk or volume attachments for this config. If the boot_config_label omits a devices block, the Linode will not be booted.

Helpers InstanceConfigHelpers

Helpers enabled when booting to this Linode Config.

Kernel string
  • A Kernel ID to boot a Linode with. Default is based on image choice. Examples are linode/latest-64bit, linode/grub2, linode/direct-disk, etc. See all kernels here. Note that this is a paginated API endpoint (docs).
MemoryLimit int
  • Defaults to the total RAM of the Linode
RootDevice string
  • The root device to boot. The corresponding disk must be attached to a device slot. Example: "/dev/sda"
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 Config’s label for display purposes. Also used by boot_config_label.

comments string
  • Arbitrary user comments about this config.
devices InstanceConfigDevices

A list of disk or volume attachments for this config. If the boot_config_label omits a devices block, the Linode will not be booted.

helpers InstanceConfigHelpers

Helpers enabled when booting to this Linode Config.

kernel string
  • A Kernel ID to boot a Linode with. Default is based on image choice. Examples are linode/latest-64bit, linode/grub2, linode/direct-disk, etc. See all kernels here. Note that this is a paginated API endpoint (docs).
memoryLimit number
  • Defaults to the total RAM of the Linode
rootDevice string
  • The root device to boot. The corresponding disk must be attached to a device slot. Example: "/dev/sda"
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 Config’s label for display purposes. Also used by boot_config_label.

comments str
  • Arbitrary user comments about this config.
devices InstanceConfigDevicesArgs

A list of disk or volume attachments for this config. If the boot_config_label omits a devices block, the Linode will not be booted.

helpers InstanceConfigHelpersArgs

Helpers enabled when booting to this Linode Config.

kernel str
  • A Kernel ID to boot a Linode with. Default is based on image choice. Examples are linode/latest-64bit, linode/grub2, linode/direct-disk, etc. See all kernels here. Note that this is a paginated API endpoint (docs).
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 to a device slot. Example: "/dev/sda"
run_level str
  • Defines the state of your Linode after booting. Defaults to "default".
virt_mode str
  • Controls the virtualization mode. Defaults to "paravirt".

InstanceConfigDevices

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Sda InstanceConfigDevicesSdaArgs

sdh - (Optional) The SDA-SDH slots, represent the Linux block device nodes for the first 8 disks attached to the Linode. Each device must be suplied sequentially. The device can be either a Disk or a Volume identified by disk_label or volume_id. Only one disk identifier is permitted per slot. Devices mapped from sde through sdh are unavailable in "fullvirt" virt_mode.

Sdb InstanceConfigDevicesSdbArgs
Sdc InstanceConfigDevicesSdcArgs
Sdd InstanceConfigDevicesSddArgs
Sde InstanceConfigDevicesSdeArgs
Sdf InstanceConfigDevicesSdfArgs
Sdg InstanceConfigDevicesSdgArgs
Sdh InstanceConfigDevicesSdhArgs
Sda InstanceConfigDevicesSda

sdh - (Optional) The SDA-SDH slots, represent the Linux block device nodes for the first 8 disks attached to the Linode. Each device must be suplied sequentially. The device can be either a Disk or a Volume identified by disk_label or volume_id. Only one disk identifier is permitted per slot. Devices mapped from sde through sdh are unavailable in "fullvirt" virt_mode.

Sdb InstanceConfigDevicesSdb
Sdc InstanceConfigDevicesSdc
Sdd InstanceConfigDevicesSdd
Sde InstanceConfigDevicesSde
Sdf InstanceConfigDevicesSdf
Sdg InstanceConfigDevicesSdg
Sdh InstanceConfigDevicesSdh
sda InstanceConfigDevicesSda

sdh - (Optional) The SDA-SDH slots, represent the Linux block device nodes for the first 8 disks attached to the Linode. Each device must be suplied sequentially. The device can be either a Disk or a Volume identified by disk_label or volume_id. Only one disk identifier is permitted per slot. Devices mapped from sde through sdh are unavailable in "fullvirt" virt_mode.

sdb InstanceConfigDevicesSdb
sdc InstanceConfigDevicesSdc
sdd InstanceConfigDevicesSdd
sde InstanceConfigDevicesSde
sdf InstanceConfigDevicesSdf
sdg InstanceConfigDevicesSdg
sdh InstanceConfigDevicesSdh
sda InstanceConfigDevicesSdaArgs

sdh - (Optional) The SDA-SDH slots, represent the Linux block device nodes for the first 8 disks attached to the Linode. Each device must be suplied sequentially. The device can be either a Disk or a Volume identified by disk_label or volume_id. Only one disk identifier is permitted per slot. Devices mapped from sde through sdh are unavailable in "fullvirt" virt_mode.

sdb InstanceConfigDevicesSdbArgs
sdc InstanceConfigDevicesSdcArgs
sdd InstanceConfigDevicesSddArgs
sde InstanceConfigDevicesSdeArgs
sdf InstanceConfigDevicesSdfArgs
sdg InstanceConfigDevicesSdgArgs
sdh InstanceConfigDevicesSdhArgs

InstanceConfigDevicesSda

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

diskId number

The Disk ID of the associated disk_label, if used.

diskLabel string

The label of the disk to map to this device slot.

volumeId number

The Volume ID to map to this device slot.

disk_id int

The Disk ID of the associated disk_label, if used.

disk_label str

The label of the disk to map to this device slot.

volume_id int

The Volume ID to map to this device slot.

InstanceConfigDevicesSdb

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

diskId number

The Disk ID of the associated disk_label, if used.

diskLabel string

The label of the disk to map to this device slot.

volumeId number

The Volume ID to map to this device slot.

disk_id int

The Disk ID of the associated disk_label, if used.

disk_label str

The label of the disk to map to this device slot.

volume_id int

The Volume ID to map to this device slot.

InstanceConfigDevicesSdc

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

diskId number

The Disk ID of the associated disk_label, if used.

diskLabel string

The label of the disk to map to this device slot.

volumeId number

The Volume ID to map to this device slot.

disk_id int

The Disk ID of the associated disk_label, if used.

disk_label str

The label of the disk to map to this device slot.

volume_id int

The Volume ID to map to this device slot.

InstanceConfigDevicesSdd

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

diskId number

The Disk ID of the associated disk_label, if used.

diskLabel string

The label of the disk to map to this device slot.

volumeId number

The Volume ID to map to this device slot.

disk_id int

The Disk ID of the associated disk_label, if used.

disk_label str

The label of the disk to map to this device slot.

volume_id int

The Volume ID to map to this device slot.

InstanceConfigDevicesSde

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

diskId number

The Disk ID of the associated disk_label, if used.

diskLabel string

The label of the disk to map to this device slot.

volumeId number

The Volume ID to map to this device slot.

disk_id int

The Disk ID of the associated disk_label, if used.

disk_label str

The label of the disk to map to this device slot.

volume_id int

The Volume ID to map to this device slot.

InstanceConfigDevicesSdf

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

diskId number

The Disk ID of the associated disk_label, if used.

diskLabel string

The label of the disk to map to this device slot.

volumeId number

The Volume ID to map to this device slot.

disk_id int

The Disk ID of the associated disk_label, if used.

disk_label str

The label of the disk to map to this device slot.

volume_id int

The Volume ID to map to this device slot.

InstanceConfigDevicesSdg

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

diskId number

The Disk ID of the associated disk_label, if used.

diskLabel string

The label of the disk to map to this device slot.

volumeId number

The Volume ID to map to this device slot.

disk_id int

The Disk ID of the associated disk_label, if used.

disk_label str

The label of the disk to map to this device slot.

volume_id int

The Volume ID to map to this device slot.

InstanceConfigDevicesSdh

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

DiskId int

The Disk ID of the associated disk_label, if used.

DiskLabel string

The label of the disk to map to this device slot.

VolumeId int

The Volume ID to map to this device slot.

diskId number

The Disk ID of the associated disk_label, if used.

diskLabel string

The label of the disk to map to this device slot.

volumeId number

The Volume ID to map to this device slot.

disk_id int

The Disk ID of the associated disk_label, if used.

disk_label str

The label of the disk to map to this device slot.

volume_id int

The Volume ID to map to this device slot.

InstanceConfigHelpers

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

DevtmpfsAutomount bool
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
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
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
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.

InstanceDisk

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Label string

The Config’s label for display purposes. Also used by boot_config_label.

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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

Filesystem string

The Disk filesystem can be one of: "raw", "swap", "ext3", "ext4", or "initrd" which has a max size of 32mb and can be used in the config initrd (not currently supported in this provider).

Id int

The ID of the disk in the Linode API.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

ReadOnly bool
RootPass string

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

Label string

The Config’s label for display purposes. Also used by boot_config_label.

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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

Filesystem string

The Disk filesystem can be one of: "raw", "swap", "ext3", "ext4", or "initrd" which has a max size of 32mb and can be used in the config initrd (not currently supported in this provider).

Id int

The ID of the disk in the Linode API.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

ReadOnly bool
RootPass string

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

label string

The Config’s label for display purposes. Also used by boot_config_label.

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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

filesystem string

The Disk filesystem can be one of: "raw", "swap", "ext3", "ext4", or "initrd" which has a max size of 32mb and can be used in the config initrd (not currently supported in this provider).

id number

The ID of the disk in the Linode API.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

readOnly boolean
rootPass string

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

label str

The Config’s label for display purposes. Also used by boot_config_label.

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. This value can not be imported. Changing authorized_keys forces the creation of a new Linode Instance.

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. This value can not be imported. Changing authorized_users forces the creation of a new Linode Instance.

filesystem str

The Disk filesystem can be one of: "raw", "swap", "ext3", "ext4", or "initrd" which has a max size of 32mb and can be used in the config initrd (not currently supported in this provider).

id int

The ID of the disk in the Linode API.

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. Examples are linode/debian9, linode/fedora28, linode/ubuntu16.04lts, linode/arch, and private/12345. See all images here. Changing image forces the creation of a new Linode Instance.

read_only bool
root_pass str

The initial password for the root user account. This value can not be imported. Changing root_pass forces the creation of a new Linode Instance. If omitted, a random password will be generated but will not be stored in state.

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. This value can not be imported. Changing stackscript_data forces the creation of a new Linode Instance.

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. This value can not be imported. Changing stackscript_id forces the creation of a new Linode Instance.

InstanceSpecs

See the output API doc for this type.

See the output API doc for this type.

See the output API doc for this type.

Disk int
Memory int
Transfer int
Vcpus int
Disk int
Memory int
Transfer int
Vcpus int
disk number
memory number
transfer number
vcpus number
disk int
memory int
transfer int
vcpus int

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. The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for Instances and other Linode resource types.

Package Details

Repository
https://github.com/pulumi/pulumi-linode
License
Apache-2.0
Notes
This Pulumi package is based on the linode Terraform Provider.