Linode Instances

Configuration Profiles List

get
https://api.linode.com/v4/linode/instances/{linodeId}/configs

Lists Configuration profiles associated with a Linode.

Path Parameters

linodeId
Required
integer

ID of the Linode to look up Configuration profiles for.

Query Parameters

page
integer > = 1
Default: 1

The page of a collection to return.

page_size
integer [25 .. 500]
Default: 100

The number of items to return per page.

Request Samples

curl -H "Authorization: Bearer $TOKEN" \
    https://api.linode.com/v4/linode/instances/123/configs

Response Samples

{
  "data": [
    {
      "id": "",
      "label": "My Config",
      "kernel": "linode/latest-64bit",
      "comments": "This is my main Config",
      "memory_limit": 2048,
      "run_level": "default",
      "virt_mode": "paravirt",
      "interfaces": [],
      "helpers": {
        "updatedb_disabled": true,
        "distro": true,
        "modules_dep": true,
        "network": true,
        "devtmpfs_automount": ""
      },
      "devices": {
        "sda": "",
        "sdb": "",
        "sdc": "",
        "sdd": "",
        "sde": "",
        "sdf": "",
        "sdg": "",
        "sdh": ""
      },
      "root_device": "/dev/sda"
    }
  ],
  "page": 1,
  "pages": 1,
  "results": 1
}

Responses

200: Returns an array of Configuration profiles associated with this Linode.

data
array of objects
id
integer

The ID of this Config.

label
Filterable
string

The Config's label is for display purposes only.

kernel
string

A Kernel ID to boot a Linode with. Here are examples of commonly-used kernels:

  • linode/latest-64bit (default): Our latest kernel at the time of instance boot/reboot.
  • linode/grub2: The upstream distribution-supplied kernel that is installed on the primary disk, or a custom kernel if installed.
  • linode/direct-disk: The MBR (Master Boot Record) of the primary disk/root device, used instead of a Linux kernel.

For a complete list of options, use the Kernels List command.

comments
Nullable
string

Optional field for arbitrary User comments on this Config.

memory_limit
integer

Defaults to the total RAM of the Linode.

run_level
string
Enum: "default""single""binbash"

Defines the state of your Linode after booting. Defaults to default.

virt_mode
string
Enum: "paravirt""fullvirt"

Controls the virtualization mode. Defaults to paravirt.

  • paravirt is suitable for most cases. Linodes running in paravirt mode share some qualities with the host, ultimately making it run faster since there is less transition between it and the host.
  • fullvirt affords more customization, but is slower because 100% of the VM is virtualized.
interfaces
array

An array of Network Interfaces to add to this Linode's Configuration Profile.

Up to three interface objects can be entered in this array. The position in the array determines the interface to which the settings apply:

  • First 0: eth0
  • Second 1: eth1
  • Third 2: eth2

When updating a Linode's interfaces, each interface must be redefined. An empty interfaces array results in a default public interface configuration only.

If no public interface is configured, public IP addresses are still assigned to the Linode but will not be usable without manual configuration.

Note: Changes to Linode interface configurations can be enabled by rebooting the Linode.

Note: Only Next Generation Network (NGN) data centers support VLANs. Use the Regions (/regions) endpoint to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated because of an incompatibility, you will be prompted to select a different data center or contact support.

Note: See the VLANs Overview guide to view additional specifications and limitations.

helpers
object

Helpers enabled when booting to this Linode Config.

updatedb_disabled
boolean

Disables updatedb cron job to avoid disk thrashing.

distro
boolean

Helps maintain correct inittab/upstart console device.

modules_dep
boolean

Creates a modules dependency file for the Kernel you run.

network
boolean

Automatically configures static networking.

devtmpfs_automount
boolean

Populates the /dev directory early during boot without udev. Defaults to false.

devices
object

A dictionary of device disks to use as a device map in a Linode's configuration profile.

  • An empty device disk dictionary or a dictionary with empty values for device slots is allowed.
  • If no devices are specified, booting from this configuration will hold until a device exists that allows the boot process to start.
sda
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdb
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdc
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdd
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sde
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdf
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdg
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdh
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

root_device
stringa-z, A-Z, 0-9, /, _, -

The root device to boot.

  • If no value or an invalid value is provided, root device will default to /dev/sda.
  • If the device specified at the root device location is not mounted, the Linode will not boot until a device is mounted.
page
integer

The current page.

pages
integer

The total number of pages.

results
integer

The total number of results.

Configuration Profile Create

post
https://api.linode.com/v4/linode/instances/{linodeId}/configs

Adds a new Configuration profile to a Linode.

Path Parameters

linodeId
Required
integer

ID of the Linode to look up Configuration profiles for.

Request Body Schema

devices
Required
object

A dictionary of device disks to use as a device map in a Linode's configuration profile.

  • An empty device disk dictionary or a dictionary with empty values for device slots is allowed.
  • If no devices are specified, booting from this configuration will hold until a device exists that allows the boot process to start.
sda
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdb
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdc
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdd
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sde
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdf
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdg
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdh
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

label
Required
Filterable
string [1 .. 48] characters

The Config's label is for display purposes only.

comments
string

Optional field for arbitrary User comments on this Config.

helpers
object

Helpers enabled when booting to this Linode Config.

updatedb_disabled
boolean

Disables updatedb cron job to avoid disk thrashing.

distro
boolean

Helps maintain correct inittab/upstart console device.

modules_dep
boolean

Creates a modules dependency file for the Kernel you run.

network
boolean

Automatically configures static networking.

devtmpfs_automount
boolean

Populates the /dev directory early during boot without udev. Defaults to false.

interfaces
array

An array of Network Interfaces to add to this Linode's Configuration Profile.

Up to three interface objects can be entered in this array. The position in the array determines the interface to which the settings apply:

  • First 0: eth0
  • Second 1: eth1
  • Third 2: eth2

When updating a Linode's interfaces, each interface must be redefined. An empty interfaces array results in a default public interface configuration only.

If no public interface is configured, public IP addresses are still assigned to the Linode but will not be usable without manual configuration.

Note: Changes to Linode interface configurations can be enabled by rebooting the Linode.

Note: Only Next Generation Network (NGN) data centers support VLANs. Use the Regions (/regions) endpoint to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated because of an incompatibility, you will be prompted to select a different data center or contact support.

Note: See the VLANs Overview guide to view additional specifications and limitations.

kernel
string

A Kernel ID to boot a Linode with. Here are examples of commonly-used kernels:

  • linode/latest-64bit (default): Our latest kernel at the time of instance boot/reboot.
  • linode/grub2: The upstream distribution-supplied kernel that is installed on the primary disk, or a custom kernel if installed.
  • linode/direct-disk: The MBR (Master Boot Record) of the primary disk/root device, used instead of a Linux kernel.

For a complete list of options, use the Kernels List command.

memory_limit
integer

Defaults to the total RAM of the Linode.

root_device
string a-z, A-Z, 0-9, /, _, -

The root device to boot.

  • If no value or an invalid value is provided, root device will default to /dev/sda.
  • If the device specified at the root device location is not mounted, the Linode will not boot until a device is mounted.
run_level
string

Defines the state of your Linode after booting. Defaults to default.

virt_mode
string

Controls the virtualization mode. Defaults to paravirt.

  • paravirt is suitable for most cases. Linodes running in paravirt mode share some qualities with the host, ultimately making it run faster since there is less transition between it and the host.
  • fullvirt affords more customization, but is slower because 100% of the VM is virtualized.

Request Samples

curl -H "Content-Type: application/json" \
    -H "Authorization: Bearer $TOKEN" \
    -X POST -d '{
      "kernel": "linode/latest-64bit",
      "comments": "This is my main Config",
      "memory_limit": 2048,
      "run_level": "default",
      "virt_mode": "paravirt",
      "interfaces": [
        {
          "purpose": "public",
          "label": "",
          "ipam_address": ""
        },
        {
          "purpose": "vlan",
          "label": "vlan-1",
          "ipam_address": "10.0.0.1/24"
        }
      ],
      "helpers": {
        "updatedb_disabled": true,
        "distro": true,
        "modules_dep": true,
        "network": true,
        "devtmpfs_automount": false
      },
      "label": "My Config",
      "devices": {
        "sda": {
          "disk_id": 123456,
          "volume_id": null
        },
        "sdb": {
          "disk_id": 123457,
          "volume_id": null
        }
      }
    }' \
    https://api.linode.com/v4/linode/instances/123/configs

Response Samples

{
  "id": 1234,
  "label": "My Config",
  "kernel": "linode/latest-64bit",
  "comments": "This is my main Config",
  "memory_limit": 2048,
  "run_level": "default",
  "virt_mode": "paravirt",
  "interfaces": [
    {
      "label": "example-interface",
      "ipam_address": "10.0.0.1/24",
      "purpose": "vlan"
    }
  ],
  "helpers": {
    "updatedb_disabled": true,
    "distro": true,
    "modules_dep": true,
    "network": true,
    "devtmpfs_automount": false
  },
  "devices": {
    "sda": {
      "disk_id": 124458,
      "volume_id": ""
    },
    "sdb": {
      "disk_id": 124458,
      "volume_id": ""
    },
    "sdc": {
      "disk_id": 124458,
      "volume_id": ""
    },
    "sdd": {
      "disk_id": 124458,
      "volume_id": ""
    },
    "sde": {
      "disk_id": 124458,
      "volume_id": ""
    },
    "sdf": {
      "disk_id": 124458,
      "volume_id": ""
    },
    "sdg": {
      "disk_id": 124458,
      "volume_id": ""
    },
    "sdh": {
      "disk_id": 124458,
      "volume_id": ""
    }
  },
  "root_device": "/dev/sda"
}

Responses

200: A Configuration profile was created.

id
integer

The ID of this Config.

label
Filterable
string [1 .. 48] characters

The Config's label is for display purposes only.

kernel
string

A Kernel ID to boot a Linode with. Here are examples of commonly-used kernels:

  • linode/latest-64bit (default): Our latest kernel at the time of instance boot/reboot.
  • linode/grub2: The upstream distribution-supplied kernel that is installed on the primary disk, or a custom kernel if installed.
  • linode/direct-disk: The MBR (Master Boot Record) of the primary disk/root device, used instead of a Linux kernel.

For a complete list of options, use the Kernels List command.

comments
Nullable
string

Optional field for arbitrary User comments on this Config.

memory_limit
integer

Defaults to the total RAM of the Linode.

run_level
string
Enum: "default""single""binbash"

Defines the state of your Linode after booting. Defaults to default.

virt_mode
string
Enum: "paravirt""fullvirt"

Controls the virtualization mode. Defaults to paravirt.

  • paravirt is suitable for most cases. Linodes running in paravirt mode share some qualities with the host, ultimately making it run faster since there is less transition between it and the host.
  • fullvirt affords more customization, but is slower because 100% of the VM is virtualized.
interfaces
array of objects

An array of Network Interfaces to add to this Linode's Configuration Profile.

Up to three interface objects can be entered in this array. The position in the array determines the interface to which the settings apply:

  • First 0: eth0
  • Second 1: eth1
  • Third 2: eth2

When updating a Linode's interfaces, each interface must be redefined. An empty interfaces array results in a default public interface configuration only.

If no public interface is configured, public IP addresses are still assigned to the Linode but will not be usable without manual configuration.

Note: Changes to Linode interface configurations can be enabled by rebooting the Linode.

Note: Only Next Generation Network (NGN) data centers support VLANs. Use the Regions (/regions) endpoint to view the capabilities of data center regions. If a VLAN is attached to your Linode and you attempt to migrate or clone it to a non-NGN data center, the migration or cloning will not initiate. If a Linode cannot be migrated because of an incompatibility, you will be prompted to select a different data center or contact support.

Note: See the VLANs Overview guide to view additional specifications and limitations.

label
Filterable
Nullable
string/[a-z0-9-]+/

The name of this interface.

For vlan purpose interfaces:

  • Required.
  • Must be unique among the Linode's interfaces (a Linode cannot be attached to the same VLAN multiple times).
  • May only consist of ASCII letters, numbers, and dashes (-).

For public purpose interfaces:

  • In requests, must be an empty string ("") or null if included.
  • In responses, always returns null.

If the VLAN label is new, a VLAN is created. Up to 10 VLANs can be created in each data center region. To view your active VLANs, use the VLANs List endpoint.

ipam_address
Nullable
string

This Network Interface's private IP address in Classless Inter-Domain Routing (CIDR) notation.

For vlan purpose interfaces:

  • Must be unique among the Linode's interfaces to avoid conflicting addresses.
  • Should be unique among devices attached to the VLAN to avoid conflict.

For public purpose interfaces:

  • In requests, must be an empty string ("") or null if included.
  • In responses, always returns null.

The Linode is configured to use this address for the associated interface upon reboot if Network Helper is enabled. If Network Helper is disabled, the address can be enabled with manual static IP configuration.

purpose
string
Enum: "public""vlan"

The type of interface.

  • public

    • Only one public interface per Linode can be defined.
    • The Linode's default public IPv4 address is assigned to the public interface.
    • A Linode must have a public interface in the first/eth0 position to be reachable via the public internet upon boot without additional system configuration. If no public interface is configured, the Linode is not directly reachable via the public internet. In this case, access can only be established via LISH or other Linodes connected to the same VLAN.
  • vlan

    • Configuring a vlan purpose interface attaches this Linode to the VLAN with the specified label.
    • The Linode is configured to use the specified ipam_address, if any.
helpers
object

Helpers enabled when booting to this Linode Config.

updatedb_disabled
boolean

Disables updatedb cron job to avoid disk thrashing.

distro
boolean

Helps maintain correct inittab/upstart console device.

modules_dep
boolean

Creates a modules dependency file for the Kernel you run.

network
boolean

Automatically configures static networking.

devtmpfs_automount
boolean

Populates the /dev directory early during boot without udev. Defaults to false.

devices
object

A dictionary of device disks to use as a device map in a Linode's configuration profile.

  • An empty device disk dictionary or a dictionary with empty values for device slots is allowed.
  • If no devices are specified, booting from this configuration will hold until a device exists that allows the boot process to start.
sda
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdb
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdc
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdd
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sde
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdf
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdg
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

sdh
object

Device can be either a Disk or Volume identified by disk_id or volume_id. Only one type per slot allowed. Can be null. Devices mapped from sde through sdh are unavailable in fullvirt virt_mode.

disk_id
integer

The Disk ID, or null if a Volume is assigned to this slot.

volume_id
integer

The Volume ID, or null if a Disk is assigned to this slot.

root_device
string a-z, A-Z, 0-9, /, _, -

The root device to boot.

  • If no value or an invalid value is provided, root device will default to /dev/sda.
  • If the device specified at the root device location is not mounted, the Linode will not boot until a device is mounted.

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.