// *** 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 GetSystemProberesponse
    {
        /// <summary>
        /// Use this data source to get information on fortios system proberesponse
        /// </summary>
        public static Task<GetSystemProberesponseResult> InvokeAsync(GetSystemProberesponseArgs? args = null, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.InvokeAsync<GetSystemProberesponseResult>("fortios:index/getSystemProberesponse:getSystemProberesponse", args ?? new GetSystemProberesponseArgs(), options.WithDefaults());

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


    public sealed class GetSystemProberesponseArgs : global::Pulumi.InvokeArgs
    {
        /// <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 GetSystemProberesponseArgs()
        {
        }
        public static new GetSystemProberesponseArgs Empty => new GetSystemProberesponseArgs();
    }

    public sealed class GetSystemProberesponseInvokeArgs : global::Pulumi.InvokeArgs
    {
        /// <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 GetSystemProberesponseInvokeArgs()
        {
        }
        public static new GetSystemProberesponseInvokeArgs Empty => new GetSystemProberesponseInvokeArgs();
    }


    [OutputType]
    public sealed class GetSystemProberesponseResult
    {
        /// <summary>
        /// Value to respond to the monitoring server.
        /// </summary>
        public readonly string HttpProbeValue;
        /// <summary>
        /// The provider-assigned unique ID for this managed resource.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// SLA response mode.
        /// </summary>
        public readonly string Mode;
        /// <summary>
        /// Twamp respondor password in authentication mode
        /// </summary>
        public readonly string Password;
        /// <summary>
        /// Port number to response.
        /// </summary>
        public readonly int Port;
        /// <summary>
        /// Twamp respondor security mode.
        /// </summary>
        public readonly string SecurityMode;
        /// <summary>
        /// An inactivity timer for a twamp test session.
        /// </summary>
        public readonly int Timeout;
        /// <summary>
        /// Mode for TWAMP packet TTL modification.
        /// </summary>
        public readonly string TtlMode;
        public readonly string? Vdomparam;

        [OutputConstructor]
        private GetSystemProberesponseResult(
            string httpProbeValue,

            string id,

            string mode,

            string password,

            int port,

            string securityMode,

            int timeout,

            string ttlMode,

            string? vdomparam)
        {
            HttpProbeValue = httpProbeValue;
            Id = id;
            Mode = mode;
            Password = password;
            Port = port;
            SecurityMode = securityMode;
            Timeout = timeout;
            TtlMode = ttlMode;
            Vdomparam = vdomparam;
        }
    }
}
