UNPKG

@equinix-labs/pulumi-equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

143 lines (142 loc) 4.06 kB
import * as pulumi from "@pulumi/pulumi"; /** * 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. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/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: equinix.metal.OperatingSystem.Ubuntu20_04, * billingCycle: equinix.metal.BillingCycle.Hourly, * projectId: projectId, * }); * const testPort = equinix.metal.getPortOutput({ * deviceId: testDevice.id, * name: "eth0", * }); * ``` */ export declare function getPort(args?: GetPortArgs, opts?: pulumi.InvokeOptions): Promise<GetPortResult>; /** * A collection of arguments for invoking getPort. */ export interface GetPortArgs { /** * Device UUID where to lookup the port. */ deviceId?: string; /** * Name of the port to look up, i.e. `bond0`, `eth1`. */ name?: string; /** * ID of the port to read, conflicts with `deviceId`. */ portId?: string; } /** * A collection of values returned by getPort. */ export interface GetPortResult { /** * UUID of the bond port. */ readonly bondId: string; /** * Name of the bond port. */ readonly bondName: string; /** * Flag indicating whether the port is bonded. */ readonly bonded: boolean; readonly deviceId?: string; /** * Flag indicating whether the port can be removed from a bond. */ readonly disbondSupported: boolean; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly layer2: boolean; /** * MAC address of the port. */ readonly mac: string; readonly name: string; /** * UUID of native VLAN of the port. */ readonly nativeVlanId: string; /** * One of `layer2-bonded`, `layer2-individual`, `layer3`, `hybrid`, `hybrid-bonded`. */ readonly networkType: string; readonly portId?: string; /** * Type is either `NetworkBondPort` for bond ports or `NetworkPort` for bondable ethernet ports. */ readonly type: string; /** * UUIDs of attached VLANs. */ readonly vlanIds: string[]; /** * VXLAN ids of attached VLANs. */ readonly vxlanIds: number[]; } /** * 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. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as equinix from "@equinix-labs/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: equinix.metal.OperatingSystem.Ubuntu20_04, * billingCycle: equinix.metal.BillingCycle.Hourly, * projectId: projectId, * }); * const testPort = equinix.metal.getPortOutput({ * deviceId: testDevice.id, * name: "eth0", * }); * ``` */ export declare function getPortOutput(args?: GetPortOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetPortResult>; /** * A collection of arguments for invoking getPort. */ export interface GetPortOutputArgs { /** * Device UUID where to lookup the port. */ deviceId?: pulumi.Input<string>; /** * Name of the port to look up, i.e. `bond0`, `eth1`. */ name?: pulumi.Input<string>; /** * ID of the port to read, conflicts with `deviceId`. */ portId?: pulumi.Input<string>; }