import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Gets information about an Interlink Link.
 *
 * A link is a logical Interlink session created within a PoP, representing the connection between your infrastructure and Scaleway.
 *
 * For more information, see [the Interlink documentation](https://www.scaleway.com/en/docs/network/interlink/) and [API documentation](https://www.scaleway.com/en/developers/api/interlink/).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Get link info by ID
 * const myLink = scaleway.interlink.getLink({
 *     linkId: "11111111-1111-1111-1111-111111111111",
 * });
 * ```
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Get link info by name
 * const myLink = scaleway.interlink.getLink({
 *     name: "my-link",
 * });
 * ```
 */
export declare function getLink(args?: GetLinkArgs, opts?: pulumi.InvokeOptions): Promise<GetLinkResult>;
/**
 * A collection of arguments for invoking getLink.
 */
export interface GetLinkArgs {
    /**
     * Unique identifier of the link. Conflicts with `name`.
     *
     * > **Note** You must specify at least one: `name` and/or `linkId`.
     */
    linkId?: string;
    /**
     * Name of the link. Conflicts with `linkId`.
     */
    name?: string;
    /**
     * Project ID.
     */
    projectId?: string;
    /**
     * `region`) The region in which the link exists.
     */
    region?: string;
}
/**
 * A collection of values returned by getLink.
 */
export interface GetLinkResult {
    /**
     * Rate limited bandwidth of the link.
     */
    readonly bandwidthMbps: number;
    /**
     * Status of the link's BGP IPv4 session.
     */
    readonly bgpV4Status: string;
    /**
     * Status of the link's BGP IPv6 session.
     */
    readonly bgpV6Status: string;
    /**
     * Dedicated physical connection supporting the link.
     */
    readonly connectionId: string;
    /**
     * Creation date of the link.
     */
    readonly createdAt: string;
    /**
     * Defines whether route propagation is enabled or not.
     */
    readonly enableRoutePropagation: boolean;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly linkId?: string;
    readonly name?: string;
    /**
     * Organization ID.
     */
    readonly organizationId: string;
    /**
     * Used to identify a link from a user or partner's point of view.
     */
    readonly pairingKey: string;
    /**
     * ID of the partner facilitating the link.
     */
    readonly partnerId: string;
    /**
     * For self-hosted links, the peer AS Number to establish BGP session.
     */
    readonly peerAsn: number;
    /**
     * BGP configuration on peer's side (on-premises or other hosting provider).
     */
    readonly peerBgpConfigs: outputs.interlink.GetLinkPeerBgpConfig[];
    /**
     * ID of the PoP where the link's corresponding connection is located.
     */
    readonly popId: string;
    readonly projectId?: string;
    readonly region?: string;
    /**
     * ID of the routing policy IPv4 attached to the link.
     */
    readonly routingPolicyV4Id: string;
    /**
     * ID of the routing policy IPv6 attached to the link.
     */
    readonly routingPolicyV6Id: string;
    /**
     * BGP configuration on Scaleway's side.
     */
    readonly scwBgpConfigs: outputs.interlink.GetLinkScwBgpConfig[];
    /**
     * Status of the link.
     */
    readonly status: string;
    /**
     * List of tags associated with the link.
     */
    readonly tags: string[];
    /**
     * Last modification date of the link.
     */
    readonly updatedAt: string;
    /**
     * VLAN of the link.
     */
    readonly vlan: number;
    /**
     * ID of the Scaleway VPC attached to the link.
     */
    readonly vpcId: string;
}
/**
 * Gets information about an Interlink Link.
 *
 * A link is a logical Interlink session created within a PoP, representing the connection between your infrastructure and Scaleway.
 *
 * For more information, see [the Interlink documentation](https://www.scaleway.com/en/docs/network/interlink/) and [API documentation](https://www.scaleway.com/en/developers/api/interlink/).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Get link info by ID
 * const myLink = scaleway.interlink.getLink({
 *     linkId: "11111111-1111-1111-1111-111111111111",
 * });
 * ```
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Get link info by name
 * const myLink = scaleway.interlink.getLink({
 *     name: "my-link",
 * });
 * ```
 */
export declare function getLinkOutput(args?: GetLinkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetLinkResult>;
/**
 * A collection of arguments for invoking getLink.
 */
export interface GetLinkOutputArgs {
    /**
     * Unique identifier of the link. Conflicts with `name`.
     *
     * > **Note** You must specify at least one: `name` and/or `linkId`.
     */
    linkId?: pulumi.Input<string | undefined>;
    /**
     * Name of the link. Conflicts with `linkId`.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * Project ID.
     */
    projectId?: pulumi.Input<string | undefined>;
    /**
     * `region`) The region in which the link exists.
     */
    region?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getLink.d.ts.map