// *** 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 GetFirewallscheduleRecurring
    {
        /// <summary>
        /// Use this data source to get information on an fortios firewallschedule recurring
        /// </summary>
        public static Task<GetFirewallscheduleRecurringResult> InvokeAsync(GetFirewallscheduleRecurringArgs args, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.InvokeAsync<GetFirewallscheduleRecurringResult>("fortios:index/getFirewallscheduleRecurring:getFirewallscheduleRecurring", args ?? new GetFirewallscheduleRecurringArgs(), options.WithDefaults());

        /// <summary>
        /// Use this data source to get information on an fortios firewallschedule recurring
        /// </summary>
        public static Output<GetFirewallscheduleRecurringResult> Invoke(GetFirewallscheduleRecurringInvokeArgs args, InvokeOptions? options = null)
            => global::Pulumi.Deployment.Instance.Invoke<GetFirewallscheduleRecurringResult>("fortios:index/getFirewallscheduleRecurring:getFirewallscheduleRecurring", args ?? new GetFirewallscheduleRecurringInvokeArgs(), options.WithDefaults());
    }


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

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


    [OutputType]
    public sealed class GetFirewallscheduleRecurringResult
    {
        /// <summary>
        /// Color of icon on the GUI.
        /// </summary>
        public readonly int Color;
        /// <summary>
        /// One or more days of the week on which the schedule is valid. Separate the names of the days with a space.
        /// </summary>
        public readonly string Day;
        /// <summary>
        /// Time of day to end the schedule, format hh:mm.
        /// </summary>
        public readonly string End;
        /// <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>
        /// Recurring schedule name.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Time of day to start the schedule, format hh:mm.
        /// </summary>
        public readonly string Start;
        public readonly string? Vdomparam;

        [OutputConstructor]
        private GetFirewallscheduleRecurringResult(
            int color,

            string day,

            string end,

            string fabricObject,

            string id,

            string name,

            string start,

            string? vdomparam)
        {
            Color = color;
            Day = day;
            End = end;
            FabricObject = fabricObject;
            Id = id;
            Name = name;
            Start = start;
            Vdomparam = vdomparam;
        }
    }
}
