<filename>sdk/dotnet/GetSystemSessionhelper.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;
using Pulumi;

namespace Pulumiverse.Fortios
{
    public static class GetSystemSessionhelper
    {
        /// <summary>
        /// Use this data source to get information on an fortios system sessionhelper
        /// </summary>
        public static Task<GetSystemSessionhelperResult> InvokeAsync(GetSystemSessionhelperArgs args, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.InvokeAsync<GetSystemSessionhelperResult>("fortios:index/getSystemSessionhelper:getSystemSessionhelper", args ?? new GetSystemSessionhelperArgs(), options.WithDefaults());

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


    public sealed class GetSystemSessionhelperArgs : global::Pulumi.InvokeArgs
    {
        /// <summary>
        /// Specify the fosid of the desired system sessionhelper.
        /// </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 GetSystemSessionhelperArgs()
        {
        }
        public static new GetSystemSessionhelperArgs Empty => new GetSystemSessionhelperArgs();
    }

    public sealed class GetSystemSessionhelperInvokeArgs : global::Pulumi.InvokeArgs
    {
        /// <summary>
        /// Specify the fosid of the desired system sessionhelper.
        /// </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 GetSystemSessionhelperInvokeArgs()
        {
        }
        public static new GetSystemSessionhelperInvokeArgs Empty => new GetSystemSessionhelperInvokeArgs();
    }


    [OutputType]
    public sealed class GetSystemSessionhelperResult
    {
        /// <summary>
        /// Session helper ID.
        /// </summary>
        public readonly int Fosid;
        /// <summary>
        /// The provider-assigned unique ID for this managed resource.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Helper name.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Protocol port.
        /// </summary>
        public readonly int Port;
        /// <summary>
        /// Protocol number.
        /// </summary>
        public readonly int Protocol;
        public readonly string? Vdomparam;

        [OutputConstructor]
        private GetSystemSessionhelperResult(
            int fosid,

            string id,

            string name,

            int port,

            int protocol,

            string? vdomparam)
        {
            Fosid = fosid;
            Id = id;
            Name = name;
            Port = port;
            Protocol = protocol;
            Vdomparam = vdomparam;
        }
    }
}
