// *** 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.Outputs
{

    [OutputType]
    public sealed class WebfilterProfileFtgdWf
    {
        /// <summary>
        /// Do not stop quota for these categories.
        /// </summary>
        public readonly string? ExemptQuota;
        /// <summary>
        /// FortiGuard filters. The structure of `filters` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.WebfilterProfileFtgdWfFilter> Filters;
        /// <summary>
        /// Maximum FortiGuard quota used by single page view in seconds (excludes streams).
        /// </summary>
        public readonly int? MaxQuotaTimeout;
        /// <summary>
        /// Options for FortiGuard Web Filter. Valid values: `error-allow`, `rate-server-ip`, `connect-request-bypass`, `ftgd-disable`.
        /// </summary>
        public readonly string? Options;
        /// <summary>
        /// Allow web filter profile overrides.
        /// </summary>
        public readonly string? Ovrd;
        /// <summary>
        /// FortiGuard traffic quota settings. The structure of `quota` block is documented below.
        /// </summary>
        public readonly ImmutableArray<Outputs.WebfilterProfileFtgdWfQuota> Quotas;
        /// <summary>
        /// Enable/disable rating CRL by URL. Valid values: `disable`, `enable`.
        /// </summary>
        public readonly string? RateCrlUrls;
        /// <summary>
        /// Enable/disable rating CSS by URL. Valid values: `disable`, `enable`.
        /// </summary>
        public readonly string? RateCssUrls;
        /// <summary>
        /// Enable/disable rating images by URL. Valid values: `disable`, `enable`.
        /// </summary>
        public readonly string? RateImageUrls;
        /// <summary>
        /// Enable/disable rating JavaScript by URL. Valid values: `disable`, `enable`.
        /// </summary>
        public readonly string? RateJavascriptUrls;

        [OutputConstructor]
        private WebfilterProfileFtgdWf(
            string? exemptQuota,

            ImmutableArray<Outputs.WebfilterProfileFtgdWfFilter> filters,

            int? maxQuotaTimeout,

            string? options,

            string? ovrd,

            ImmutableArray<Outputs.WebfilterProfileFtgdWfQuota> quotas,

            string? rateCrlUrls,

            string? rateCssUrls,

            string? rateImageUrls,

            string? rateJavascriptUrls)
        {
            ExemptQuota = exemptQuota;
            Filters = filters;
            MaxQuotaTimeout = maxQuotaTimeout;
            Options = options;
            Ovrd = ovrd;
            Quotas = quotas;
            RateCrlUrls = rateCrlUrls;
            RateCssUrls = rateCssUrls;
            RateImageUrls = rateImageUrls;
            RateJavascriptUrls = rateJavascriptUrls;
        }
    }
}
