<filename>sdk/dotnet/GetNsxtEdgegatewayBgpNeighbor.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.Vcd
{
    public static class GetNsxtEdgegatewayBgpNeighbor
    {
        public static Task<GetNsxtEdgegatewayBgpNeighborResult> InvokeAsync(GetNsxtEdgegatewayBgpNeighborArgs args, InvokeOptions? options = null)
            => Pulumi.Deployment.Instance.InvokeAsync<GetNsxtEdgegatewayBgpNeighborResult>("vcd:index/getNsxtEdgegatewayBgpNeighbor:getNsxtEdgegatewayBgpNeighbor", args ?? new GetNsxtEdgegatewayBgpNeighborArgs(), options.WithDefaults());

        public static Output<GetNsxtEdgegatewayBgpNeighborResult> Invoke(GetNsxtEdgegatewayBgpNeighborInvokeArgs args, InvokeOptions? options = null)
            => Pulumi.Deployment.Instance.Invoke<GetNsxtEdgegatewayBgpNeighborResult>("vcd:index/getNsxtEdgegatewayBgpNeighbor:getNsxtEdgegatewayBgpNeighbor", args ?? new GetNsxtEdgegatewayBgpNeighborInvokeArgs(), options.WithDefaults());
    }


    public sealed class GetNsxtEdgegatewayBgpNeighborArgs : global::Pulumi.InvokeArgs
    {
        [Input("edgeGatewayId", required: true)]
        public string EdgeGatewayId { get; set; } = null!;

        [Input("ipAddress", required: true)]
        public string IpAddress { get; set; } = null!;

        [Input("org")]
        public string? Org { get; set; }

        public GetNsxtEdgegatewayBgpNeighborArgs()
        {
        }
        public static new GetNsxtEdgegatewayBgpNeighborArgs Empty => new GetNsxtEdgegatewayBgpNeighborArgs();
    }

    public sealed class GetNsxtEdgegatewayBgpNeighborInvokeArgs : global::Pulumi.InvokeArgs
    {
        [Input("edgeGatewayId", required: true)]
        public Input<string> EdgeGatewayId { get; set; } = null!;

        [Input("ipAddress", required: true)]
        public Input<string> IpAddress { get; set; } = null!;

        [Input("org")]
        public Input<string>? Org { get; set; }

        public GetNsxtEdgegatewayBgpNeighborInvokeArgs()
        {
        }
        public static new GetNsxtEdgegatewayBgpNeighborInvokeArgs Empty => new GetNsxtEdgegatewayBgpNeighborInvokeArgs();
    }


    [OutputType]
    public sealed class GetNsxtEdgegatewayBgpNeighborResult
    {
        public readonly bool AllowAsIn;
        public readonly int BfdDeadMultiple;
        public readonly bool BfdEnabled;
        public readonly int BfdInterval;
        public readonly string EdgeGatewayId;
        public readonly string GracefulRestartMode;
        public readonly int HoldDownTimer;
        /// <summary>
        /// The provider-assigned unique ID for this managed resource.
        /// </summary>
        public readonly string Id;
        public readonly string InFilterIpPrefixListId;
        public readonly string IpAddress;
        public readonly int KeepAliveTimer;
        public readonly string? Org;
        public readonly string OutFilterIpPrefixListId;
        public readonly string Password;
        public readonly string RemoteAsNumber;
        public readonly string RouteFiltering;

        [OutputConstructor]
        private GetNsxtEdgegatewayBgpNeighborResult(
            bool allowAsIn,

            int bfdDeadMultiple,

            bool bfdEnabled,

            int bfdInterval,

            string edgeGatewayId,

            string gracefulRestartMode,

            int holdDownTimer,

            string id,

            string inFilterIpPrefixListId,

            string ipAddress,

            int keepAliveTimer,

            string? org,

            string outFilterIpPrefixListId,

            string password,

            string remoteAsNumber,

            string routeFiltering)
        {
            AllowAsIn = allowAsIn;
            BfdDeadMultiple = bfdDeadMultiple;
            BfdEnabled = bfdEnabled;
            BfdInterval = bfdInterval;
            EdgeGatewayId = edgeGatewayId;
            GracefulRestartMode = gracefulRestartMode;
            HoldDownTimer = holdDownTimer;
            Id = id;
            InFilterIpPrefixListId = inFilterIpPrefixListId;
            IpAddress = ipAddress;
            KeepAliveTimer = keepAliveTimer;
            Org = org;
            OutFilterIpPrefixListId = outFilterIpPrefixListId;
            Password = password;
            RemoteAsNumber = remoteAsNumber;
            RouteFiltering = routeFiltering;
        }
    }
}
