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

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


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

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


    [OutputType]
    public sealed class GetSystemManagementtunnelResult
    {
        /// <summary>
        /// Enable/disable collection of run time statistics.
        /// </summary>
        public readonly string AllowCollectStatistics;
        /// <summary>
        /// Enable/disable allow config restore.
        /// </summary>
        public readonly string AllowConfigRestore;
        /// <summary>
        /// Enable/disable push configuration.
        /// </summary>
        public readonly string AllowPushConfiguration;
        /// <summary>
        /// Enable/disable push firmware.
        /// </summary>
        public readonly string AllowPushFirmware;
        /// <summary>
        /// Enable/disable restriction of authorized manager only.
        /// </summary>
        public readonly string AuthorizedManagerOnly;
        /// <summary>
        /// The provider-assigned unique ID for this managed resource.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Serial number.
        /// </summary>
        public readonly string SerialNumber;
        /// <summary>
        /// Enable/disable FGFM tunnel.
        /// </summary>
        public readonly string Status;
        public readonly string? Vdomparam;

        [OutputConstructor]
        private GetSystemManagementtunnelResult(
            string allowCollectStatistics,

            string allowConfigRestore,

            string allowPushConfiguration,

            string allowPushFirmware,

            string authorizedManagerOnly,

            string id,

            string serialNumber,

            string status,

            string? vdomparam)
        {
            AllowCollectStatistics = allowCollectStatistics;
            AllowConfigRestore = allowConfigRestore;
            AllowPushConfiguration = allowPushConfiguration;
            AllowPushFirmware = allowPushFirmware;
            AuthorizedManagerOnly = authorizedManagerOnly;
            Id = id;
            SerialNumber = serialNumber;
            Status = status;
            Vdomparam = vdomparam;
        }
    }
}
