<filename>sdk/dotnet/Tencentcloud/Teo/Outputs/SecurityPolicyConfigBotConfigManagedRule.cs// *** 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.Teo.Outputs
{

    [OutputType]
    public sealed class SecurityPolicyConfigBotConfigManagedRule
    {
        /// <summary>
        /// Action to take. Valid values: `drop`, `trans`, `monitor`, `alg`.
        /// </summary>
        public readonly string? Action;
        /// <summary>
        /// Rules to enable when action is `alg`. See details in data source `bot_managed_rules`.
        /// </summary>
        public readonly ImmutableArray<int> AlgManagedIds;
        /// <summary>
        /// Rules to enable when action is `captcha`. See details in data source `bot_managed_rules`.
        /// </summary>
        public readonly ImmutableArray<int> CapManagedIds;
        /// <summary>
        /// Rules to enable when action is `drop`. See details in data source `bot_managed_rules`.
        /// </summary>
        public readonly ImmutableArray<int> DropManagedIds;
        /// <summary>
        /// Rules to enable when action is `monitor`. See details in data source `bot_managed_rules`.
        /// </summary>
        public readonly ImmutableArray<int> MonManagedIds;
        /// <summary>
        /// Name of the custom response page.
        /// </summary>
        public readonly string? Name;
        /// <summary>
        /// ID of the custom response page.
        /// </summary>
        public readonly int? PageId;
        /// <summary>
        /// Punish time.
        /// </summary>
        public readonly int? PunishTime;
        /// <summary>
        /// Time unit of the punish time.
        /// </summary>
        public readonly string? PunishTimeUnit;
        /// <summary>
        /// Redirect target URL, must be an sub-domain from one of the account&amp;#39;s site.
        /// </summary>
        public readonly string? RedirectUrl;
        /// <summary>
        /// Response code to use when redirecting.
        /// </summary>
        public readonly int? ResponseCode;
        public readonly int? RuleId;
        /// <summary>
        /// Rules to enable when action is `trans`. See details in data source `bot_managed_rules`.
        /// </summary>
        public readonly ImmutableArray<int> TransManagedIds;

        [OutputConstructor]
        private SecurityPolicyConfigBotConfigManagedRule(
            string? action,

            ImmutableArray<int> algManagedIds,

            ImmutableArray<int> capManagedIds,

            ImmutableArray<int> dropManagedIds,

            ImmutableArray<int> monManagedIds,

            string? name,

            int? pageId,

            int? punishTime,

            string? punishTimeUnit,

            string? redirectUrl,

            int? responseCode,

            int? ruleId,

            ImmutableArray<int> transManagedIds)
        {
            Action = action;
            AlgManagedIds = algManagedIds;
            CapManagedIds = capManagedIds;
            DropManagedIds = dropManagedIds;
            MonManagedIds = monManagedIds;
            Name = name;
            PageId = pageId;
            PunishTime = punishTime;
            PunishTimeUnit = punishTimeUnit;
            RedirectUrl = redirectUrl;
            ResponseCode = responseCode;
            RuleId = ruleId;
            TransManagedIds = transManagedIds;
        }
    }
}
