@equinix-labs/pulumi-equinix
Version:
A Pulumi package for creating and managing equinix cloud resources.
152 lines (151 loc) • 4.9 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Provides an Equinix Metal Virtual Network datasource. VLANs data sources can be searched by VLAN UUID, or project UUID and vxlan number.
*
* ## Example Usage
*
* Fetch a vlan by ID:
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as equinix from "@equinix-labs/pulumi-equinix";
*
* const foovlan = new equinix.metal.Vlan("foovlan", {
* projectId: local.project_id,
* metro: "sv",
* vxlan: 5,
* });
* const dsvlan = equinix.metal.getVlanOutput({
* vlanId: foovlan.id,
* });
* ```
*
* Fetch a vlan by project ID, vxlan and metro
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as equinix from "@equinix-labs/pulumi-equinix";
*
* const dsvlan = equinix.metal.getVlan({
* projectId: local.project_id,
* vxlan: 5,
* metro: "sv",
* });
* ```
*/
export declare function getVlan(args?: GetVlanArgs, opts?: pulumi.InvokeOptions): Promise<GetVlanResult>;
/**
* A collection of arguments for invoking getVlan.
*/
export interface GetVlanArgs {
/**
* Facility where the VLAN is deployed. Deprecated, see https://feedback.equinixmetal.com/changelog/bye-facilities-hello-again-metros
*
* @deprecated Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices
*/
facility?: string;
/**
* Metro where the VLAN is deployed.
*
* > **NOTE:** You must set either `vlanId` or a combination of `vxlan`, `projectId`, and, `metro` or `facility`.
*/
metro?: string;
/**
* UUID of parent project of the VLAN. Use together with the vxlan number and metro or facility.
*/
projectId?: string;
/**
* Metal UUID of the VLAN resource to look up.
*/
vlanId?: string;
/**
* vxlan number of the VLAN to look up. Use together with the projectId and metro or facility.
*/
vxlan?: number;
}
/**
* A collection of values returned by getVlan.
*/
export interface GetVlanResult {
/**
* List of device ID to which this VLAN is assigned.
*/
readonly assignedDevicesIds: string[];
/**
* Description text of the VLAN resource.
*/
readonly description: string;
/**
* @deprecated Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices
*/
readonly facility: string;
readonly id: string;
readonly metro: string;
readonly projectId: string;
readonly vlanId: string;
readonly vxlan: number;
}
/**
* Provides an Equinix Metal Virtual Network datasource. VLANs data sources can be searched by VLAN UUID, or project UUID and vxlan number.
*
* ## Example Usage
*
* Fetch a vlan by ID:
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as equinix from "@equinix-labs/pulumi-equinix";
*
* const foovlan = new equinix.metal.Vlan("foovlan", {
* projectId: local.project_id,
* metro: "sv",
* vxlan: 5,
* });
* const dsvlan = equinix.metal.getVlanOutput({
* vlanId: foovlan.id,
* });
* ```
*
* Fetch a vlan by project ID, vxlan and metro
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as equinix from "@equinix-labs/pulumi-equinix";
*
* const dsvlan = equinix.metal.getVlan({
* projectId: local.project_id,
* vxlan: 5,
* metro: "sv",
* });
* ```
*/
export declare function getVlanOutput(args?: GetVlanOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVlanResult>;
/**
* A collection of arguments for invoking getVlan.
*/
export interface GetVlanOutputArgs {
/**
* Facility where the VLAN is deployed. Deprecated, see https://feedback.equinixmetal.com/changelog/bye-facilities-hello-again-metros
*
* @deprecated Use metro instead of facility. For more information, read the migration guide: https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices
*/
facility?: pulumi.Input<string>;
/**
* Metro where the VLAN is deployed.
*
* > **NOTE:** You must set either `vlanId` or a combination of `vxlan`, `projectId`, and, `metro` or `facility`.
*/
metro?: pulumi.Input<string>;
/**
* UUID of parent project of the VLAN. Use together with the vxlan number and metro or facility.
*/
projectId?: pulumi.Input<string>;
/**
* Metal UUID of the VLAN resource to look up.
*/
vlanId?: pulumi.Input<string>;
/**
* vxlan number of the VLAN to look up. Use together with the projectId and metro or facility.
*/
vxlan?: pulumi.Input<number>;
}