import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * For further information refer to the Site-to-Site VPN [API documentation](https://www.scaleway.com/en/developers/api/site-to-site-vpn/).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Get info by connection ID
 * const myConnection = scaleway.s2svpn.getConnection({
 *     connectionId: "11111111-1111-1111-1111-111111111111",
 * });
 * ```
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Get info by name
 * const myConnection = scaleway.s2svpn.getConnection({
 *     name: "foobar",
 * });
 * ```
 */
export declare function getConnection(args?: GetConnectionArgs, opts?: pulumi.InvokeOptions): Promise<GetConnectionResult>;
/**
 * A collection of arguments for invoking getConnection.
 */
export interface GetConnectionArgs {
    /**
     * The connection ID.
     *
     * > **Note** You must specify at least one: `name` and/or `connectionId`.
     */
    connectionId?: string;
    /**
     * The name of the connection.
     */
    name?: string;
    /**
     * The ID of the project the connection is associated with.
     */
    projectId?: string;
    /**
     * `region`) The region in which the connection exists.
     */
    region?: string;
}
/**
 * A collection of values returned by getConnection.
 */
export interface GetConnectionResult {
    /**
     * The BGP IPv4 configuration.
     */
    readonly bgpConfigIpv4s: outputs.s2svpn.GetConnectionBgpConfigIpv4[];
    /**
     * The BGP IPv6 configuration.
     */
    readonly bgpConfigIpv6s: outputs.s2svpn.GetConnectionBgpConfigIpv6[];
    /**
     * The BGP IPv4 session information.
     */
    readonly bgpSessionIpv4s: outputs.s2svpn.GetConnectionBgpSessionIpv4[];
    /**
     * The BGP IPv6 session information.
     */
    readonly bgpSessionIpv6s: outputs.s2svpn.GetConnectionBgpSessionIpv6[];
    /**
     * The status of the BGP IPv4 session.
     */
    readonly bgpStatusIpv4: string;
    /**
     * The status of the BGP IPv6 session.
     */
    readonly bgpStatusIpv6: string;
    readonly connectionId?: string;
    /**
     * The date and time of creation of the connection.
     */
    readonly createdAt: string;
    /**
     * The ID of the customer gateway attached to the connection.
     */
    readonly customerGatewayId: string;
    /**
     * Whether route propagation is enabled.
     */
    readonly enableRoutePropagation: boolean;
    /**
     * The ESP ciphers configuration.
     */
    readonly espCiphers: outputs.s2svpn.GetConnectionEspCipher[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The IKEv2 ciphers configuration.
     */
    readonly ikev2Ciphers: outputs.s2svpn.GetConnectionIkev2Cipher[];
    /**
     * Who initiates the IPSec tunnel.
     */
    readonly initiationPolicy: string;
    /**
     * Whether the IPSec tunnel uses IPv6.
     */
    readonly isIpv6: boolean;
    readonly name?: string;
    /**
     * The Organization ID the connection is associated with.
     */
    readonly organizationId: string;
    readonly projectId?: string;
    readonly region?: string;
    /**
     * Whether route propagation is currently enabled.
     */
    readonly routePropagationEnabled: boolean;
    /**
     * The ID of the secret containing the pre-shared key (PSK).
     */
    readonly secretId: string;
    /**
     * The version of the secret containing the PSK.
     */
    readonly secretVersion: number;
    /**
     * The status of the connection.
     */
    readonly status: string;
    /**
     * The tags associated with the connection.
     */
    readonly tags: string[];
    /**
     * The status of the IPSec tunnel.
     */
    readonly tunnelStatus: string;
    /**
     * The date and time of the last update of the connection.
     */
    readonly updatedAt: string;
    /**
     * The ID of the VPN gateway attached to the connection.
     */
    readonly vpnGatewayId: string;
}
/**
 * For further information refer to the Site-to-Site VPN [API documentation](https://www.scaleway.com/en/developers/api/site-to-site-vpn/).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Get info by connection ID
 * const myConnection = scaleway.s2svpn.getConnection({
 *     connectionId: "11111111-1111-1111-1111-111111111111",
 * });
 * ```
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * // Get info by name
 * const myConnection = scaleway.s2svpn.getConnection({
 *     name: "foobar",
 * });
 * ```
 */
export declare function getConnectionOutput(args?: GetConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetConnectionResult>;
/**
 * A collection of arguments for invoking getConnection.
 */
export interface GetConnectionOutputArgs {
    /**
     * The connection ID.
     *
     * > **Note** You must specify at least one: `name` and/or `connectionId`.
     */
    connectionId?: pulumi.Input<string | undefined>;
    /**
     * The name of the connection.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The ID of the project the connection is associated with.
     */
    projectId?: pulumi.Input<string | undefined>;
    /**
     * `region`) The region in which the connection exists.
     */
    region?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getConnection.d.ts.map