// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.Vpn.Outputs
{

    [OutputType]
    public sealed class GetConnectionsConnectionResult
    {
        public readonly string CreateTime;
        /// <summary>
        /// Use the VPN customer gateway ID as the search key.
        /// </summary>
        public readonly string CustomerGatewayId;
        public readonly bool EffectImmediately;
        /// <summary>
        /// Specifies whether to enable the dead peer detection (DPD) feature.
        /// </summary>
        public readonly bool EnableDpd;
        /// <summary>
        /// Specifies whether to enable NAT traversal.
        /// </summary>
        public readonly bool EnableNatTraversal;
        /// <summary>
        /// ID of the VPN connection.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The configurations of phase-one negotiation.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetConnectionsConnectionIkeConfigResult> IkeConfigs;
        /// <summary>
        /// The configurations of phase-two negotiation.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetConnectionsConnectionIpsecConfigResult> IpsecConfigs;
        /// <summary>
        /// The local subnet of the VPN connection.
        /// </summary>
        public readonly string LocalSubnet;
        /// <summary>
        /// The name of the VPN connection.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// The remote subnet of the VPN connection.
        /// </summary>
        public readonly string RemoteSubnet;
        /// <summary>
        /// The negotiation status of the BGP routing protocol. Valid values: `success`, `false`.
        /// </summary>
        public readonly string Status;
        public readonly ImmutableArray<Outputs.GetConnectionsConnectionVcoHealthCheckResult> VcoHealthChecks;
        /// <summary>
        /// The configuration information for BGP.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetConnectionsConnectionVpnBgpConfigResult> VpnBgpConfigs;
        /// <summary>
        /// Use the VPN gateway ID as the search key.
        /// </summary>
        public readonly string VpnGatewayId;

        [OutputConstructor]
        private GetConnectionsConnectionResult(
            string createTime,

            string customerGatewayId,

            bool effectImmediately,

            bool enableDpd,

            bool enableNatTraversal,

            string id,

            ImmutableArray<Outputs.GetConnectionsConnectionIkeConfigResult> ikeConfigs,

            ImmutableArray<Outputs.GetConnectionsConnectionIpsecConfigResult> ipsecConfigs,

            string localSubnet,

            string name,

            string remoteSubnet,

            string status,

            ImmutableArray<Outputs.GetConnectionsConnectionVcoHealthCheckResult> vcoHealthChecks,

            ImmutableArray<Outputs.GetConnectionsConnectionVpnBgpConfigResult> vpnBgpConfigs,

            string vpnGatewayId)
        {
            CreateTime = createTime;
            CustomerGatewayId = customerGatewayId;
            EffectImmediately = effectImmediately;
            EnableDpd = enableDpd;
            EnableNatTraversal = enableNatTraversal;
            Id = id;
            IkeConfigs = ikeConfigs;
            IpsecConfigs = ipsecConfigs;
            LocalSubnet = localSubnet;
            Name = name;
            RemoteSubnet = remoteSubnet;
            Status = status;
            VcoHealthChecks = vcoHealthChecks;
            VpnBgpConfigs = vpnBgpConfigs;
            VpnGatewayId = vpnGatewayId;
        }
    }
}
