<reponame>Dwonczykj/gember_deploy// *** 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;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Vpn.Outputs
{

    [OutputType]
    public sealed class GetConnectionsConnectionListResult
    {
        /// <summary>
        /// Create time of the VPN connection.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// Customer gateway ID of the VPN connection.
        /// </summary>
        public readonly string CustomerGatewayId;
        /// <summary>
        /// Encrypt proto of the VPN connection.
        /// </summary>
        public readonly string EncryptProto;
        /// <summary>
        /// ID of the VPN connection.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// DH group name of the IKE operation specification.
        /// </summary>
        public readonly string IkeDhGroupName;
        /// <summary>
        /// Exchange mode of the IKE operation specification.
        /// </summary>
        public readonly string IkeExchangeMode;
        /// <summary>
        /// Local address of the IKE operation specification.
        /// </summary>
        public readonly string IkeLocalAddress;
        /// <summary>
        /// Local FQDN name of the IKE operation specification.
        /// </summary>
        public readonly string IkeLocalFqdnName;
        /// <summary>
        /// Local identity of the IKE operation specification.
        /// </summary>
        public readonly string IkeLocalIdentity;
        /// <summary>
        /// Proto authenticate algorithm of the IKE operation specification.
        /// </summary>
        public readonly string IkeProtoAuthenAlgorithm;
        /// <summary>
        /// Proto encrypt algorithm of the IKE operation specification.
        /// </summary>
        public readonly string IkeProtoEncryAlgorithm;
        /// <summary>
        /// Remote address of the IKE operation specification.
        /// </summary>
        public readonly string IkeRemoteAddress;
        /// <summary>
        /// Remote FQDN name of the IKE operation specification.
        /// </summary>
        public readonly string IkeRemoteFqdnName;
        /// <summary>
        /// Remote identity of the IKE operation specification.
        /// </summary>
        public readonly string IkeRemoteIdentity;
        /// <summary>
        /// SA lifetime of the IKE operation specification, unit is `second`.
        /// </summary>
        public readonly int IkeSaLifetimeSeconds;
        /// <summary>
        /// Version of the IKE operation specification.
        /// </summary>
        public readonly string IkeVersion;
        /// <summary>
        /// Encrypt algorithm of the IPSEC operation specification.
        /// </summary>
        public readonly string IpsecEncryptAlgorithm;
        /// <summary>
        /// Integrity algorithm of the IPSEC operation specification.
        /// </summary>
        public readonly string IpsecIntegrityAlgorithm;
        /// <summary>
        /// PFS DH group name of the IPSEC operation specification.
        /// </summary>
        public readonly string IpsecPfsDhGroup;
        /// <summary>
        /// SA lifetime of the IPSEC operation specification, unit is `second`.
        /// </summary>
        public readonly int IpsecSaLifetimeSeconds;
        /// <summary>
        /// SA lifetime traffic of the IPSEC operation specification, unit is `KB`.
        /// </summary>
        public readonly int IpsecSaLifetimeTraffic;
        /// <summary>
        /// Name of the VPN connection. The length of character is limited to 1-60.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Net status of the VPN connection.
        /// </summary>
        public readonly string NetStatus;
        /// <summary>
        /// Pre-shared key of the VPN connection.
        /// </summary>
        public readonly string PreShareKey;
        /// <summary>
        /// Route type of the VPN connection.
        /// </summary>
        public readonly string RouteType;
        /// <summary>
        /// Security group policy of the VPN connection.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetConnectionsConnectionListSecurityGroupPolicyResult> SecurityGroupPolicies;
        /// <summary>
        /// State of the VPN connection.
        /// </summary>
        public readonly string State;
        /// <summary>
        /// Tags of the VPN connection to be queried.
        /// </summary>
        public readonly ImmutableDictionary<string, object> Tags;
        /// <summary>
        /// ID of the VPC.
        /// </summary>
        public readonly string VpcId;
        /// <summary>
        /// VPN gateway ID of the VPN connection.
        /// </summary>
        public readonly string VpnGatewayId;
        /// <summary>
        /// Vpn proto of the VPN connection.
        /// </summary>
        public readonly string VpnProto;

        [OutputConstructor]
        private GetConnectionsConnectionListResult(
            string createTime,

            string customerGatewayId,

            string encryptProto,

            string id,

            string ikeDhGroupName,

            string ikeExchangeMode,

            string ikeLocalAddress,

            string ikeLocalFqdnName,

            string ikeLocalIdentity,

            string ikeProtoAuthenAlgorithm,

            string ikeProtoEncryAlgorithm,

            string ikeRemoteAddress,

            string ikeRemoteFqdnName,

            string ikeRemoteIdentity,

            int ikeSaLifetimeSeconds,

            string ikeVersion,

            string ipsecEncryptAlgorithm,

            string ipsecIntegrityAlgorithm,

            string ipsecPfsDhGroup,

            int ipsecSaLifetimeSeconds,

            int ipsecSaLifetimeTraffic,

            string name,

            string netStatus,

            string preShareKey,

            string routeType,

            ImmutableArray<Outputs.GetConnectionsConnectionListSecurityGroupPolicyResult> securityGroupPolicies,

            string state,

            ImmutableDictionary<string, object> tags,

            string vpcId,

            string vpnGatewayId,

            string vpnProto)
        {
            CreateTime = createTime;
            CustomerGatewayId = customerGatewayId;
            EncryptProto = encryptProto;
            Id = id;
            IkeDhGroupName = ikeDhGroupName;
            IkeExchangeMode = ikeExchangeMode;
            IkeLocalAddress = ikeLocalAddress;
            IkeLocalFqdnName = ikeLocalFqdnName;
            IkeLocalIdentity = ikeLocalIdentity;
            IkeProtoAuthenAlgorithm = ikeProtoAuthenAlgorithm;
            IkeProtoEncryAlgorithm = ikeProtoEncryAlgorithm;
            IkeRemoteAddress = ikeRemoteAddress;
            IkeRemoteFqdnName = ikeRemoteFqdnName;
            IkeRemoteIdentity = ikeRemoteIdentity;
            IkeSaLifetimeSeconds = ikeSaLifetimeSeconds;
            IkeVersion = ikeVersion;
            IpsecEncryptAlgorithm = ipsecEncryptAlgorithm;
            IpsecIntegrityAlgorithm = ipsecIntegrityAlgorithm;
            IpsecPfsDhGroup = ipsecPfsDhGroup;
            IpsecSaLifetimeSeconds = ipsecSaLifetimeSeconds;
            IpsecSaLifetimeTraffic = ipsecSaLifetimeTraffic;
            Name = name;
            NetStatus = netStatus;
            PreShareKey = preShareKey;
            RouteType = routeType;
            SecurityGroupPolicies = securityGroupPolicies;
            State = state;
            Tags = tags;
            VpcId = vpcId;
            VpnGatewayId = vpnGatewayId;
            VpnProto = vpnProto;
        }
    }
}
