<gh_stars>0// *** 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.Inputs
{

    public sealed class DomainCacheKeyKeyRuleArgs : Pulumi.ResourceArgs
    {
        /// <summary>
        /// Whether to enable full-path cache, values `on` (DEFAULT ON), `off`.
        /// </summary>
        [Input("fullUrlCache")]
        public Input<string>? FullUrlCache { get; set; }

        /// <summary>
        /// Whether caches are case insensitive.
        /// </summary>
        [Input("ignoreCase")]
        public Input<string>? IgnoreCase { get; set; }

        /// <summary>
        /// Request parameter contained in CacheKey.
        /// </summary>
        [Input("queryString", required: true)]
        public Input<Inputs.DomainCacheKeyKeyRuleQueryStringArgs> QueryString { get; set; } = null!;

        [Input("rulePaths", required: true)]
        private InputList<string>? _rulePaths;

        /// <summary>
        /// List of rule paths for each `key_rules`: `/` for `index`, file ext like `jpg` for `file`, `/dir/like/` for `directory` and `/path/index.html` for `path`.
        /// </summary>
        public InputList<string> RulePaths
        {
            get => _rulePaths ?? (_rulePaths = new InputList<string>());
            set => _rulePaths = value;
        }

        /// <summary>
        /// Specify rule tag, default value is `user`.
        /// </summary>
        [Input("ruleTag")]
        public Input<string>? RuleTag { get; set; }

        /// <summary>
        /// Rule type, available: `file`, `directory`, `path`, `index`.
        /// </summary>
        [Input("ruleType", required: true)]
        public Input<string> RuleType { get; set; } = null!;

        public DomainCacheKeyKeyRuleArgs()
        {
        }
    }
}
