<reponame>pulumiverse/pulumi-fortios// *** 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 Pulumiverse.Fortios
{
    public static class GetSystemProxyarp
    {
        /// <summary>
        /// Use this data source to get information on an fortios system proxyarp
        /// </summary>
        public static Task<GetSystemProxyarpResult> InvokeAsync(GetSystemProxyarpArgs args, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.InvokeAsync<GetSystemProxyarpResult>("fortios:index/getSystemProxyarp:getSystemProxyarp", args ?? new GetSystemProxyarpArgs(), options.WithDefaults());

        /// <summary>
        /// Use this data source to get information on an fortios system proxyarp
        /// </summary>
        public static Output<GetSystemProxyarpResult> Invoke(GetSystemProxyarpInvokeArgs args, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.Invoke<GetSystemProxyarpResult>("fortios:index/getSystemProxyarp:getSystemProxyarp", args ?? new GetSystemProxyarpInvokeArgs(), options.WithDefaults());
    }


    public sealed class GetSystemProxyarpArgs : global::Pulumi.InvokeArgs
    {
        /// <summary>
        /// Specify the fosid of the desired system proxyarp.
        /// </summary>
        [Input("fosid", required: true)]
        public int Fosid { get; set; }

        /// <summary>
        /// Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
        /// </summary>
        [Input("vdomparam")]
        public string? Vdomparam { get; set; }

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

    public sealed class GetSystemProxyarpInvokeArgs : global::Pulumi.InvokeArgs
    {
        /// <summary>
        /// Specify the fosid of the desired system proxyarp.
        /// </summary>
        [Input("fosid", required: true)]
        public Input<int> Fosid { get; set; } = null!;

        /// <summary>
        /// Specifies the vdom to which the data source will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
        /// </summary>
        [Input("vdomparam")]
        public Input<string>? Vdomparam { get; set; }

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


    [OutputType]
    public sealed class GetSystemProxyarpResult
    {
        /// <summary>
        /// End IP of IP range to be proxied.
        /// </summary>
        public readonly string EndIp;
        /// <summary>
        /// Unique integer ID of the entry.
        /// </summary>
        public readonly int Fosid;
        /// <summary>
        /// The provider-assigned unique ID for this managed resource.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Interface acting proxy-ARP.
        /// </summary>
        public readonly string Interface;
        /// <summary>
        /// IP address or start IP to be proxied.
        /// </summary>
        public readonly string Ip;
        public readonly string? Vdomparam;

        [OutputConstructor]
        private GetSystemProxyarpResult(
            string endIp,

            int fosid,

            string id,

            string @interface,

            string ip,

            string? vdomparam)
        {
            EndIp = endIp;
            Fosid = fosid;
            Id = id;
            Interface = @interface;
            Ip = ip;
            Vdomparam = vdomparam;
        }
    }
}
