import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Ip Sec Connection Tunnel resource in Oracle Cloud Infrastructure Core service.
 *
 * Gets the specified IPSec connection's specified tunnel basic information.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testIpSecConnectionTunnel = oci.core.getIpsecConnectionTunnel({
 *     ipsecId: testIpsec.id,
 *     tunnelId: testIpSecConnectionTunnels.ipSecConnectionTunnels[0].id,
 * });
 * ```
 */
export declare function getIpsecConnectionTunnel(args: GetIpsecConnectionTunnelArgs, opts?: pulumi.InvokeOptions): Promise<GetIpsecConnectionTunnelResult>;
/**
 * A collection of arguments for invoking getIpsecConnectionTunnel.
 */
export interface GetIpsecConnectionTunnelArgs {
    /**
     * The OCID of the IPSec connection.
     */
    ipsecId: string;
    /**
     * The OCID of the IPSec connection's tunnel.
     */
    tunnelId: string;
}
/**
 * A collection of values returned by getIpsecConnectionTunnel.
 */
export interface GetIpsecConnectionTunnelResult {
    readonly associatedVirtualCircuits: string[];
    /**
     * Information needed to establish a BGP Session on an interface.
     */
    readonly bgpSessionInfos: outputs.Core.GetIpsecConnectionTunnelBgpSessionInfo[];
    /**
     * The OCID of the compartment containing the tunnel.
     */
    readonly compartmentId: string;
    /**
     * The IP address of Cpe headend.  Example: `129.146.17.50`
     */
    readonly cpeIp: string;
    /**
     * A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
     */
    readonly displayName: string;
    readonly dpdConfigs: outputs.Core.GetIpsecConnectionTunnelDpdConfig[];
    /**
     * Dead peer detection (DPD) mode set on the Oracle side of the connection.
     */
    readonly dpdMode: string;
    /**
     * DPD timeout in seconds.
     */
    readonly dpdTimeoutInSec: number;
    /**
     * Configuration information used by the encryption domain policy.
     */
    readonly encryptionDomainConfigs: outputs.Core.GetIpsecConnectionTunnelEncryptionDomainConfig[];
    /**
     * The tunnel's Oracle ID (OCID).
     */
    readonly id: string;
    /**
     * Internet Key Exchange protocol version.
     */
    readonly ikeVersion: string;
    readonly ipsecId: string;
    /**
     * By default (the `AUTO` setting), IKE sends packets with a source and destination port set to 500, and when it detects that the port used to forward packets has changed (most likely because a NAT device is between the CPE device and the Oracle VPN headend) it will try to negotiate the use of NAT-T.
     */
    readonly natTranslationEnabled: string;
    /**
     * Indicates whether Oracle can only respond to a request to start an IPSec tunnel from the CPE device, or both respond to and initiate requests.
     */
    readonly oracleCanInitiate: string;
    /**
     * IPSec tunnel details specific to ISAKMP phase one.
     */
    readonly phaseOneDetails: outputs.Core.GetIpsecConnectionTunnelPhaseOneDetail[];
    /**
     * IPsec tunnel detail information specific to phase two.
     */
    readonly phaseTwoDetails: outputs.Core.GetIpsecConnectionTunnelPhaseTwoDetail[];
    /**
     * the routing strategy used for this tunnel, either static route or BGP dynamic routing
     */
    readonly routing: string;
    readonly sharedSecret: string;
    /**
     * The IPSec connection's tunnel's lifecycle state.
     */
    readonly state: string;
    /**
     * The tunnel's current state.
     */
    readonly status: string;
    /**
     * The date and time the IPSec connection tunnel was created, in the format defined by RFC3339.  Example: `2016-08-25T21:10:29.600Z`
     */
    readonly timeCreated: string;
    /**
     * When the status of the tunnel last changed, in the format defined by RFC3339.  Example: `2016-08-25T21:10:29.600Z`
     */
    readonly timeStatusUpdated: string;
    readonly tunnelId: string;
    /**
     * The IP address of Oracle's VPN headend.  Example: `129.146.17.50`
     */
    readonly vpnIp: string;
}
/**
 * This data source provides details about a specific Ip Sec Connection Tunnel resource in Oracle Cloud Infrastructure Core service.
 *
 * Gets the specified IPSec connection's specified tunnel basic information.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testIpSecConnectionTunnel = oci.core.getIpsecConnectionTunnel({
 *     ipsecId: testIpsec.id,
 *     tunnelId: testIpSecConnectionTunnels.ipSecConnectionTunnels[0].id,
 * });
 * ```
 */
export declare function getIpsecConnectionTunnelOutput(args: GetIpsecConnectionTunnelOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetIpsecConnectionTunnelResult>;
/**
 * A collection of arguments for invoking getIpsecConnectionTunnel.
 */
export interface GetIpsecConnectionTunnelOutputArgs {
    /**
     * The OCID of the IPSec connection.
     */
    ipsecId: pulumi.Input<string>;
    /**
     * The OCID of the IPSec connection's tunnel.
     */
    tunnelId: pulumi.Input<string>;
}
//# sourceMappingURL=getIpsecConnectionTunnel.d.ts.map