Provides a Linode Interface resource that can be used to create, modify, and delete network interfaces for Linode instances. Interfaces allow you to configure public, VLAN, and VPC networking for your Linode instances.
This resource is specifically for Linode interfaces. If you are interested in deploying a Linode instance with a legacy config interface, please refer to the linode.InstanceConfig resource documentation for details.
This resource is designed to work with explicitly defined disk and config resources for the Linode instance. See the Complete Example with Linode section below for details.
For more information, see the Linode APIv4 docs.
Example Usage
Public Interface Example
The following example shows how to create a public interface with specific IPv4 and IPv6 configurations.
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";
const _public = new linode.Interface("public", {
linodeId: my_instance.id,
"public": {
ipv4: {
addresses: [{
address: "auto",
primary: true,
}],
},
ipv6: {
ranges: [{
range: "/64",
}],
},
},
});
import pulumi
import pulumi_linode as linode
public = linode.Interface("public",
linode_id=my_instance["id"],
public={
"ipv4": {
"addresses": [{
"address": "auto",
"primary": True,
}],
},
"ipv6": {
"ranges": [{
"range": "/64",
}],
},
})
package main
import (
"github.com/pulumi/pulumi-linode/sdk/v5/go/linode"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := linode.NewInterface(ctx, "public", &linode.InterfaceArgs{
LinodeId: pulumi.Any(my_instance.Id),
Public: &linode.InterfacePublicArgs{
Ipv4: &linode.InterfacePublicIpv4Args{
Addresses: linode.InterfacePublicIpv4AddressArray{
&linode.InterfacePublicIpv4AddressArgs{
Address: pulumi.String("auto"),
Primary: pulumi.Bool(true),
},
},
},
Ipv6: &linode.InterfacePublicIpv6Args{
Ranges: linode.InterfacePublicIpv6RangeArray{
&linode.InterfacePublicIpv6RangeArgs{
Range: pulumi.String("/64"),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Linode = Pulumi.Linode;
return await Deployment.RunAsync(() =>
{
var @public = new Linode.Interface("public", new()
{
LinodeId = my_instance.Id,
Public = new Linode.Inputs.InterfacePublicArgs
{
Ipv4 = new Linode.Inputs.InterfacePublicIpv4Args
{
Addresses = new[]
{
new Linode.Inputs.InterfacePublicIpv4AddressArgs
{
Address = "auto",
Primary = true,
},
},
},
Ipv6 = new Linode.Inputs.InterfacePublicIpv6Args
{
Ranges = new[]
{
new Linode.Inputs.InterfacePublicIpv6RangeArgs
{
Range = "/64",
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.linode.Interface;
import com.pulumi.linode.InterfaceArgs;
import com.pulumi.linode.inputs.InterfacePublicArgs;
import com.pulumi.linode.inputs.InterfacePublicIpv4Args;
import com.pulumi.linode.inputs.InterfacePublicIpv6Args;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var public_ = new Interface("public", InterfaceArgs.builder()
.linodeId(my_instance.id())
.public_(InterfacePublicArgs.builder()
.ipv4(InterfacePublicIpv4Args.builder()
.addresses(InterfacePublicIpv4AddressArgs.builder()
.address("auto")
.primary(true)
.build())
.build())
.ipv6(InterfacePublicIpv6Args.builder()
.ranges(InterfacePublicIpv6RangeArgs.builder()
.range("/64")
.build())
.build())
.build())
.build());
}
}
resources:
public:
type: linode:Interface
properties:
linodeId: ${["my-instance"].id}
public:
ipv4:
addresses:
- address: auto
primary: true
ipv6:
ranges:
- range: /64
IPv6-Only Public Interface Example
The following example shows how to create an IPv6-only public interface. Note that you must explicitly set addresses = [] to prevent the automatic creation of an IPv4 address.
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";
const ipv6Only = new linode.Interface("ipv6_only", {
linodeId: my_instance.id,
"public": {
ipv4: {
addresses: [],
},
ipv6: {
ranges: [{
range: "/64",
}],
},
},
});
import pulumi
import pulumi_linode as linode
ipv6_only = linode.Interface("ipv6_only",
linode_id=my_instance["id"],
public={
"ipv4": {
"addresses": [],
},
"ipv6": {
"ranges": [{
"range": "/64",
}],
},
})
package main
import (
"github.com/pulumi/pulumi-linode/sdk/v5/go/linode"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := linode.NewInterface(ctx, "ipv6_only", &linode.InterfaceArgs{
LinodeId: pulumi.Any(my_instance.Id),
Public: &linode.InterfacePublicArgs{
Ipv4: &linode.InterfacePublicIpv4Args{
Addresses: linode.InterfacePublicIpv4AddressArray{},
},
Ipv6: &linode.InterfacePublicIpv6Args{
Ranges: linode.InterfacePublicIpv6RangeArray{
&linode.InterfacePublicIpv6RangeArgs{
Range: pulumi.String("/64"),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Linode = Pulumi.Linode;
return await Deployment.RunAsync(() =>
{
var ipv6Only = new Linode.Interface("ipv6_only", new()
{
LinodeId = my_instance.Id,
Public = new Linode.Inputs.InterfacePublicArgs
{
Ipv4 = new Linode.Inputs.InterfacePublicIpv4Args
{
Addresses = new() { },
},
Ipv6 = new Linode.Inputs.InterfacePublicIpv6Args
{
Ranges = new[]
{
new Linode.Inputs.InterfacePublicIpv6RangeArgs
{
Range = "/64",
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.linode.Interface;
import com.pulumi.linode.InterfaceArgs;
import com.pulumi.linode.inputs.InterfacePublicArgs;
import com.pulumi.linode.inputs.InterfacePublicIpv4Args;
import com.pulumi.linode.inputs.InterfacePublicIpv6Args;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var ipv6Only = new Interface("ipv6Only", InterfaceArgs.builder()
.linodeId(my_instance.id())
.public_(InterfacePublicArgs.builder()
.ipv4(InterfacePublicIpv4Args.builder()
.addresses()
.build())
.ipv6(InterfacePublicIpv6Args.builder()
.ranges(InterfacePublicIpv6RangeArgs.builder()
.range("/64")
.build())
.build())
.build())
.build());
}
}
resources:
ipv6Only:
type: linode:Interface
name: ipv6_only
properties:
linodeId: ${["my-instance"].id}
public:
ipv4:
addresses: []
ipv6:
ranges:
- range: /64
VPC Interface Example
The following example shows how to create a VPC interface with custom IPv4 configuration and 1:1 NAT.
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";
const vpc = new linode.Interface("vpc", {
linodeId: my_instance.id,
vpc: {
subnetId: 240213,
ipv4: {
addresses: [{
address: "auto",
}],
ranges: [{
range: "/32",
}],
},
},
});
import pulumi
import pulumi_linode as linode
vpc = linode.Interface("vpc",
linode_id=my_instance["id"],
vpc={
"subnet_id": 240213,
"ipv4": {
"addresses": [{
"address": "auto",
}],
"ranges": [{
"range": "/32",
}],
},
})
package main
import (
"github.com/pulumi/pulumi-linode/sdk/v5/go/linode"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := linode.NewInterface(ctx, "vpc", &linode.InterfaceArgs{
LinodeId: pulumi.Any(my_instance.Id),
Vpc: &linode.InterfaceVpcArgs{
SubnetId: pulumi.Int(240213),
Ipv4: &linode.InterfaceVpcIpv4Args{
Addresses: linode.InterfaceVpcIpv4AddressArray{
&linode.InterfaceVpcIpv4AddressArgs{
Address: pulumi.String("auto"),
},
},
Ranges: linode.InterfaceVpcIpv4RangeArray{
&linode.InterfaceVpcIpv4RangeArgs{
Range: pulumi.String("/32"),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Linode = Pulumi.Linode;
return await Deployment.RunAsync(() =>
{
var vpc = new Linode.Interface("vpc", new()
{
LinodeId = my_instance.Id,
Vpc = new Linode.Inputs.InterfaceVpcArgs
{
SubnetId = 240213,
Ipv4 = new Linode.Inputs.InterfaceVpcIpv4Args
{
Addresses = new[]
{
new Linode.Inputs.InterfaceVpcIpv4AddressArgs
{
Address = "auto",
},
},
Ranges = new[]
{
new Linode.Inputs.InterfaceVpcIpv4RangeArgs
{
Range = "/32",
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.linode.Interface;
import com.pulumi.linode.InterfaceArgs;
import com.pulumi.linode.inputs.InterfaceVpcArgs;
import com.pulumi.linode.inputs.InterfaceVpcIpv4Args;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var vpc = new Interface("vpc", InterfaceArgs.builder()
.linodeId(my_instance.id())
.vpc(InterfaceVpcArgs.builder()
.subnetId(240213)
.ipv4(InterfaceVpcIpv4Args.builder()
.addresses(InterfaceVpcIpv4AddressArgs.builder()
.address("auto")
.build())
.ranges(InterfaceVpcIpv4RangeArgs.builder()
.range("/32")
.build())
.build())
.build())
.build());
}
}
resources:
vpc:
type: linode:Interface
properties:
linodeId: ${["my-instance"].id}
vpc:
subnetId: 240213
ipv4:
addresses:
- address: auto
ranges:
- range: /32
VPC (IPv6) Interface Example
The following example shows how to create a public VPC interface with a custom IPv6 configuration.
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";
const vpc = new linode.Interface("vpc", {
linodeId: my_instance.id,
vpc: {
subnetId: 12345,
ipv6: {
isPublic: true,
slaacs: [{
range: "auto",
}],
ranges: [{
range: "auto",
}],
},
},
});
import pulumi
import pulumi_linode as linode
vpc = linode.Interface("vpc",
linode_id=my_instance["id"],
vpc={
"subnet_id": 12345,
"ipv6": {
"is_public": True,
"slaacs": [{
"range": "auto",
}],
"ranges": [{
"range": "auto",
}],
},
})
package main
import (
"github.com/pulumi/pulumi-linode/sdk/v5/go/linode"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := linode.NewInterface(ctx, "vpc", &linode.InterfaceArgs{
LinodeId: pulumi.Any(my_instance.Id),
Vpc: &linode.InterfaceVpcArgs{
SubnetId: pulumi.Int(12345),
Ipv6: &linode.InterfaceVpcIpv6Args{
IsPublic: pulumi.Bool(true),
Slaacs: linode.InterfaceVpcIpv6SlaacArray{
&linode.InterfaceVpcIpv6SlaacArgs{
Range: pulumi.String("auto"),
},
},
Ranges: linode.InterfaceVpcIpv6RangeArray{
&linode.InterfaceVpcIpv6RangeArgs{
Range: pulumi.String("auto"),
},
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Linode = Pulumi.Linode;
return await Deployment.RunAsync(() =>
{
var vpc = new Linode.Interface("vpc", new()
{
LinodeId = my_instance.Id,
Vpc = new Linode.Inputs.InterfaceVpcArgs
{
SubnetId = 12345,
Ipv6 = new Linode.Inputs.InterfaceVpcIpv6Args
{
IsPublic = true,
Slaacs = new[]
{
new Linode.Inputs.InterfaceVpcIpv6SlaacArgs
{
Range = "auto",
},
},
Ranges = new[]
{
new Linode.Inputs.InterfaceVpcIpv6RangeArgs
{
Range = "auto",
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.linode.Interface;
import com.pulumi.linode.InterfaceArgs;
import com.pulumi.linode.inputs.InterfaceVpcArgs;
import com.pulumi.linode.inputs.InterfaceVpcIpv6Args;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var vpc = new Interface("vpc", InterfaceArgs.builder()
.linodeId(my_instance.id())
.vpc(InterfaceVpcArgs.builder()
.subnetId(12345)
.ipv6(InterfaceVpcIpv6Args.builder()
.isPublic(true)
.slaacs(InterfaceVpcIpv6SlaacArgs.builder()
.range("auto")
.build())
.ranges(InterfaceVpcIpv6RangeArgs.builder()
.range("auto")
.build())
.build())
.build())
.build());
}
}
resources:
vpc:
type: linode:Interface
properties:
linodeId: ${["my-instance"].id}
vpc:
subnetId: 12345
ipv6:
isPublic: true
slaacs:
- range: auto
ranges:
- range: auto
VLAN Interface Example
The following example shows how to create a VLAN interface.
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";
const vlan = new linode.Interface("vlan", {
linodeId: web.id,
vlan: {
vlanLabel: "web-vlan",
ipamAddress: "192.168.200.5/24",
},
});
import pulumi
import pulumi_linode as linode
vlan = linode.Interface("vlan",
linode_id=web["id"],
vlan={
"vlan_label": "web-vlan",
"ipam_address": "192.168.200.5/24",
})
package main
import (
"github.com/pulumi/pulumi-linode/sdk/v5/go/linode"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := linode.NewInterface(ctx, "vlan", &linode.InterfaceArgs{
LinodeId: pulumi.Any(web.Id),
Vlan: &linode.InterfaceVlanArgs{
VlanLabel: pulumi.String("web-vlan"),
IpamAddress: pulumi.String("192.168.200.5/24"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Linode = Pulumi.Linode;
return await Deployment.RunAsync(() =>
{
var vlan = new Linode.Interface("vlan", new()
{
LinodeId = web.Id,
Vlan = new Linode.Inputs.InterfaceVlanArgs
{
VlanLabel = "web-vlan",
IpamAddress = "192.168.200.5/24",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.linode.Interface;
import com.pulumi.linode.InterfaceArgs;
import com.pulumi.linode.inputs.InterfaceVlanArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var vlan = new Interface("vlan", InterfaceArgs.builder()
.linodeId(web.id())
.vlan(InterfaceVlanArgs.builder()
.vlanLabel("web-vlan")
.ipamAddress("192.168.200.5/24")
.build())
.build());
}
}
resources:
vlan:
type: linode:Interface
properties:
linodeId: ${web.id}
vlan:
vlanLabel: web-vlan
ipamAddress: 192.168.200.5/24
Complete Example with Linode
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";
const my_instance = new linode.Instance("my-instance", {
label: "my-instance",
region: "us-mia",
type: "g6-standard-1",
interfaceGeneration: "linode",
});
const boot = new linode.InstanceDisk("boot", {
label: "boot",
linodeId: my_instance.id,
size: my_instance.specs.apply(specs => specs[0].disk),
image: "linode/debian12",
rootPass: "this-is-NOT-a-safe-password",
});
const _public = new linode.Interface("public", {
linodeId: my_instance.id,
"public": {
ipv4: {
addresses: [{
address: "auto",
primary: true,
}],
},
ipv6: {
ranges: [{
range: "/64",
}],
},
},
});
const my_config = new linode.InstanceConfig("my-config", {
linodeId: my_instance.id,
label: "my-config",
devices: [{
deviceName: "sda",
diskId: boot.id,
}],
booted: true,
}, {
dependsOn: [_public],
});
import pulumi
import pulumi_linode as linode
my_instance = linode.Instance("my-instance",
label="my-instance",
region="us-mia",
type="g6-standard-1",
interface_generation="linode")
boot = linode.InstanceDisk("boot",
label="boot",
linode_id=my_instance.id,
size=my_instance.specs[0].disk,
image="linode/debian12",
root_pass="this-is-NOT-a-safe-password")
public = linode.Interface("public",
linode_id=my_instance.id,
public={
"ipv4": {
"addresses": [{
"address": "auto",
"primary": True,
}],
},
"ipv6": {
"ranges": [{
"range": "/64",
}],
},
})
my_config = linode.InstanceConfig("my-config",
linode_id=my_instance.id,
label="my-config",
devices=[{
"deviceName": "sda",
"diskId": boot.id,
}],
booted=True,
opts = pulumi.ResourceOptions(depends_on=[public]))
package main
import (
"github.com/pulumi/pulumi-linode/sdk/v5/go/linode"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
my_instance, err := linode.NewInstance(ctx, "my-instance", &linode.InstanceArgs{
Label: pulumi.String("my-instance"),
Region: pulumi.String("us-mia"),
Type: pulumi.String("g6-standard-1"),
InterfaceGeneration: pulumi.String("linode"),
})
if err != nil {
return err
}
boot, err := linode.NewInstanceDisk(ctx, "boot", &linode.InstanceDiskArgs{
Label: pulumi.String("boot"),
LinodeId: my_instance.ID(),
Size: pulumi.Int(my_instance.Specs.ApplyT(func(specs []linode.InstanceSpec) (*int, error) {
return &specs[0].Disk, nil
}).(pulumi.IntPtrOutput)),
Image: pulumi.String("linode/debian12"),
RootPass: pulumi.String("this-is-NOT-a-safe-password"),
})
if err != nil {
return err
}
public, err := linode.NewInterface(ctx, "public", &linode.InterfaceArgs{
LinodeId: my_instance.ID(),
Public: &linode.InterfacePublicArgs{
Ipv4: &linode.InterfacePublicIpv4Args{
Addresses: linode.InterfacePublicIpv4AddressArray{
&linode.InterfacePublicIpv4AddressArgs{
Address: pulumi.String("auto"),
Primary: pulumi.Bool(true),
},
},
},
Ipv6: &linode.InterfacePublicIpv6Args{
Ranges: linode.InterfacePublicIpv6RangeArray{
&linode.InterfacePublicIpv6RangeArgs{
Range: pulumi.String("/64"),
},
},
},
},
})
if err != nil {
return err
}
_, err = linode.NewInstanceConfig(ctx, "my-config", &linode.InstanceConfigArgs{
LinodeId: my_instance.ID(),
Label: pulumi.String("my-config"),
Devices: linode.InstanceConfigDevicesArgs{
map[string]interface{}{
"deviceName": "sda",
"diskId": boot.ID(),
},
},
Booted: pulumi.Bool(true),
}, pulumi.DependsOn([]pulumi.Resource{
public,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Linode = Pulumi.Linode;
return await Deployment.RunAsync(() =>
{
var my_instance = new Linode.Instance("my-instance", new()
{
Label = "my-instance",
Region = "us-mia",
Type = "g6-standard-1",
InterfaceGeneration = "linode",
});
var boot = new Linode.InstanceDisk("boot", new()
{
Label = "boot",
LinodeId = my_instance.Id,
Size = my_instance.Specs.Apply(specs => specs[0].Disk),
Image = "linode/debian12",
RootPass = "this-is-NOT-a-safe-password",
});
var @public = new Linode.Interface("public", new()
{
LinodeId = my_instance.Id,
Public = new Linode.Inputs.InterfacePublicArgs
{
Ipv4 = new Linode.Inputs.InterfacePublicIpv4Args
{
Addresses = new[]
{
new Linode.Inputs.InterfacePublicIpv4AddressArgs
{
Address = "auto",
Primary = true,
},
},
},
Ipv6 = new Linode.Inputs.InterfacePublicIpv6Args
{
Ranges = new[]
{
new Linode.Inputs.InterfacePublicIpv6RangeArgs
{
Range = "/64",
},
},
},
},
});
var my_config = new Linode.InstanceConfig("my-config", new()
{
LinodeId = my_instance.Id,
Label = "my-config",
Devices = new[]
{
{
{ "deviceName", "sda" },
{ "diskId", boot.Id },
},
},
Booted = true,
}, new CustomResourceOptions
{
DependsOn =
{
@public,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.linode.Instance;
import com.pulumi.linode.InstanceArgs;
import com.pulumi.linode.InstanceDisk;
import com.pulumi.linode.InstanceDiskArgs;
import com.pulumi.linode.Interface;
import com.pulumi.linode.InterfaceArgs;
import com.pulumi.linode.inputs.InterfacePublicArgs;
import com.pulumi.linode.inputs.InterfacePublicIpv4Args;
import com.pulumi.linode.inputs.InterfacePublicIpv6Args;
import com.pulumi.linode.InstanceConfig;
import com.pulumi.linode.InstanceConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var my_instance = new Instance("my-instance", InstanceArgs.builder()
.label("my-instance")
.region("us-mia")
.type("g6-standard-1")
.interfaceGeneration("linode")
.build());
var boot = new InstanceDisk("boot", InstanceDiskArgs.builder()
.label("boot")
.linodeId(my_instance.id())
.size(my_instance.specs().applyValue(_specs -> _specs[0].disk()))
.image("linode/debian12")
.rootPass("this-is-NOT-a-safe-password")
.build());
var public_ = new Interface("public", InterfaceArgs.builder()
.linodeId(my_instance.id())
.public_(InterfacePublicArgs.builder()
.ipv4(InterfacePublicIpv4Args.builder()
.addresses(InterfacePublicIpv4AddressArgs.builder()
.address("auto")
.primary(true)
.build())
.build())
.ipv6(InterfacePublicIpv6Args.builder()
.ranges(InterfacePublicIpv6RangeArgs.builder()
.range("/64")
.build())
.build())
.build())
.build());
var my_config = new InstanceConfig("my-config", InstanceConfigArgs.builder()
.linodeId(my_instance.id())
.label("my-config")
.devices(InstanceConfigDevicesArgs.builder()
.deviceName("sda")
.diskId(boot.id())
.build())
.booted(true)
.build(), CustomResourceOptions.builder()
.dependsOn(public_)
.build());
}
}
resources:
my-instance:
type: linode:Instance
properties:
label: my-instance
region: us-mia
type: g6-standard-1
interfaceGeneration: linode
my-config:
type: linode:InstanceConfig
properties:
linodeId: ${["my-instance"].id}
label: my-config
devices:
- deviceName: sda
diskId: ${boot.id}
booted: true
options:
dependsOn:
- ${public}
boot:
type: linode:InstanceDisk
properties:
label: boot
linodeId: ${["my-instance"].id}
size: ${["my-instance"].specs[0].disk}
image: linode/debian12
rootPass: this-is-NOT-a-safe-password
public:
type: linode:Interface
properties:
linodeId: ${["my-instance"].id}
public:
ipv4:
addresses:
- address: auto
primary: true
ipv6:
ranges:
- range: /64
Notes
- Each Linode instance can have up to 3 network interfaces.
- VLAN interfaces cannot be updated after creation and require recreation.
- VPC subnet IDs cannot be changed after interface creation.
- Firewall IDs are only supported for public and VPC interfaces, not for VLAN interfaces.
- When configuring multiple interfaces, use the
default_routesetting to specify which interface should handle default routing.
Create Interface Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Interface(name: string, args: InterfaceArgs, opts?: CustomResourceOptions);@overload
def Interface(resource_name: str,
args: InterfaceArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Interface(resource_name: str,
opts: Optional[ResourceOptions] = None,
linode_id: Optional[int] = None,
default_route: Optional[InterfaceDefaultRouteArgs] = None,
firewall_id: Optional[int] = None,
public: Optional[InterfacePublicArgs] = None,
vlan: Optional[InterfaceVlanArgs] = None,
vpc: Optional[InterfaceVpcArgs] = None)func NewInterface(ctx *Context, name string, args InterfaceArgs, opts ...ResourceOption) (*Interface, error)public Interface(string name, InterfaceArgs args, CustomResourceOptions? opts = null)
public Interface(String name, InterfaceArgs args)
public Interface(String name, InterfaceArgs args, CustomResourceOptions options)
type: linode:Interface
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args InterfaceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args InterfaceArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args InterfaceArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args InterfaceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args InterfaceArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var interfaceResource = new Linode.Interface("interfaceResource", new()
{
LinodeId = 0,
DefaultRoute = new Linode.Inputs.InterfaceDefaultRouteArgs
{
Ipv4 = false,
Ipv6 = false,
},
FirewallId = 0,
Public = new Linode.Inputs.InterfacePublicArgs
{
Ipv4 = new Linode.Inputs.InterfacePublicIpv4Args
{
Addresses = new[]
{
new Linode.Inputs.InterfacePublicIpv4AddressArgs
{
Address = "string",
Primary = false,
},
},
AssignedAddresses = new[]
{
new Linode.Inputs.InterfacePublicIpv4AssignedAddressArgs
{
Address = "string",
Primary = false,
},
},
Shareds = new[]
{
new Linode.Inputs.InterfacePublicIpv4SharedArgs
{
Address = "string",
LinodeId = 0,
},
},
},
Ipv6 = new Linode.Inputs.InterfacePublicIpv6Args
{
AssignedRanges = new[]
{
new Linode.Inputs.InterfacePublicIpv6AssignedRangeArgs
{
Range = "string",
RouteTarget = "string",
},
},
Ranges = new[]
{
new Linode.Inputs.InterfacePublicIpv6RangeArgs
{
Range = "string",
},
},
Shareds = new[]
{
new Linode.Inputs.InterfacePublicIpv6SharedArgs
{
Range = "string",
RouteTarget = "string",
},
},
Slaacs = new[]
{
new Linode.Inputs.InterfacePublicIpv6SlaacArgs
{
Address = "string",
Prefix = 0,
},
},
},
},
Vlan = new Linode.Inputs.InterfaceVlanArgs
{
VlanLabel = "string",
IpamAddress = "string",
},
Vpc = new Linode.Inputs.InterfaceVpcArgs
{
SubnetId = 0,
Ipv4 = new Linode.Inputs.InterfaceVpcIpv4Args
{
Addresses = new[]
{
new Linode.Inputs.InterfaceVpcIpv4AddressArgs
{
Address = "string",
Nat11Address = "string",
Primary = false,
},
},
AssignedAddresses = new[]
{
new Linode.Inputs.InterfaceVpcIpv4AssignedAddressArgs
{
Address = "string",
Nat11Address = "string",
Primary = false,
},
},
AssignedRanges = new[]
{
new Linode.Inputs.InterfaceVpcIpv4AssignedRangeArgs
{
Range = "string",
},
},
Ranges = new[]
{
new Linode.Inputs.InterfaceVpcIpv4RangeArgs
{
Range = "string",
},
},
},
Ipv6 = new Linode.Inputs.InterfaceVpcIpv6Args
{
AssignedRanges = new[]
{
new Linode.Inputs.InterfaceVpcIpv6AssignedRangeArgs
{
Range = "string",
},
},
AssignedSlaacs = new[]
{
new Linode.Inputs.InterfaceVpcIpv6AssignedSlaacArgs
{
Address = "string",
Range = "string",
},
},
IsPublic = false,
Ranges = new[]
{
new Linode.Inputs.InterfaceVpcIpv6RangeArgs
{
Range = "string",
},
},
Slaacs = new[]
{
new Linode.Inputs.InterfaceVpcIpv6SlaacArgs
{
Range = "string",
},
},
},
},
});
example, err := linode.NewInterface(ctx, "interfaceResource", &linode.InterfaceArgs{
LinodeId: pulumi.Int(0),
DefaultRoute: &linode.InterfaceDefaultRouteArgs{
Ipv4: pulumi.Bool(false),
Ipv6: pulumi.Bool(false),
},
FirewallId: pulumi.Int(0),
Public: &linode.InterfacePublicArgs{
Ipv4: &linode.InterfacePublicIpv4Args{
Addresses: linode.InterfacePublicIpv4AddressArray{
&linode.InterfacePublicIpv4AddressArgs{
Address: pulumi.String("string"),
Primary: pulumi.Bool(false),
},
},
AssignedAddresses: linode.InterfacePublicIpv4AssignedAddressArray{
&linode.InterfacePublicIpv4AssignedAddressArgs{
Address: pulumi.String("string"),
Primary: pulumi.Bool(false),
},
},
Shareds: linode.InterfacePublicIpv4SharedArray{
&linode.InterfacePublicIpv4SharedArgs{
Address: pulumi.String("string"),
LinodeId: pulumi.Int(0),
},
},
},
Ipv6: &linode.InterfacePublicIpv6Args{
AssignedRanges: linode.InterfacePublicIpv6AssignedRangeArray{
&linode.InterfacePublicIpv6AssignedRangeArgs{
Range: pulumi.String("string"),
RouteTarget: pulumi.String("string"),
},
},
Ranges: linode.InterfacePublicIpv6RangeArray{
&linode.InterfacePublicIpv6RangeArgs{
Range: pulumi.String("string"),
},
},
Shareds: linode.InterfacePublicIpv6SharedArray{
&linode.InterfacePublicIpv6SharedArgs{
Range: pulumi.String("string"),
RouteTarget: pulumi.String("string"),
},
},
Slaacs: linode.InterfacePublicIpv6SlaacArray{
&linode.InterfacePublicIpv6SlaacArgs{
Address: pulumi.String("string"),
Prefix: pulumi.Int(0),
},
},
},
},
Vlan: &linode.InterfaceVlanArgs{
VlanLabel: pulumi.String("string"),
IpamAddress: pulumi.String("string"),
},
Vpc: &linode.InterfaceVpcArgs{
SubnetId: pulumi.Int(0),
Ipv4: &linode.InterfaceVpcIpv4Args{
Addresses: linode.InterfaceVpcIpv4AddressArray{
&linode.InterfaceVpcIpv4AddressArgs{
Address: pulumi.String("string"),
Nat11Address: pulumi.String("string"),
Primary: pulumi.Bool(false),
},
},
AssignedAddresses: linode.InterfaceVpcIpv4AssignedAddressArray{
&linode.InterfaceVpcIpv4AssignedAddressArgs{
Address: pulumi.String("string"),
Nat11Address: pulumi.String("string"),
Primary: pulumi.Bool(false),
},
},
AssignedRanges: linode.InterfaceVpcIpv4AssignedRangeArray{
&linode.InterfaceVpcIpv4AssignedRangeArgs{
Range: pulumi.String("string"),
},
},
Ranges: linode.InterfaceVpcIpv4RangeArray{
&linode.InterfaceVpcIpv4RangeArgs{
Range: pulumi.String("string"),
},
},
},
Ipv6: &linode.InterfaceVpcIpv6Args{
AssignedRanges: linode.InterfaceVpcIpv6AssignedRangeArray{
&linode.InterfaceVpcIpv6AssignedRangeArgs{
Range: pulumi.String("string"),
},
},
AssignedSlaacs: linode.InterfaceVpcIpv6AssignedSlaacArray{
&linode.InterfaceVpcIpv6AssignedSlaacArgs{
Address: pulumi.String("string"),
Range: pulumi.String("string"),
},
},
IsPublic: pulumi.Bool(false),
Ranges: linode.InterfaceVpcIpv6RangeArray{
&linode.InterfaceVpcIpv6RangeArgs{
Range: pulumi.String("string"),
},
},
Slaacs: linode.InterfaceVpcIpv6SlaacArray{
&linode.InterfaceVpcIpv6SlaacArgs{
Range: pulumi.String("string"),
},
},
},
},
})
var interfaceResource = new Interface("interfaceResource", InterfaceArgs.builder()
.linodeId(0)
.defaultRoute(InterfaceDefaultRouteArgs.builder()
.ipv4(false)
.ipv6(false)
.build())
.firewallId(0)
.public_(InterfacePublicArgs.builder()
.ipv4(InterfacePublicIpv4Args.builder()
.addresses(InterfacePublicIpv4AddressArgs.builder()
.address("string")
.primary(false)
.build())
.assignedAddresses(InterfacePublicIpv4AssignedAddressArgs.builder()
.address("string")
.primary(false)
.build())
.shareds(InterfacePublicIpv4SharedArgs.builder()
.address("string")
.linodeId(0)
.build())
.build())
.ipv6(InterfacePublicIpv6Args.builder()
.assignedRanges(InterfacePublicIpv6AssignedRangeArgs.builder()
.range("string")
.routeTarget("string")
.build())
.ranges(InterfacePublicIpv6RangeArgs.builder()
.range("string")
.build())
.shareds(InterfacePublicIpv6SharedArgs.builder()
.range("string")
.routeTarget("string")
.build())
.slaacs(InterfacePublicIpv6SlaacArgs.builder()
.address("string")
.prefix(0)
.build())
.build())
.build())
.vlan(InterfaceVlanArgs.builder()
.vlanLabel("string")
.ipamAddress("string")
.build())
.vpc(InterfaceVpcArgs.builder()
.subnetId(0)
.ipv4(InterfaceVpcIpv4Args.builder()
.addresses(InterfaceVpcIpv4AddressArgs.builder()
.address("string")
.nat11Address("string")
.primary(false)
.build())
.assignedAddresses(InterfaceVpcIpv4AssignedAddressArgs.builder()
.address("string")
.nat11Address("string")
.primary(false)
.build())
.assignedRanges(InterfaceVpcIpv4AssignedRangeArgs.builder()
.range("string")
.build())
.ranges(InterfaceVpcIpv4RangeArgs.builder()
.range("string")
.build())
.build())
.ipv6(InterfaceVpcIpv6Args.builder()
.assignedRanges(InterfaceVpcIpv6AssignedRangeArgs.builder()
.range("string")
.build())
.assignedSlaacs(InterfaceVpcIpv6AssignedSlaacArgs.builder()
.address("string")
.range("string")
.build())
.isPublic(false)
.ranges(InterfaceVpcIpv6RangeArgs.builder()
.range("string")
.build())
.slaacs(InterfaceVpcIpv6SlaacArgs.builder()
.range("string")
.build())
.build())
.build())
.build());
interface_resource = linode.Interface("interfaceResource",
linode_id=0,
default_route={
"ipv4": False,
"ipv6": False,
},
firewall_id=0,
public={
"ipv4": {
"addresses": [{
"address": "string",
"primary": False,
}],
"assigned_addresses": [{
"address": "string",
"primary": False,
}],
"shareds": [{
"address": "string",
"linode_id": 0,
}],
},
"ipv6": {
"assigned_ranges": [{
"range": "string",
"route_target": "string",
}],
"ranges": [{
"range": "string",
}],
"shareds": [{
"range": "string",
"route_target": "string",
}],
"slaacs": [{
"address": "string",
"prefix": 0,
}],
},
},
vlan={
"vlan_label": "string",
"ipam_address": "string",
},
vpc={
"subnet_id": 0,
"ipv4": {
"addresses": [{
"address": "string",
"nat11_address": "string",
"primary": False,
}],
"assigned_addresses": [{
"address": "string",
"nat11_address": "string",
"primary": False,
}],
"assigned_ranges": [{
"range": "string",
}],
"ranges": [{
"range": "string",
}],
},
"ipv6": {
"assigned_ranges": [{
"range": "string",
}],
"assigned_slaacs": [{
"address": "string",
"range": "string",
}],
"is_public": False,
"ranges": [{
"range": "string",
}],
"slaacs": [{
"range": "string",
}],
},
})
const interfaceResource = new linode.Interface("interfaceResource", {
linodeId: 0,
defaultRoute: {
ipv4: false,
ipv6: false,
},
firewallId: 0,
"public": {
ipv4: {
addresses: [{
address: "string",
primary: false,
}],
assignedAddresses: [{
address: "string",
primary: false,
}],
shareds: [{
address: "string",
linodeId: 0,
}],
},
ipv6: {
assignedRanges: [{
range: "string",
routeTarget: "string",
}],
ranges: [{
range: "string",
}],
shareds: [{
range: "string",
routeTarget: "string",
}],
slaacs: [{
address: "string",
prefix: 0,
}],
},
},
vlan: {
vlanLabel: "string",
ipamAddress: "string",
},
vpc: {
subnetId: 0,
ipv4: {
addresses: [{
address: "string",
nat11Address: "string",
primary: false,
}],
assignedAddresses: [{
address: "string",
nat11Address: "string",
primary: false,
}],
assignedRanges: [{
range: "string",
}],
ranges: [{
range: "string",
}],
},
ipv6: {
assignedRanges: [{
range: "string",
}],
assignedSlaacs: [{
address: "string",
range: "string",
}],
isPublic: false,
ranges: [{
range: "string",
}],
slaacs: [{
range: "string",
}],
},
},
});
type: linode:Interface
properties:
defaultRoute:
ipv4: false
ipv6: false
firewallId: 0
linodeId: 0
public:
ipv4:
addresses:
- address: string
primary: false
assignedAddresses:
- address: string
primary: false
shareds:
- address: string
linodeId: 0
ipv6:
assignedRanges:
- range: string
routeTarget: string
ranges:
- range: string
shareds:
- range: string
routeTarget: string
slaacs:
- address: string
prefix: 0
vlan:
ipamAddress: string
vlanLabel: string
vpc:
ipv4:
addresses:
- address: string
nat11Address: string
primary: false
assignedAddresses:
- address: string
nat11Address: string
primary: false
assignedRanges:
- range: string
ranges:
- range: string
ipv6:
assignedRanges:
- range: string
assignedSlaacs:
- address: string
range: string
isPublic: false
ranges:
- range: string
slaacs:
- range: string
subnetId: 0
Interface Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Interface resource accepts the following input properties:
- Linode
Id int - The ID of the Linode to assign this interface to.
- Default
Route InterfaceDefault Route - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- Firewall
Id int - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- Public
Interface
Public - Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - Vlan
Interface
Vlan - Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - Vpc
Interface
Vpc - Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
- Linode
Id int - The ID of the Linode to assign this interface to.
- Default
Route InterfaceDefault Route Args - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- Firewall
Id int - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- Public
Interface
Public Args - Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - Vlan
Interface
Vlan Args - Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - Vpc
Interface
Vpc Args - Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
- linode
Id Integer - The ID of the Linode to assign this interface to.
- default
Route InterfaceDefault Route - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- firewall
Id Integer - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- public_
Interface
Public - Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - vlan
Interface
Vlan - Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - vpc
Interface
Vpc - Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
- linode
Id number - The ID of the Linode to assign this interface to.
- default
Route InterfaceDefault Route - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- firewall
Id number - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- public
Interface
Public - Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - vlan
Interface
Vlan - Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - vpc
Interface
Vpc - Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
- linode_
id int - The ID of the Linode to assign this interface to.
- default_
route InterfaceDefault Route Args - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- firewall_
id int - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- public
Interface
Public Args - Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - vlan
Interface
Vlan Args - Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - vpc
Interface
Vpc Args - Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
- linode
Id Number - The ID of the Linode to assign this interface to.
- default
Route Property Map - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- firewall
Id Number - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- public Property Map
- Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - vlan Property Map
- Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - vpc Property Map
- Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
Outputs
All input properties are implicitly available as output properties. Additionally, the Interface resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing Interface Resource
Get an existing Interface 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?: InterfaceState, opts?: CustomResourceOptions): Interface@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
default_route: Optional[InterfaceDefaultRouteArgs] = None,
firewall_id: Optional[int] = None,
linode_id: Optional[int] = None,
public: Optional[InterfacePublicArgs] = None,
vlan: Optional[InterfaceVlanArgs] = None,
vpc: Optional[InterfaceVpcArgs] = None) -> Interfacefunc GetInterface(ctx *Context, name string, id IDInput, state *InterfaceState, opts ...ResourceOption) (*Interface, error)public static Interface Get(string name, Input<string> id, InterfaceState? state, CustomResourceOptions? opts = null)public static Interface get(String name, Output<String> id, InterfaceState state, CustomResourceOptions options)resources: _: type: linode:Interface get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Default
Route InterfaceDefault Route - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- Firewall
Id int - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- Linode
Id int - The ID of the Linode to assign this interface to.
- Public
Interface
Public - Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - Vlan
Interface
Vlan - Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - Vpc
Interface
Vpc - Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
- Default
Route InterfaceDefault Route Args - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- Firewall
Id int - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- Linode
Id int - The ID of the Linode to assign this interface to.
- Public
Interface
Public Args - Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - Vlan
Interface
Vlan Args - Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - Vpc
Interface
Vpc Args - Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
- default
Route InterfaceDefault Route - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- firewall
Id Integer - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- linode
Id Integer - The ID of the Linode to assign this interface to.
- public_
Interface
Public - Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - vlan
Interface
Vlan - Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - vpc
Interface
Vpc - Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
- default
Route InterfaceDefault Route - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- firewall
Id number - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- linode
Id number - The ID of the Linode to assign this interface to.
- public
Interface
Public - Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - vlan
Interface
Vlan - Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - vpc
Interface
Vpc - Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
- default_
route InterfaceDefault Route Args - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- firewall_
id int - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- linode_
id int - The ID of the Linode to assign this interface to.
- public
Interface
Public Args - Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - vlan
Interface
Vlan Args - Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - vpc
Interface
Vpc Args - Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
- default
Route Property Map - Indicates if the interface serves as the default route when multiple interfaces are eligible for this role.
- firewall
Id Number - The ID of an enabled firewall to secure a VPC or public interface. Not allowed for VLAN interfaces.
- linode
Id Number - The ID of the Linode to assign this interface to.
- public Property Map
- Nested attributes object for a Linode public interface. Exactly one of
public,vlan, orvpcmust be specified. - vlan Property Map
- Nested attributes object for a Linode VLAN interface. Exactly one of
public,vlan, orvpcmust be specified. - vpc Property Map
- Nested attributes object for a Linode VPC interface. Exactly one of
public,vlan, orvpcmust be specified.
Supporting Types
InterfaceDefaultRoute, InterfaceDefaultRouteArgs
InterfacePublic, InterfacePublicArgs
- Ipv4
Interface
Public Ipv4 - IPv4 addresses for this interface.
- Ipv6
Interface
Public Ipv6 - IPv6 addresses for this interface.
- Ipv4
Interface
Public Ipv4 - IPv4 addresses for this interface.
- Ipv6
Interface
Public Ipv6 - IPv6 addresses for this interface.
- ipv4
Interface
Public Ipv4 - IPv4 addresses for this interface.
- ipv6
Interface
Public Ipv6 - IPv6 addresses for this interface.
- ipv4
Interface
Public Ipv4 - IPv4 addresses for this interface.
- ipv6
Interface
Public Ipv6 - IPv6 addresses for this interface.
- ipv4
Interface
Public Ipv4 - IPv4 addresses for this interface.
- ipv6
Interface
Public Ipv6 - IPv6 addresses for this interface.
- ipv4 Property Map
- IPv4 addresses for this interface.
- ipv6 Property Map
- IPv6 addresses for this interface.
InterfacePublicIpv4, InterfacePublicIpv4Args
- Addresses
List<Interface
Public Ipv4Address> - IPv4 addresses configured for this Linode interface. Each object in this list supports:
- Assigned
Addresses List<InterfacePublic Ipv4Assigned Address> - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: -
List<Interface
Public Ipv4Shared> - (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- Addresses
[]Interface
Public Ipv4Address - IPv4 addresses configured for this Linode interface. Each object in this list supports:
- Assigned
Addresses []InterfacePublic Ipv4Assigned Address - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: -
[]Interface
Public Ipv4Shared - (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- addresses
List<Interface
Public Ipv4Address> - IPv4 addresses configured for this Linode interface. Each object in this list supports:
- assigned
Addresses List<InterfacePublic Ipv4Assigned Address> - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: -
List<Interface
Public Ipv4Shared> - (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- addresses
Interface
Public Ipv4Address[] - IPv4 addresses configured for this Linode interface. Each object in this list supports:
- assigned
Addresses InterfacePublic Ipv4Assigned Address[] - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: -
Interface
Public Ipv4Shared[] - (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- addresses
Sequence[Interface
Public Ipv4Address] - IPv4 addresses configured for this Linode interface. Each object in this list supports:
- assigned_
addresses Sequence[InterfacePublic Ipv4Assigned Address] - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: -
Sequence[Interface
Public Ipv4Shared] - (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- addresses List<Property Map>
- IPv4 addresses configured for this Linode interface. Each object in this list supports:
- assigned
Addresses List<Property Map> - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: - List<Property Map>
- (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
InterfacePublicIpv4Address, InterfacePublicIpv4AddressArgs
InterfacePublicIpv4AssignedAddress, InterfacePublicIpv4AssignedAddressArgs
InterfacePublicIpv4Shared, InterfacePublicIpv4SharedArgs
InterfacePublicIpv6, InterfacePublicIpv6Args
- Assigned
Ranges List<InterfacePublic Ipv6Assigned Range> - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - Ranges
List<Interface
Public Ipv6Range> - Configured IPv6 range in CIDR notation (2600:0db8::1/64) or prefix-only (/64). Each object in this list supports:
-
List<Interface
Public Ipv6Shared> - (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- Slaacs
List<Interface
Public Ipv6Slaac> - (Computed) The public SLAAC and subnet prefix settings for this public interface. Each object in this set supports:
- Assigned
Ranges []InterfacePublic Ipv6Assigned Range - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - Ranges
[]Interface
Public Ipv6Range - Configured IPv6 range in CIDR notation (2600:0db8::1/64) or prefix-only (/64). Each object in this list supports:
-
[]Interface
Public Ipv6Shared - (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- Slaacs
[]Interface
Public Ipv6Slaac - (Computed) The public SLAAC and subnet prefix settings for this public interface. Each object in this set supports:
- assigned
Ranges List<InterfacePublic Ipv6Assigned Range> - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - ranges
List<Interface
Public Ipv6Range> - Configured IPv6 range in CIDR notation (2600:0db8::1/64) or prefix-only (/64). Each object in this list supports:
-
List<Interface
Public Ipv6Shared> - (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- slaacs
List<Interface
Public Ipv6Slaac> - (Computed) The public SLAAC and subnet prefix settings for this public interface. Each object in this set supports:
- assigned
Ranges InterfacePublic Ipv6Assigned Range[] - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - ranges
Interface
Public Ipv6Range[] - Configured IPv6 range in CIDR notation (2600:0db8::1/64) or prefix-only (/64). Each object in this list supports:
-
Interface
Public Ipv6Shared[] - (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- slaacs
Interface
Public Ipv6Slaac[] - (Computed) The public SLAAC and subnet prefix settings for this public interface. Each object in this set supports:
- assigned_
ranges Sequence[InterfacePublic Ipv6Assigned Range] - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - ranges
Sequence[Interface
Public Ipv6Range] - Configured IPv6 range in CIDR notation (2600:0db8::1/64) or prefix-only (/64). Each object in this list supports:
-
Sequence[Interface
Public Ipv6Shared] - (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- slaacs
Sequence[Interface
Public Ipv6Slaac] - (Computed) The public SLAAC and subnet prefix settings for this public interface. Each object in this set supports:
- assigned
Ranges List<Property Map> - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - ranges List<Property Map>
- Configured IPv6 range in CIDR notation (2600:0db8::1/64) or prefix-only (/64). Each object in this list supports:
- List<Property Map>
- (Computed) The IPv6 ranges assigned to this Linode interface that are also shared with another Linode. Each object in this set supports:
- slaacs List<Property Map>
- (Computed) The public SLAAC and subnet prefix settings for this public interface. Each object in this set supports:
InterfacePublicIpv6AssignedRange, InterfacePublicIpv6AssignedRangeArgs
- Range string
- The IPv6 network range in CIDR notation.
- Route
Target string - The public IPv6 address that the range is routed to.
- Range string
- The IPv6 network range in CIDR notation.
- Route
Target string - The public IPv6 address that the range is routed to.
- range String
- The IPv6 network range in CIDR notation.
- route
Target String - The public IPv6 address that the range is routed to.
- range string
- The IPv6 network range in CIDR notation.
- route
Target string - The public IPv6 address that the range is routed to.
- range str
- The IPv6 network range in CIDR notation.
- route_
target str - The public IPv6 address that the range is routed to.
- range String
- The IPv6 network range in CIDR notation.
- route
Target String - The public IPv6 address that the range is routed to.
InterfacePublicIpv6Range, InterfacePublicIpv6RangeArgs
- Range string
- The IPv6 range.
- Range string
- The IPv6 range.
- range String
- The IPv6 range.
- range string
- The IPv6 range.
- range str
- The IPv6 range.
- range String
- The IPv6 range.
InterfacePublicIpv6Shared, InterfacePublicIpv6SharedArgs
- Range string
- The IPv6 network range in CIDR notation.
- Route
Target string - The public IPv6 address that the range is routed to.
- Range string
- The IPv6 network range in CIDR notation.
- Route
Target string - The public IPv6 address that the range is routed to.
- range String
- The IPv6 network range in CIDR notation.
- route
Target String - The public IPv6 address that the range is routed to.
- range string
- The IPv6 network range in CIDR notation.
- route
Target string - The public IPv6 address that the range is routed to.
- range str
- The IPv6 network range in CIDR notation.
- route_
target str - The public IPv6 address that the range is routed to.
- range String
- The IPv6 network range in CIDR notation.
- route
Target String - The public IPv6 address that the range is routed to.
InterfacePublicIpv6Slaac, InterfacePublicIpv6SlaacArgs
InterfaceVlan, InterfaceVlanArgs
- Vlan
Label string - The VLAN's unique label. Must be between 1 and 64 characters.
- Ipam
Address string - The VLAN interface's private IPv4 address in CIDR notation.
- Vlan
Label string - The VLAN's unique label. Must be between 1 and 64 characters.
- Ipam
Address string - The VLAN interface's private IPv4 address in CIDR notation.
- vlan
Label String - The VLAN's unique label. Must be between 1 and 64 characters.
- ipam
Address String - The VLAN interface's private IPv4 address in CIDR notation.
- vlan
Label string - The VLAN's unique label. Must be between 1 and 64 characters.
- ipam
Address string - The VLAN interface's private IPv4 address in CIDR notation.
- vlan_
label str - The VLAN's unique label. Must be between 1 and 64 characters.
- ipam_
address str - The VLAN interface's private IPv4 address in CIDR notation.
- vlan
Label String - The VLAN's unique label. Must be between 1 and 64 characters.
- ipam
Address String - The VLAN interface's private IPv4 address in CIDR notation.
InterfaceVpc, InterfaceVpcArgs
- Subnet
Id int - The VPC subnet identifier for this interface.
- Ipv4
Interface
Vpc Ipv4 - IPv4 configuration for the VPC interface.
- Ipv6
Interface
Vpc Ipv6 - IPv6 assigned through
slaacandranges. If you create a VPC interface in a subnet with IPv6 and don’t specifyslaacorranges, a SLAAC range is added automatically. NOTE: IPv6 VPCs may not currently be available to all users.
- Subnet
Id int - The VPC subnet identifier for this interface.
- Ipv4
Interface
Vpc Ipv4 - IPv4 configuration for the VPC interface.
- Ipv6
Interface
Vpc Ipv6 - IPv6 assigned through
slaacandranges. If you create a VPC interface in a subnet with IPv6 and don’t specifyslaacorranges, a SLAAC range is added automatically. NOTE: IPv6 VPCs may not currently be available to all users.
- subnet
Id Integer - The VPC subnet identifier for this interface.
- ipv4
Interface
Vpc Ipv4 - IPv4 configuration for the VPC interface.
- ipv6
Interface
Vpc Ipv6 - IPv6 assigned through
slaacandranges. If you create a VPC interface in a subnet with IPv6 and don’t specifyslaacorranges, a SLAAC range is added automatically. NOTE: IPv6 VPCs may not currently be available to all users.
- subnet
Id number - The VPC subnet identifier for this interface.
- ipv4
Interface
Vpc Ipv4 - IPv4 configuration for the VPC interface.
- ipv6
Interface
Vpc Ipv6 - IPv6 assigned through
slaacandranges. If you create a VPC interface in a subnet with IPv6 and don’t specifyslaacorranges, a SLAAC range is added automatically. NOTE: IPv6 VPCs may not currently be available to all users.
- subnet_
id int - The VPC subnet identifier for this interface.
- ipv4
Interface
Vpc Ipv4 - IPv4 configuration for the VPC interface.
- ipv6
Interface
Vpc Ipv6 - IPv6 assigned through
slaacandranges. If you create a VPC interface in a subnet with IPv6 and don’t specifyslaacorranges, a SLAAC range is added automatically. NOTE: IPv6 VPCs may not currently be available to all users.
- subnet
Id Number - The VPC subnet identifier for this interface.
- ipv4 Property Map
- IPv4 configuration for the VPC interface.
- ipv6 Property Map
- IPv6 assigned through
slaacandranges. If you create a VPC interface in a subnet with IPv6 and don’t specifyslaacorranges, a SLAAC range is added automatically. NOTE: IPv6 VPCs may not currently be available to all users.
InterfaceVpcIpv4, InterfaceVpcIpv4Args
- Addresses
List<Interface
Vpc Ipv4Address> - Specifies the IPv4 addresses to use in the VPC subnet. Each object in this list supports:
- Assigned
Addresses List<InterfaceVpc Ipv4Assigned Address> - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: - Assigned
Ranges List<InterfaceVpc Ipv4Assigned Range> - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - Ranges
List<Interface
Vpc Ipv4Range> - IPv4 ranges in CIDR notation (1.2.3.4/24) or prefix-only format (/24). Each object in this list supports:
- Addresses
[]Interface
Vpc Ipv4Address - Specifies the IPv4 addresses to use in the VPC subnet. Each object in this list supports:
- Assigned
Addresses []InterfaceVpc Ipv4Assigned Address - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: - Assigned
Ranges []InterfaceVpc Ipv4Assigned Range - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - Ranges
[]Interface
Vpc Ipv4Range - IPv4 ranges in CIDR notation (1.2.3.4/24) or prefix-only format (/24). Each object in this list supports:
- addresses
List<Interface
Vpc Ipv4Address> - Specifies the IPv4 addresses to use in the VPC subnet. Each object in this list supports:
- assigned
Addresses List<InterfaceVpc Ipv4Assigned Address> - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: - assigned
Ranges List<InterfaceVpc Ipv4Assigned Range> - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - ranges
List<Interface
Vpc Ipv4Range> - IPv4 ranges in CIDR notation (1.2.3.4/24) or prefix-only format (/24). Each object in this list supports:
- addresses
Interface
Vpc Ipv4Address[] - Specifies the IPv4 addresses to use in the VPC subnet. Each object in this list supports:
- assigned
Addresses InterfaceVpc Ipv4Assigned Address[] - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: - assigned
Ranges InterfaceVpc Ipv4Assigned Range[] - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - ranges
Interface
Vpc Ipv4Range[] - IPv4 ranges in CIDR notation (1.2.3.4/24) or prefix-only format (/24). Each object in this list supports:
- addresses
Sequence[Interface
Vpc Ipv4Address] - Specifies the IPv4 addresses to use in the VPC subnet. Each object in this list supports:
- assigned_
addresses Sequence[InterfaceVpc Ipv4Assigned Address] - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: - assigned_
ranges Sequence[InterfaceVpc Ipv4Assigned Range] - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - ranges
Sequence[Interface
Vpc Ipv4Range] - IPv4 ranges in CIDR notation (1.2.3.4/24) or prefix-only format (/24). Each object in this list supports:
- addresses List<Property Map>
- Specifies the IPv4 addresses to use in the VPC subnet. Each object in this list supports:
- assigned
Addresses List<Property Map> - (Computed) The IPv4 addresses assigned for use in the VPC subnet, calculated from the
addressesinput. Each object in this set supports: - assigned
Ranges List<Property Map> - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - ranges List<Property Map>
- IPv4 ranges in CIDR notation (1.2.3.4/24) or prefix-only format (/24). Each object in this list supports:
InterfaceVpcIpv4Address, InterfaceVpcIpv4AddressArgs
- Address string
- The IPv4 address. Defaults to "auto" for automatic assignment.
- Nat11Address string
- The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- Primary bool
- Whether this address is the primary address for the interface.
- Address string
- The IPv4 address. Defaults to "auto" for automatic assignment.
- Nat11Address string
- The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- Primary bool
- Whether this address is the primary address for the interface.
- address String
- The IPv4 address. Defaults to "auto" for automatic assignment.
- nat11Address String
- The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- primary Boolean
- Whether this address is the primary address for the interface.
- address string
- The IPv4 address. Defaults to "auto" for automatic assignment.
- nat11Address string
- The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- primary boolean
- Whether this address is the primary address for the interface.
- address str
- The IPv4 address. Defaults to "auto" for automatic assignment.
- nat11_
address str - The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- primary bool
- Whether this address is the primary address for the interface.
- address String
- The IPv4 address. Defaults to "auto" for automatic assignment.
- nat11Address String
- The 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- primary Boolean
- Whether this address is the primary address for the interface.
InterfaceVpcIpv4AssignedAddress, InterfaceVpcIpv4AssignedAddressArgs
- Address string
- The assigned IPv4 address.
- Nat11Address string
- The assigned 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- Primary bool
- Whether this address is the primary address for the interface.
- Address string
- The assigned IPv4 address.
- Nat11Address string
- The assigned 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- Primary bool
- Whether this address is the primary address for the interface.
- address String
- The assigned IPv4 address.
- nat11Address String
- The assigned 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- primary Boolean
- Whether this address is the primary address for the interface.
- address string
- The assigned IPv4 address.
- nat11Address string
- The assigned 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- primary boolean
- Whether this address is the primary address for the interface.
- address str
- The assigned IPv4 address.
- nat11_
address str - The assigned 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- primary bool
- Whether this address is the primary address for the interface.
- address String
- The assigned IPv4 address.
- nat11Address String
- The assigned 1:1 NAT IPv4 address used to associate a public IPv4 address with the interface's VPC subnet IPv4 address.
- primary Boolean
- Whether this address is the primary address for the interface.
InterfaceVpcIpv4AssignedRange, InterfaceVpcIpv4AssignedRangeArgs
- Range string
- The IPv6 network range in CIDR notation.
- Range string
- The IPv6 network range in CIDR notation.
- range String
- The IPv6 network range in CIDR notation.
- range string
- The IPv6 network range in CIDR notation.
- range str
- The IPv6 network range in CIDR notation.
- range String
- The IPv6 network range in CIDR notation.
InterfaceVpcIpv4Range, InterfaceVpcIpv4RangeArgs
- Range string
- The IPv4 range.
- Range string
- The IPv4 range.
- range String
- The IPv4 range.
- range string
- The IPv4 range.
- range str
- The IPv4 range.
- range String
- The IPv4 range.
InterfaceVpcIpv6, InterfaceVpcIpv6Args
- Assigned
Ranges List<InterfaceVpc Ipv6Assigned Range> - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - Assigned
Slaacs List<InterfaceVpc Ipv6Assigned Slaac> - Assigned IPv6 SLAAC address ranges to use in the VPC subnet, calculated from
slaacinput. - Is
Public bool - Indicates whether the IPv6 configuration profile interface is public. (Default
false) - Ranges
List<Interface
Vpc Ipv6Range> - Defines additional IPv6 network ranges.
- Slaacs
List<Interface
Vpc Ipv6Slaac> - Defines IPv6 SLAAC address ranges. An address is automatically generated from the assigned /64 prefix using the Linode’s MAC address, just like on public IPv6 interfaces. Router advertisements (RA) are sent to the Linode, so standard SLAAC configuration works without any changes.
- Assigned
Ranges []InterfaceVpc Ipv6Assigned Range - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - Assigned
Slaacs []InterfaceVpc Ipv6Assigned Slaac - Assigned IPv6 SLAAC address ranges to use in the VPC subnet, calculated from
slaacinput. - Is
Public bool - Indicates whether the IPv6 configuration profile interface is public. (Default
false) - Ranges
[]Interface
Vpc Ipv6Range - Defines additional IPv6 network ranges.
- Slaacs
[]Interface
Vpc Ipv6Slaac - Defines IPv6 SLAAC address ranges. An address is automatically generated from the assigned /64 prefix using the Linode’s MAC address, just like on public IPv6 interfaces. Router advertisements (RA) are sent to the Linode, so standard SLAAC configuration works without any changes.
- assigned
Ranges List<InterfaceVpc Ipv6Assigned Range> - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - assigned
Slaacs List<InterfaceVpc Ipv6Assigned Slaac> - Assigned IPv6 SLAAC address ranges to use in the VPC subnet, calculated from
slaacinput. - is
Public Boolean - Indicates whether the IPv6 configuration profile interface is public. (Default
false) - ranges
List<Interface
Vpc Ipv6Range> - Defines additional IPv6 network ranges.
- slaacs
List<Interface
Vpc Ipv6Slaac> - Defines IPv6 SLAAC address ranges. An address is automatically generated from the assigned /64 prefix using the Linode’s MAC address, just like on public IPv6 interfaces. Router advertisements (RA) are sent to the Linode, so standard SLAAC configuration works without any changes.
- assigned
Ranges InterfaceVpc Ipv6Assigned Range[] - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - assigned
Slaacs InterfaceVpc Ipv6Assigned Slaac[] - Assigned IPv6 SLAAC address ranges to use in the VPC subnet, calculated from
slaacinput. - is
Public boolean - Indicates whether the IPv6 configuration profile interface is public. (Default
false) - ranges
Interface
Vpc Ipv6Range[] - Defines additional IPv6 network ranges.
- slaacs
Interface
Vpc Ipv6Slaac[] - Defines IPv6 SLAAC address ranges. An address is automatically generated from the assigned /64 prefix using the Linode’s MAC address, just like on public IPv6 interfaces. Router advertisements (RA) are sent to the Linode, so standard SLAAC configuration works without any changes.
- assigned_
ranges Sequence[InterfaceVpc Ipv6Assigned Range] - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - assigned_
slaacs Sequence[InterfaceVpc Ipv6Assigned Slaac] - Assigned IPv6 SLAAC address ranges to use in the VPC subnet, calculated from
slaacinput. - is_
public bool - Indicates whether the IPv6 configuration profile interface is public. (Default
false) - ranges
Sequence[Interface
Vpc Ipv6Range] - Defines additional IPv6 network ranges.
- slaacs
Sequence[Interface
Vpc Ipv6Slaac] - Defines IPv6 SLAAC address ranges. An address is automatically generated from the assigned /64 prefix using the Linode’s MAC address, just like on public IPv6 interfaces. Router advertisements (RA) are sent to the Linode, so standard SLAAC configuration works without any changes.
- assigned
Ranges List<Property Map> - Assigned additional IPv6 ranges to use in the VPC subnet, calculated from
rangesinput. - assigned
Slaacs List<Property Map> - Assigned IPv6 SLAAC address ranges to use in the VPC subnet, calculated from
slaacinput. - is
Public Boolean - Indicates whether the IPv6 configuration profile interface is public. (Default
false) - ranges List<Property Map>
- Defines additional IPv6 network ranges.
- slaacs List<Property Map>
- Defines IPv6 SLAAC address ranges. An address is automatically generated from the assigned /64 prefix using the Linode’s MAC address, just like on public IPv6 interfaces. Router advertisements (RA) are sent to the Linode, so standard SLAAC configuration works without any changes.
InterfaceVpcIpv6AssignedRange, InterfaceVpcIpv6AssignedRangeArgs
- Range string
- The IPv6 network range in CIDR notation.
- Range string
- The IPv6 network range in CIDR notation.
- range String
- The IPv6 network range in CIDR notation.
- range string
- The IPv6 network range in CIDR notation.
- range str
- The IPv6 network range in CIDR notation.
- range String
- The IPv6 network range in CIDR notation.
InterfaceVpcIpv6AssignedSlaac, InterfaceVpcIpv6AssignedSlaacArgs
InterfaceVpcIpv6Range, InterfaceVpcIpv6RangeArgs
- Range string
- The IPv6 network range in CIDR notation.
- Range string
- The IPv6 network range in CIDR notation.
- range String
- The IPv6 network range in CIDR notation.
- range string
- The IPv6 network range in CIDR notation.
- range str
- The IPv6 network range in CIDR notation.
- range String
- The IPv6 network range in CIDR notation.
InterfaceVpcIpv6Slaac, InterfaceVpcIpv6SlaacArgs
- Range string
- The IPv6 network range in CIDR notation.
- Range string
- The IPv6 network range in CIDR notation.
- range String
- The IPv6 network range in CIDR notation.
- range string
- The IPv6 network range in CIDR notation.
- range str
- The IPv6 network range in CIDR notation.
- range String
- The IPv6 network range in CIDR notation.
Import
Interfaces can be imported using a Linode ID followed by an Interface ID, separated by a comma, e.g.
$ pulumi import linode:index/interface:Interface example 12345,67890
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Linode pulumi/pulumi-linode
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
linodeTerraform Provider.
