<reponame>rhysmdnz/pulumi-alicloud-rhys-hacks<filename>sdk/dotnet/Vpn/Outputs/GetGatewayVpnAttachmentsAttachmentResult.cs// *** 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 GetGatewayVpnAttachmentsAttachmentResult
    {
        /// <summary>
        /// The configurations of the BGP routing protocol.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetGatewayVpnAttachmentsAttachmentBgpConfigResult> BgpConfigs;
        /// <summary>
        /// The status of the IPsec-VPN connection.
        /// </summary>
        public readonly string ConnectionStatus;
        /// <summary>
        /// The creation time of the resource.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// The ID of the customer gateway.
        /// </summary>
        public readonly string CustomerGatewayId;
        /// <summary>
        /// Indicates whether IPsec-VPN negotiations are initiated immediately. Valid values.
        /// </summary>
        public readonly bool EffectImmediately;
        /// <summary>
        /// The health check configurations.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetGatewayVpnAttachmentsAttachmentHealthCheckConfigResult> HealthCheckConfigs;
        /// <summary>
        /// The ID of the Vpn Attachment.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Configuration negotiated in the second stage.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetGatewayVpnAttachmentsAttachmentIkeConfigResult> IkeConfigs;
        /// <summary>
        /// The internet ip of the resource. The alicloud_cen_transit_router_vpn_attachment resource will not have a value until after it is created.
        /// </summary>
        public readonly string InternetIp;
        /// <summary>
        /// The configuration of Phase 2 negotiations.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetGatewayVpnAttachmentsAttachmentIpsecConfigResult> IpsecConfigs;
        /// <summary>
        /// The CIDR block of the virtual private cloud (VPC).
        /// </summary>
        public readonly string LocalSubnet;
        /// <summary>
        /// The network type.
        /// </summary>
        public readonly string NetworkType;
        /// <summary>
        /// The CIDR block of the on-premises data center.
        /// </summary>
        public readonly string RemoteSubnet;
        /// <summary>
        /// The status of the resource.
        /// </summary>
        public readonly string Status;
        /// <summary>
        /// The name of the IPsec-VPN connection.
        /// </summary>
        public readonly string VpnAttachmentName;
        /// <summary>
        /// The first ID of the resource.
        /// </summary>
        public readonly string VpnConnectionId;

        [OutputConstructor]
        private GetGatewayVpnAttachmentsAttachmentResult(
            ImmutableArray<Outputs.GetGatewayVpnAttachmentsAttachmentBgpConfigResult> bgpConfigs,

            string connectionStatus,

            string createTime,

            string customerGatewayId,

            bool effectImmediately,

            ImmutableArray<Outputs.GetGatewayVpnAttachmentsAttachmentHealthCheckConfigResult> healthCheckConfigs,

            string id,

            ImmutableArray<Outputs.GetGatewayVpnAttachmentsAttachmentIkeConfigResult> ikeConfigs,

            string internetIp,

            ImmutableArray<Outputs.GetGatewayVpnAttachmentsAttachmentIpsecConfigResult> ipsecConfigs,

            string localSubnet,

            string networkType,

            string remoteSubnet,

            string status,

            string vpnAttachmentName,

            string vpnConnectionId)
        {
            BgpConfigs = bgpConfigs;
            ConnectionStatus = connectionStatus;
            CreateTime = createTime;
            CustomerGatewayId = customerGatewayId;
            EffectImmediately = effectImmediately;
            HealthCheckConfigs = healthCheckConfigs;
            Id = id;
            IkeConfigs = ikeConfigs;
            InternetIp = internetIp;
            IpsecConfigs = ipsecConfigs;
            LocalSubnet = localSubnet;
            NetworkType = networkType;
            RemoteSubnet = remoteSubnet;
            Status = status;
            VpnAttachmentName = vpnAttachmentName;
            VpnConnectionId = vpnConnectionId;
        }
    }
}
