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>;
}
