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

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


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

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


    [OutputType]
    public sealed class GetFirewallscheduleOnetimeResult
    {
        /// <summary>
        /// Color of icon on the GUI.
        /// </summary>
        public readonly int Color;
        /// <summary>
        /// Schedule end date and time, format hh:mm yyyy/mm/dd.
        /// </summary>
        public readonly string End;
        /// <summary>
        /// Write an event log message this many days before the schedule expires.
        /// </summary>
        public readonly int ExpirationDays;
        /// <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>
        /// Onetime schedule name.
        /// </summary>
        public readonly string Name;
        /// <summary>
        /// Schedule start date and time, format hh:mm yyyy/mm/dd.
        /// </summary>
        public readonly string Start;
        public readonly string? Vdomparam;

        [OutputConstructor]
        private GetFirewallscheduleOnetimeResult(
            int color,

            string end,

            int expirationDays,

            string fabricObject,

            string id,

            string name,

            string start,

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