@equinix-labs/pulumi-equinix
Version:
A Pulumi package for creating and managing equinix cloud resources.
143 lines (142 loc) • 4.06 kB
TypeScript
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>;
}