// *** 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 TencentCloudIAC.PulumiPackage.Tencentcloud.Cdn.Outputs
{

    [OutputType]
    public sealed class DomainIpFilterFilterRule
    {
        /// <summary>
        /// Ip filter `blacklist`/`whitelist` type of filter rules.
        /// </summary>
        public readonly string FilterType;
        /// <summary>
        /// Ip filter rule list, supports IPs in X.X.X.X format, or /8, /16, /24 format IP ranges. Up to 50 allowlists or blocklists can be entered.
        /// </summary>
        public readonly ImmutableArray<string> Filters;
        /// <summary>
        /// Content list for each `rule_type`: `*` for `all`, file ext like `jpg` for `file`, `/dir/like/` for `directory` and `/path/index.html` for `path`.
        /// </summary>
        public readonly ImmutableArray<string> RulePaths;
        /// <summary>
        /// Ip filter rule type of filter rules, available: `all`, `file`, `directory`, `path`.
        /// </summary>
        public readonly string RuleType;

        [OutputConstructor]
        private DomainIpFilterFilterRule(
            string filterType,

            ImmutableArray<string> filters,

            ImmutableArray<string> rulePaths,

            string ruleType)
        {
            FilterType = filterType;
            Filters = filters;
            RulePaths = rulePaths;
            RuleType = ruleType;
        }
    }
}
