import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Data Source schema for Volcengine::VPN::VPNConnection */ export declare function getVpnConnection(args: GetVpnConnectionArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getVpnConnection. */ export interface GetVpnConnectionArgs { /** * Uniquely identifies the resource. */ id: string; } /** * A collection of values returned by getVpnConnection. */ export interface GetVpnConnectionResult { /** * ID of the account to which the IPsec connection belongs. */ readonly accountId: string; /** * IPsec connection status, VpnGateway: Attached: Bound; TransitRouter: Attached: Bound; Attaching: Binding; Detached: Unbound; Detaching: Unbinding. */ readonly attachStatus: string; /** * Type of gateway associated with the IPsec connection. VpnGateway: VPN gateway; TransitRouter: transit router. */ readonly attachType: string; /** * BGP information for the IPsec connection. */ readonly bgpInfo: outputs.vpn.GetVpnConnectionBgpInfo; /** * Billing status of the IPsec connection. This parameter is returned only when AttachType is 'TransitRouter'. Normal: Normal. FinancialLocked: Financially locked. */ readonly businessStatus: string; /** * Status of the tunnel connection. ike*sa*negotiation*failed: Phase 1 negotiation failed. ike*sa*negotiation*completed: Phase 1 negotiation succeeded. ipsec*sa*negotiation*failed: Phase 2 negotiation failed. ipsec*sa*negotiation*completed: Phase 2 negotiation succeeded. */ readonly connectStatus: string; /** * Time when the IPsec connection was created. */ readonly creationTime: string; /** * ID of the customer gateway associated with the IPsec connection. This parameter is required when creating a single-tunnel IPsec connection. If the customer gateway IP address is 0.0.0.0, NegotiateInstantly can only be set to false, IkeConfig.Version can only be set to ikev1, and IkeConfig.Mode can only be set to aggressive in IkeConfig. */ readonly customerGatewayId: string; /** * Expected resource forced reclamation time. This parameter is returned only when AttachType is 'TransitRouter', and only when the resource is frozen due to overdue payment. Otherwise, the value is empty. */ readonly deletedTime: string; /** * Description of the IPsec connection. Must start with a Chinese character, letter, or number, and can only contain Chinese characters, letters, numbers, period (.), space ( ), underscore (_), hyphen (-), equals sign (=), English comma (,), Chinese comma (,), and Chinese period (。). Length limit: 0–255 characters. If not specified, defaults to an empty string. */ readonly description: string; /** * Status of the DPD feature. none: DPD feature disabled. clear (default): DPD feature enabled; IKE SA is cleared after DPD timeout. hold: DPD feature enabled; current state is maintained after DPD timeout; the connection is re-established when new traffic is detected. restart: DPD feature enabled; reconnect immediately after DPD timeout. */ readonly dpdAction: string; /** * Enable dual tunnel feature. true: Enabled. false: Not enabled. */ readonly dualTunnelEnabled: boolean; /** * Whether to enable BGP. Valid values: false (default): No, use static routing mode. true: Yes, use BGP routing mode. */ readonly enableTunnelsBgp: boolean; /** * Health check information for the IPsec connection */ readonly healthCheckers: outputs.vpn.GetVpnConnectionHealthChecker[]; /** * Uniquely identifies the resource. */ readonly id: string; /** * IKE configuration information for the IPsec connection */ readonly ikeConfig: outputs.vpn.GetVpnConnectionIkeConfig; /** * Public IP address of the transit router. This parameter is returned only when AttachType is 'TransitRouter'. */ readonly ipAddress: string; /** * IPsec configuration information for the IPsec connection. */ readonly ipsecConfig: outputs.vpn.GetVpnConnectionIpsecConfig; /** * Whether the current resource is blocked. true: Blocked; false: Not blocked */ readonly isBlocked: boolean; /** * Local network segment of the IPsec connection. */ readonly localSubnets: string[]; /** * Enable connection logs. After connection logs are enabled, you can view and download IPsec connection logs and troubleshoot IPsec connection issues using the log information. true: Enabled. false: Not enabled. */ readonly logEnabled: boolean; /** * Enable NAT traversal. true: Enabled. When NAT traversal is enabled, IKE negotiation does not verify UDP port numbers and can detect NAT gateway devices in the VPN connection tunnel. false (default): Not enabled. */ readonly natTraversal: boolean; /** * Whether to initiate negotiation mode immediately. true: The system actively initiates negotiation after the IPsec connection is configured. false (default): The system does not actively initiate negotiation after configuration; negotiation is initiated passively when traffic passes through. */ readonly negotiateInstantly: boolean; /** * Resource freeze time. This parameter is returned only when AttachType is 'TransitRouter', and only when the resource is frozen due to overdue payment. Otherwise, this parameter is empty. */ readonly overdueTime: string; /** * Project to which the IPsec connection belongs. */ readonly projectName: string; /** * Peer CIDR block of the IPsec connection */ readonly remoteSubnets: string[]; /** * IPsec connection instance specification. Only effective for IPsec associated with TR instances; ineffective for IPsec associated with VPN gateway instances. This parameter takes effect only when AttachType is set to TransitRouter. default (default): Default specification, bandwidth limit is 200 Mbps. large: Large specification, bandwidth limit is 1 Gbps. xlarge: Extra large specification, bandwidth limit is 3 Gbps. */ readonly spec: string; /** * Status of the IPsec connection. Creating: Creating. Deleting: Deleting. Pending: Configuring. Available: Available. */ readonly status: string; /** * All tag information added to the IPsec connection. */ readonly tags: outputs.vpn.GetVpnConnectionTag[]; /** * The ID of the transit router. This parameter is returned only when AttachType is 'TransitRouter'. */ readonly transitRouterId: string; /** * Tunnel configuration information for the IPsec connection. */ readonly tunnelOptions: outputs.vpn.GetVpnConnectionTunnelOption[]; /** * The time when the IPsec connection was updated. */ readonly updateTime: string; /** * ID of the IPsec connection */ readonly vpnConnectionId: string; /** * Name of the IPsec connection. Must start with a Chinese character, English letter, or number, and can only contain Chinese characters, English letters, numbers, dot (.), underscore (_), and hyphen (-). Length must be between 1 and 128 characters. If not specified, defaults to the IPsec connection ID. */ readonly vpnConnectionName: string; /** * The ID of the VPN gateway associated with the IPsec connection. If AttachType is not specified or set to VpnGateway, this parameter must be provided. If AttachType is set to TransitRouter, this parameter is not required. */ readonly vpnGatewayId: string; /** * Availability zone of the transit router attachment point. This parameter is returned only when AttachType is 'TransitRouter'. */ readonly zoneId: string; } /** * Data Source schema for Volcengine::VPN::VPNConnection */ export declare function getVpnConnectionOutput(args: GetVpnConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getVpnConnection. */ export interface GetVpnConnectionOutputArgs { /** * Uniquely identifies the resource. */ id: pulumi.Input; }