// *** 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 GetRouterAccesslist6
    {
        /// <summary>
        /// Use this data source to get information on an fortios router accesslist6
        /// </summary>
        public static Task<GetRouterAccesslist6Result> InvokeAsync(GetRouterAccesslist6Args args, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.InvokeAsync<GetRouterAccesslist6Result>("fortios:index/getRouterAccesslist6:getRouterAccesslist6", args ?? new GetRouterAccesslist6Args(), options.WithDefaults());

        /// <summary>
        /// Use this data source to get information on an fortios router accesslist6
        /// </summary>
        public static Output<GetRouterAccesslist6Result> Invoke(GetRouterAccesslist6InvokeArgs args, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.Invoke<GetRouterAccesslist6Result>("fortios:index/getRouterAccesslist6:getRouterAccesslist6", args ?? new GetRouterAccesslist6InvokeArgs(), options.WithDefaults());
    }


    public sealed class GetRouterAccesslist6Args : global::Pulumi.InvokeArgs
    {
        /// <summary>
        /// Specify the name of the desired router accesslist6.
        /// </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 GetRouterAccesslist6Args()
        {
        }
        public static new GetRouterAccesslist6Args Empty => new GetRouterAccesslist6Args();
    }

    public sealed class GetRouterAccesslist6InvokeArgs : global::Pulumi.InvokeArgs
    {
        /// <summary>
        /// Specify the name of the desired router accesslist6.
        /// </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 GetRouterAccesslist6InvokeArgs()
        {
        }
        public static new GetRouterAccesslist6InvokeArgs Empty => new GetRouterAccesslist6InvokeArgs();
    }


    [OutputType]
    public sealed class GetRouterAccesslist6Result
    {
        /// <summary>
        /// Comment.
        /// </summary>
        public readonly string Comments;
        /// <summary>
        /// The provider-assigned unique ID for this managed resource.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Name.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Rule. The structure of `rule` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetRouterAccesslist6RuleResult> Rules;
        public readonly string? Vdomparam;

        [OutputConstructor]
        private GetRouterAccesslist6Result(
            string comments,

            string id,

            string name,

            ImmutableArray<Outputs.GetRouterAccesslist6RuleResult> rules,

            string? vdomparam)
        {
            Comments = comments;
            Id = id;
            Name = name;
            Rules = rules;
            Vdomparam = vdomparam;
        }
    }
}
