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

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


    public sealed class GetSystemSessionttlArgs : 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 GetSystemSessionttlArgs()
        {
        }
        public static new GetSystemSessionttlArgs Empty => new GetSystemSessionttlArgs();
    }

    public sealed class GetSystemSessionttlInvokeArgs : 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 GetSystemSessionttlInvokeArgs()
        {
        }
        public static new GetSystemSessionttlInvokeArgs Empty => new GetSystemSessionttlInvokeArgs();
    }


    [OutputType]
    public sealed class GetSystemSessionttlResult
    {
        /// <summary>
        /// Default timeout.
        /// </summary>
        public readonly string Default;
        /// <summary>
        /// The provider-assigned unique ID for this managed resource.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Session TTL port. The structure of `port` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetSystemSessionttlPortResult> Ports;
        public readonly string? Vdomparam;

        [OutputConstructor]
        private GetSystemSessionttlResult(
            string @default,

            string id,

            ImmutableArray<Outputs.GetSystemSessionttlPortResult> ports,

            string? vdomparam)
        {
            Default = @default;
            Id = id;
            Ports = ports;
            Vdomparam = vdomparam;
        }
    }
}
