UNPKG

@equinix-labs/pulumi-equinix

Version:

A Pulumi package for creating and managing equinix cloud resources.

152 lines (151 loc) 4.9 kB
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>; }