Equinix v0.27.1 published on Wednesday, Oct 29, 2025 by Equinix
equinix.metal.getPort
Start a Neo task
Explain and create an equinix.metal.getPort resource
Use this data source to read ports of existing devices. You can read port by either its UUID, or by a device UUID and port name.
Example Usage
Create a device and read it’s eth0 port to the datasource.
import * as pulumi from "@pulumi/pulumi";
import * as equinix from "@equinix-labs/pulumi-equinix";
import * as equinix from "@pulumi/equinix";
const projectId = "<UUID_of_your_project>";
const testDevice = new equinix.metal.Device("testDevice", {
hostname: "tfacc-test-device-port",
plan: equinix.metal.Plan.C3MediumX86,
metro: "sv",
operatingSystem: "ubuntu_24_04",
billingCycle: equinix.metal.BillingCycle.Hourly,
projectId: projectId,
});
const testPort = equinix.metal.getPortOutput({
deviceId: testDevice.id,
name: "eth0",
});
import pulumi
import pulumi_equinix as equinix
project_id = "<UUID_of_your_project>"
test_device = equinix.metal.Device("testDevice",
hostname="tfacc-test-device-port",
plan=equinix.metal.Plan.C3_MEDIUM_X86,
metro="sv",
operating_system="ubuntu_24_04",
billing_cycle=equinix.metal.BillingCycle.HOURLY,
project_id=project_id)
test_port = equinix.metal.get_port_output(device_id=test_device.id,
name="eth0")
package main
import (
"github.com/equinix/pulumi-equinix/sdk/go/equinix/metal"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
projectId := "<UUID_of_your_project>"
testDevice, err := metal.NewDevice(ctx, "testDevice", &metal.DeviceArgs{
Hostname: pulumi.String("tfacc-test-device-port"),
Plan: pulumi.String(metal.PlanC3MediumX86),
Metro: pulumi.String("sv"),
OperatingSystem: pulumi.String("ubuntu_24_04"),
BillingCycle: pulumi.String(metal.BillingCycleHourly),
ProjectId: pulumi.String(projectId),
})
if err != nil {
return err
}
_ = metal.LookupPortOutput(ctx, metal.GetPortOutputArgs{
DeviceId: testDevice.ID(),
Name: pulumi.String("eth0"),
}, nil)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Equinix = Pulumi.Equinix;
return await Deployment.RunAsync(() =>
{
var projectId = "<UUID_of_your_project>";
var testDevice = new Equinix.Metal.Device("testDevice", new()
{
Hostname = "tfacc-test-device-port",
Plan = Equinix.Metal.Plan.C3MediumX86,
Metro = "sv",
OperatingSystem = "ubuntu_24_04",
BillingCycle = Equinix.Metal.BillingCycle.Hourly,
ProjectId = projectId,
});
var testPort = Equinix.Metal.GetPort.Invoke(new()
{
DeviceId = testDevice.Id,
Name = "eth0",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.equinix.metal.Device;
import com.pulumi.equinix.metal.DeviceArgs;
import com.pulumi.equinix.metal.MetalFunctions;
import com.pulumi.equinix.metal.inputs.GetPortArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var projectId = "<UUID_of_your_project>";
var testDevice = new Device("testDevice", DeviceArgs.builder()
.hostname("tfacc-test-device-port")
.plan("c3.medium.x86")
.metro("sv")
.operatingSystem("ubuntu_24_04")
.billingCycle("hourly")
.projectId(projectId)
.build());
final var testPort = MetalFunctions.getPort(GetPortArgs.builder()
.deviceId(testDevice.id())
.name("eth0")
.build());
}
}
resources:
testDevice:
type: equinix:metal:Device
properties:
hostname: tfacc-test-device-port
plan: c3.medium.x86
metro: sv
operatingSystem: ubuntu_24_04
billingCycle: hourly
projectId: ${projectId}
variables:
projectId: <UUID_of_your_project>
testPort:
fn::invoke:
function: equinix:metal:getPort
arguments:
deviceId: ${testDevice.id}
name: eth0
Using getPort
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getPort(args: GetPortArgs, opts?: InvokeOptions): Promise<GetPortResult>
function getPortOutput(args: GetPortOutputArgs, opts?: InvokeOptions): Output<GetPortResult>def get_port(device_id: Optional[str] = None,
name: Optional[str] = None,
port_id: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetPortResult
def get_port_output(device_id: Optional[pulumi.Input[str]] = None,
name: Optional[pulumi.Input[str]] = None,
port_id: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetPortResult]func LookupPort(ctx *Context, args *LookupPortArgs, opts ...InvokeOption) (*LookupPortResult, error)
func LookupPortOutput(ctx *Context, args *LookupPortOutputArgs, opts ...InvokeOption) LookupPortResultOutput> Note: This function is named LookupPort in the Go SDK.
public static class GetPort
{
public static Task<GetPortResult> InvokeAsync(GetPortArgs args, InvokeOptions? opts = null)
public static Output<GetPortResult> Invoke(GetPortInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetPortResult> getPort(GetPortArgs args, InvokeOptions options)
public static Output<GetPortResult> getPort(GetPortArgs args, InvokeOptions options)
fn::invoke:
function: equinix:metal/getPort:getPort
arguments:
# arguments dictionaryThe following arguments are supported:
getPort Result
The following output properties are available:
- Bond
Id string - UUID of the bond port.
- Bond
Name string - Name of the bond port.
- Bonded bool
- Flag indicating whether the port is bonded.
- Disbond
Supported bool - Flag indicating whether the port can be removed from a bond.
- Id string
- The provider-assigned unique ID for this managed resource.
- Layer2 bool
- Mac string
- MAC address of the port.
- Name string
- Native
Vlan stringId - UUID of native VLAN of the port.
- Network
Type string - One of
layer2-bonded,layer2-individual,layer3,hybrid,hybrid-bonded. - Type string
- Type is either
NetworkBondPortfor bond ports orNetworkPortfor bondable ethernet ports. - Vlan
Ids List<string> - UUIDs of attached VLANs.
- Vxlan
Ids List<int> - VXLAN ids of attached VLANs.
- Device
Id string - Port
Id string
- Bond
Id string - UUID of the bond port.
- Bond
Name string - Name of the bond port.
- Bonded bool
- Flag indicating whether the port is bonded.
- Disbond
Supported bool - Flag indicating whether the port can be removed from a bond.
- Id string
- The provider-assigned unique ID for this managed resource.
- Layer2 bool
- Mac string
- MAC address of the port.
- Name string
- Native
Vlan stringId - UUID of native VLAN of the port.
- Network
Type string - One of
layer2-bonded,layer2-individual,layer3,hybrid,hybrid-bonded. - Type string
- Type is either
NetworkBondPortfor bond ports orNetworkPortfor bondable ethernet ports. - Vlan
Ids []string - UUIDs of attached VLANs.
- Vxlan
Ids []int - VXLAN ids of attached VLANs.
- Device
Id string - Port
Id string
- bond
Id String - UUID of the bond port.
- bond
Name String - Name of the bond port.
- bonded Boolean
- Flag indicating whether the port is bonded.
- disbond
Supported Boolean - Flag indicating whether the port can be removed from a bond.
- id String
- The provider-assigned unique ID for this managed resource.
- layer2 Boolean
- mac String
- MAC address of the port.
- name String
- native
Vlan StringId - UUID of native VLAN of the port.
- network
Type String - One of
layer2-bonded,layer2-individual,layer3,hybrid,hybrid-bonded. - type String
- Type is either
NetworkBondPortfor bond ports orNetworkPortfor bondable ethernet ports. - vlan
Ids List<String> - UUIDs of attached VLANs.
- vxlan
Ids List<Integer> - VXLAN ids of attached VLANs.
- device
Id String - port
Id String
- bond
Id string - UUID of the bond port.
- bond
Name string - Name of the bond port.
- bonded boolean
- Flag indicating whether the port is bonded.
- disbond
Supported boolean - Flag indicating whether the port can be removed from a bond.
- id string
- The provider-assigned unique ID for this managed resource.
- layer2 boolean
- mac string
- MAC address of the port.
- name string
- native
Vlan stringId - UUID of native VLAN of the port.
- network
Type string - One of
layer2-bonded,layer2-individual,layer3,hybrid,hybrid-bonded. - type string
- Type is either
NetworkBondPortfor bond ports orNetworkPortfor bondable ethernet ports. - vlan
Ids string[] - UUIDs of attached VLANs.
- vxlan
Ids number[] - VXLAN ids of attached VLANs.
- device
Id string - port
Id string
- bond_
id str - UUID of the bond port.
- bond_
name str - Name of the bond port.
- bonded bool
- Flag indicating whether the port is bonded.
- disbond_
supported bool - Flag indicating whether the port can be removed from a bond.
- id str
- The provider-assigned unique ID for this managed resource.
- layer2 bool
- mac str
- MAC address of the port.
- name str
- native_
vlan_ strid - UUID of native VLAN of the port.
- network_
type str - One of
layer2-bonded,layer2-individual,layer3,hybrid,hybrid-bonded. - type str
- Type is either
NetworkBondPortfor bond ports orNetworkPortfor bondable ethernet ports. - vlan_
ids Sequence[str] - UUIDs of attached VLANs.
- vxlan_
ids Sequence[int] - VXLAN ids of attached VLANs.
- device_
id str - port_
id str
- bond
Id String - UUID of the bond port.
- bond
Name String - Name of the bond port.
- bonded Boolean
- Flag indicating whether the port is bonded.
- disbond
Supported Boolean - Flag indicating whether the port can be removed from a bond.
- id String
- The provider-assigned unique ID for this managed resource.
- layer2 Boolean
- mac String
- MAC address of the port.
- name String
- native
Vlan StringId - UUID of native VLAN of the port.
- network
Type String - One of
layer2-bonded,layer2-individual,layer3,hybrid,hybrid-bonded. - type String
- Type is either
NetworkBondPortfor bond ports orNetworkPortfor bondable ethernet ports. - vlan
Ids List<String> - UUIDs of attached VLANs.
- vxlan
Ids List<Number> - VXLAN ids of attached VLANs.
- device
Id String - port
Id String
Package Details
- Repository
- equinix equinix/pulumi-equinix
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
equinixTerraform Provider.
