Add a Linode interface

Creates an interface for the Linode. This interface links to the Linode, rather than to a configuration profile. You can create, delete, or update interfaces when the Linode is either powered off or in the process of being created.

Firewalls are applied to the Linode's VPC or public interface, rather than directly on the Linode. You can add, delete, or update these firewalls at any time. Firewalls are not applied to VLAN interfaces.

A successful request triggers an interface_create event.

You need to set one interface type: vpc, public, or vlan. Omit the others or set them to null.

A Linode can have up to three interfaces:

  • Only one public interface is allowed on a Linode.

  • Multiple vlan interfaces are allowed, provided that they belong to distinct VLANs, which have unique vlan_labels.

  • One vpc interface is allowed.

The Linode must be located in a region that supports Linode interfaces. Run Get a region to see if interfaces are supported in that region.

Permissions and scopes

To call this operation, you need permissions, based on the model you're using:

  • Identity and access permissions. Your user needs a role with these permissions. Learn more.

    • Permissions: update_linode
  • OAuth scopes. Your user needs these scopes assigned. Learn more.

    • Scopes: linodes:read_write

CLI

Public interface

linode-cli linodes interface-add $linodeId \
  --firewall_id 123 \
  --default_route.ipv4 true \
  --default_route.ipv6 true \
  --public.ipv4.addresses '[{"address": "192.0.2.141", "primary": true}, {"address": "auto", "primary": false}]' \
  --public.ipv6.ranges '[{"range": "2001:0db8::1/64"}, {"range": "/64"}]'

VLAN interface

linode-cli linodes interface-add $linodeId \
  --vlan.vlan_label my-vlan \
  --vlan.ipam_address 192.168.2.2/24

VPC interface

linode-cli linodes interface-add $linodeId \
  --firewall_id 123 \
  --default_route.ipv4 true \
  --vpc.subnet_id 321 \
  --vpc.ipv4.addresses '[{"address": "10.0.0.1", "primary": true, "nat_1_1_address": "auto"}, {"address": "auto", "primary": false, "nat_1_1_address": null}]' \
  --vpc.ipv4.ranges '[{"range": "/28"}, {"range": "10.11.12.0/24"}]'

Learn more

Path Params
string
enum
required

Enum Call either the v4 URL, or v4beta for operations still in Beta.

Allowed:
integer
required

The id of the Linode.

Body Params

Create an interface for an existing Linode.

Responses

Language
Credentials
Response
Choose an example:
application/json