<filename>sdk/dotnet/GetFirewallserviceGroup.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 GetFirewallserviceGroup
    {
        /// <summary>
        /// Use this data source to get information on an fortios firewallservice group
        /// </summary>
        public static Task<GetFirewallserviceGroupResult> InvokeAsync(GetFirewallserviceGroupArgs args, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.InvokeAsync<GetFirewallserviceGroupResult>("fortios:index/getFirewallserviceGroup:getFirewallserviceGroup", args ?? new GetFirewallserviceGroupArgs(), options.WithDefaults());

        /// <summary>
        /// Use this data source to get information on an fortios firewallservice group
        /// </summary>
        public static Output<GetFirewallserviceGroupResult> Invoke(GetFirewallserviceGroupInvokeArgs args, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.Invoke<GetFirewallserviceGroupResult>("fortios:index/getFirewallserviceGroup:getFirewallserviceGroup", args ?? new GetFirewallserviceGroupInvokeArgs(), options.WithDefaults());
    }


    public sealed class GetFirewallserviceGroupArgs : global::Pulumi.InvokeArgs
    {
        /// <summary>
        /// Specify the name of the desired firewallservice group.
        /// </summary>
        [Input("name", required: true)]
        public string Name { 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 string? Vdomparam { get; set; }

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

    public sealed class GetFirewallserviceGroupInvokeArgs : global::Pulumi.InvokeArgs
    {
        /// <summary>
        /// Specify the name of the desired firewallservice group.
        /// </summary>
        [Input("name", required: true)]
        public Input<string> Name { 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 GetFirewallserviceGroupInvokeArgs()
        {
        }
        public static new GetFirewallserviceGroupInvokeArgs Empty => new GetFirewallserviceGroupInvokeArgs();
    }


    [OutputType]
    public sealed class GetFirewallserviceGroupResult
    {
        /// <summary>
        /// Color of icon on the GUI.
        /// </summary>
        public readonly int Color;
        /// <summary>
        /// Comment.
        /// </summary>
        public readonly string Comment;
        /// <summary>
        /// Security Fabric global object setting.
        /// </summary>
        public readonly string FabricObject;
        /// <summary>
        /// The provider-assigned unique ID for this managed resource.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Service objects contained within the group. The structure of `member` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetFirewallserviceGroupMemberResult> Members;
        /// <summary>
        /// Address name.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Enable/disable web proxy service group.
        /// </summary>
        public readonly string Proxy;
        public readonly string? Vdomparam;

        [OutputConstructor]
        private GetFirewallserviceGroupResult(
            int color,

            string comment,

            string fabricObject,

            string id,

            ImmutableArray<Outputs.GetFirewallserviceGroupMemberResult> members,

            string name,

            string proxy,

            string? vdomparam)
        {
            Color = color;
            Comment = comment;
            FabricObject = fabricObject;
            Id = id;
            Members = members;
            Name = name;
            Proxy = proxy;
            Vdomparam = vdomparam;
        }
    }
}
