1. Packages
  2. Alibaba Cloud Provider
  3. API Docs
  4. esa
  5. WafRule
Alibaba Cloud v3.87.0 published on Saturday, Oct 18, 2025 by Pulumi

alicloud.esa.WafRule

Get Started
alicloud logo
Alibaba Cloud v3.87.0 published on Saturday, Oct 18, 2025 by Pulumi

    Provides a ESA Waf Rule resource.

    The detailed configuration of a Web Application Firewall (WAF) rule.

    For information about ESA Waf Rule and how to use it, see What is Waf Rule.

    NOTE: Available since v1.261.0.

    Example Usage

    Basic Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as alicloud from "@pulumi/alicloud";
    
    const _default = alicloud.esa.getSites({
        planSubscribeType: "enterpriseplan",
    });
    const defaultWafRuleset = new alicloud.esa.WafRuleset("default", {
        siteId: _default.then(_default => _default.sites?.[0]?.siteId),
        phase: "http_custom",
        siteVersion: 0,
    });
    const defaultWafRule = new alicloud.esa.WafRule("default", {
        rulesetId: defaultWafRuleset.rulesetId,
        phase: "http_custom",
        config: {
            status: "on",
            action: "deny",
            expression: "(http.host in {\"123.example.top\"})",
            actions: {
                response: {
                    id: 0,
                    code: 403,
                },
            },
            name: "111",
        },
        siteVersion: 0,
        siteId: _default.then(_default => _default.sites?.[0]?.siteId),
    });
    
    import pulumi
    import pulumi_alicloud as alicloud
    
    default = alicloud.esa.get_sites(plan_subscribe_type="enterpriseplan")
    default_waf_ruleset = alicloud.esa.WafRuleset("default",
        site_id=default.sites[0].site_id,
        phase="http_custom",
        site_version=0)
    default_waf_rule = alicloud.esa.WafRule("default",
        ruleset_id=default_waf_ruleset.ruleset_id,
        phase="http_custom",
        config={
            "status": "on",
            "action": "deny",
            "expression": "(http.host in {\"123.example.top\"})",
            "actions": {
                "response": {
                    "id": 0,
                    "code": 403,
                },
            },
            "name": "111",
        },
        site_version=0,
        site_id=default.sites[0].site_id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/esa"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_default, err := esa.GetSites(ctx, &esa.GetSitesArgs{
    			PlanSubscribeType: pulumi.StringRef("enterpriseplan"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		defaultWafRuleset, err := esa.NewWafRuleset(ctx, "default", &esa.WafRulesetArgs{
    			SiteId:      pulumi.Int(_default.Sites[0].SiteId),
    			Phase:       pulumi.String("http_custom"),
    			SiteVersion: pulumi.Int(0),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = esa.NewWafRule(ctx, "default", &esa.WafRuleArgs{
    			RulesetId: defaultWafRuleset.RulesetId,
    			Phase:     pulumi.String("http_custom"),
    			Config: &esa.WafRuleConfigArgs{
    				Status:     pulumi.String("on"),
    				Action:     pulumi.String("deny"),
    				Expression: pulumi.String("(http.host in {\"123.example.top\"})"),
    				Actions: &esa.WafRuleConfigActionsArgs{
    					Response: &esa.WafRuleConfigActionsResponseArgs{
    						Id:   pulumi.Int(0),
    						Code: pulumi.Int(403),
    					},
    				},
    				Name: pulumi.String("111"),
    			},
    			SiteVersion: pulumi.Int(0),
    			SiteId:      pulumi.Int(_default.Sites[0].SiteId),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AliCloud = Pulumi.AliCloud;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = AliCloud.Esa.GetSites.Invoke(new()
        {
            PlanSubscribeType = "enterpriseplan",
        });
    
        var defaultWafRuleset = new AliCloud.Esa.WafRuleset("default", new()
        {
            SiteId = @default.Apply(@default => @default.Apply(getSitesResult => getSitesResult.Sites[0]?.SiteId)),
            Phase = "http_custom",
            SiteVersion = 0,
        });
    
        var defaultWafRule = new AliCloud.Esa.WafRule("default", new()
        {
            RulesetId = defaultWafRuleset.RulesetId,
            Phase = "http_custom",
            Config = new AliCloud.Esa.Inputs.WafRuleConfigArgs
            {
                Status = "on",
                Action = "deny",
                Expression = "(http.host in {\"123.example.top\"})",
                Actions = new AliCloud.Esa.Inputs.WafRuleConfigActionsArgs
                {
                    Response = new AliCloud.Esa.Inputs.WafRuleConfigActionsResponseArgs
                    {
                        Id = 0,
                        Code = 403,
                    },
                },
                Name = "111",
            },
            SiteVersion = 0,
            SiteId = @default.Apply(@default => @default.Apply(getSitesResult => getSitesResult.Sites[0]?.SiteId)),
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.alicloud.esa.EsaFunctions;
    import com.pulumi.alicloud.esa.inputs.GetSitesArgs;
    import com.pulumi.alicloud.esa.WafRuleset;
    import com.pulumi.alicloud.esa.WafRulesetArgs;
    import com.pulumi.alicloud.esa.WafRule;
    import com.pulumi.alicloud.esa.WafRuleArgs;
    import com.pulumi.alicloud.esa.inputs.WafRuleConfigArgs;
    import com.pulumi.alicloud.esa.inputs.WafRuleConfigActionsArgs;
    import com.pulumi.alicloud.esa.inputs.WafRuleConfigActionsResponseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var default = EsaFunctions.getSites(GetSitesArgs.builder()
                .planSubscribeType("enterpriseplan")
                .build());
    
            var defaultWafRuleset = new WafRuleset("defaultWafRuleset", WafRulesetArgs.builder()
                .siteId(default_.sites()[0].siteId())
                .phase("http_custom")
                .siteVersion(0)
                .build());
    
            var defaultWafRule = new WafRule("defaultWafRule", WafRuleArgs.builder()
                .rulesetId(defaultWafRuleset.rulesetId())
                .phase("http_custom")
                .config(WafRuleConfigArgs.builder()
                    .status("on")
                    .action("deny")
                    .expression("(http.host in {\"123.example.top\"})")
                    .actions(WafRuleConfigActionsArgs.builder()
                        .response(WafRuleConfigActionsResponseArgs.builder()
                            .id(0)
                            .code(403)
                            .build())
                        .build())
                    .name("111")
                    .build())
                .siteVersion(0)
                .siteId(default_.sites()[0].siteId())
                .build());
    
        }
    }
    
    resources:
      defaultWafRuleset:
        type: alicloud:esa:WafRuleset
        name: default
        properties:
          siteId: ${default.sites[0].siteId}
          phase: http_custom
          siteVersion: '0'
      defaultWafRule:
        type: alicloud:esa:WafRule
        name: default
        properties:
          rulesetId: ${defaultWafRuleset.rulesetId}
          phase: http_custom
          config:
            status: on
            action: deny
            expression: (http.host in {"123.example.top"})
            actions:
              response:
                id: '0'
                code: '403'
            name: '111'
          siteVersion: '0'
          siteId: ${default.sites[0].siteId}
    variables:
      default:
        fn::invoke:
          function: alicloud:esa:getSites
          arguments:
            planSubscribeType: enterpriseplan
    

    Create WafRule Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new WafRule(name: string, args: WafRuleArgs, opts?: CustomResourceOptions);
    @overload
    def WafRule(resource_name: str,
                args: WafRuleArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def WafRule(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                phase: Optional[str] = None,
                site_id: Optional[int] = None,
                config: Optional[WafRuleConfigArgs] = None,
                ruleset_id: Optional[int] = None,
                shared: Optional[WafRuleSharedArgs] = None,
                site_version: Optional[int] = None)
    func NewWafRule(ctx *Context, name string, args WafRuleArgs, opts ...ResourceOption) (*WafRule, error)
    public WafRule(string name, WafRuleArgs args, CustomResourceOptions? opts = null)
    public WafRule(String name, WafRuleArgs args)
    public WafRule(String name, WafRuleArgs args, CustomResourceOptions options)
    
    type: alicloud:esa:WafRule
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args WafRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args WafRuleArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args WafRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args WafRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args WafRuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var alicloudWafRuleResource = new AliCloud.Esa.WafRule("alicloudWafRuleResource", new()
    {
        Phase = "string",
        SiteId = 0,
        Config = new AliCloud.Esa.Inputs.WafRuleConfigArgs
        {
            Action = "string",
            Actions = new AliCloud.Esa.Inputs.WafRuleConfigActionsArgs
            {
                Bypass = new AliCloud.Esa.Inputs.WafRuleConfigActionsBypassArgs
                {
                    CustomRules = new[]
                    {
                        0,
                    },
                    RegularRules = new[]
                    {
                        0,
                    },
                    RegularTypes = new[]
                    {
                        "string",
                    },
                    Skip = "string",
                    Tags = new[]
                    {
                        "string",
                    },
                },
                Response = new AliCloud.Esa.Inputs.WafRuleConfigActionsResponseArgs
                {
                    Code = 0,
                    Id = 0,
                },
            },
            AppPackage = new AliCloud.Esa.Inputs.WafRuleConfigAppPackageArgs
            {
                PackageSigns = new[]
                {
                    new AliCloud.Esa.Inputs.WafRuleConfigAppPackagePackageSignArgs
                    {
                        Name = "string",
                        Sign = "string",
                    },
                },
            },
            AppSdk = new AliCloud.Esa.Inputs.WafRuleConfigAppSdkArgs
            {
                CustomSign = new AliCloud.Esa.Inputs.WafRuleConfigAppSdkCustomSignArgs
                {
                    Key = "string",
                    Value = "string",
                },
                CustomSignStatus = "string",
                FeatureAbnormals = new[]
                {
                    "string",
                },
            },
            Expression = "string",
            Id = 0,
            ManagedGroupId = 0,
            ManagedList = "string",
            ManagedRulesets = new[]
            {
                new AliCloud.Esa.Inputs.WafRuleConfigManagedRulesetArgs
                {
                    Action = "string",
                    AttackType = 0,
                    ManagedRules = new[]
                    {
                        new AliCloud.Esa.Inputs.WafRuleConfigManagedRulesetManagedRuleArgs
                        {
                            Action = "string",
                            Id = 0,
                            Status = "string",
                        },
                    },
                    NumberEnabled = 0,
                    NumberTotal = 0,
                    ProtectionLevel = 0,
                },
            },
            Name = "string",
            Notes = "string",
            RateLimit = new AliCloud.Esa.Inputs.WafRuleConfigRateLimitArgs
            {
                Characteristics = new AliCloud.Esa.Inputs.WafRuleConfigRateLimitCharacteristicsArgs
                {
                    Criterias = new[]
                    {
                        new AliCloud.Esa.Inputs.WafRuleConfigRateLimitCharacteristicsCriteriaArgs
                        {
                            Criterias = new[]
                            {
                                new AliCloud.Esa.Inputs.WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgs
                                {
                                    Criterias = new[]
                                    {
                                        new AliCloud.Esa.Inputs.WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgs
                                        {
                                            MatchType = "string",
                                        },
                                    },
                                    Logic = "string",
                                    MatchType = "string",
                                },
                            },
                            Logic = "string",
                            MatchType = "string",
                        },
                    },
                    Logic = "string",
                },
                Interval = 0,
                OnHit = false,
                Threshold = new AliCloud.Esa.Inputs.WafRuleConfigRateLimitThresholdArgs
                {
                    DistinctManagedRules = 0,
                    ManagedRulesBlocked = 0,
                    Request = 0,
                    ResponseStatus = new AliCloud.Esa.Inputs.WafRuleConfigRateLimitThresholdResponseStatusArgs
                    {
                        Code = 0,
                        Count = 0,
                        Ratio = 0,
                    },
                    Traffic = "string",
                },
                Ttl = 0,
            },
            SecurityLevel = new AliCloud.Esa.Inputs.WafRuleConfigSecurityLevelArgs
            {
                Value = "string",
            },
            Sigchls = new[]
            {
                "string",
            },
            Status = "string",
            Timer = new AliCloud.Esa.Inputs.WafRuleConfigTimerArgs
            {
                Periods = new[]
                {
                    new AliCloud.Esa.Inputs.WafRuleConfigTimerPeriodArgs
                    {
                        End = "string",
                        Start = "string",
                    },
                },
                Scopes = "string",
                WeeklyPeriods = new[]
                {
                    new AliCloud.Esa.Inputs.WafRuleConfigTimerWeeklyPeriodArgs
                    {
                        DailyPeriods = new[]
                        {
                            new AliCloud.Esa.Inputs.WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs
                            {
                                End = "string",
                                Start = "string",
                            },
                        },
                        Days = "string",
                    },
                },
                Zone = 0,
            },
            Type = "string",
            Value = "string",
        },
        RulesetId = 0,
        Shared = new AliCloud.Esa.Inputs.WafRuleSharedArgs
        {
            Action = "string",
            Actions = new AliCloud.Esa.Inputs.WafRuleSharedActionsArgs
            {
                Response = new AliCloud.Esa.Inputs.WafRuleSharedActionsResponseArgs
                {
                    Code = 0,
                    Id = 0,
                },
            },
            CrossSiteId = 0,
            Expression = "string",
            Match = new AliCloud.Esa.Inputs.WafRuleSharedMatchArgs
            {
                Criterias = new[]
                {
                    new AliCloud.Esa.Inputs.WafRuleSharedMatchCriteriaArgs
                    {
                        Criterias = new[]
                        {
                            new AliCloud.Esa.Inputs.WafRuleSharedMatchCriteriaCriteriaArgs
                            {
                                Criterias = new[]
                                {
                                    new AliCloud.Esa.Inputs.WafRuleSharedMatchCriteriaCriteriaCriteriaArgs
                                    {
                                        MatchType = "string",
                                    },
                                },
                                Logic = "string",
                                MatchType = "string",
                            },
                        },
                        Logic = "string",
                        MatchType = "string",
                    },
                },
                Logic = "string",
                MatchType = "string",
            },
            Mode = "string",
            Name = "string",
            Target = "string",
        },
        SiteVersion = 0,
    });
    
    example, err := esa.NewWafRule(ctx, "alicloudWafRuleResource", &esa.WafRuleArgs{
    	Phase:  pulumi.String("string"),
    	SiteId: pulumi.Int(0),
    	Config: &esa.WafRuleConfigArgs{
    		Action: pulumi.String("string"),
    		Actions: &esa.WafRuleConfigActionsArgs{
    			Bypass: &esa.WafRuleConfigActionsBypassArgs{
    				CustomRules: pulumi.IntArray{
    					pulumi.Int(0),
    				},
    				RegularRules: pulumi.IntArray{
    					pulumi.Int(0),
    				},
    				RegularTypes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Skip: pulumi.String("string"),
    				Tags: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			Response: &esa.WafRuleConfigActionsResponseArgs{
    				Code: pulumi.Int(0),
    				Id:   pulumi.Int(0),
    			},
    		},
    		AppPackage: &esa.WafRuleConfigAppPackageArgs{
    			PackageSigns: esa.WafRuleConfigAppPackagePackageSignArray{
    				&esa.WafRuleConfigAppPackagePackageSignArgs{
    					Name: pulumi.String("string"),
    					Sign: pulumi.String("string"),
    				},
    			},
    		},
    		AppSdk: &esa.WafRuleConfigAppSdkArgs{
    			CustomSign: &esa.WafRuleConfigAppSdkCustomSignArgs{
    				Key:   pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    			CustomSignStatus: pulumi.String("string"),
    			FeatureAbnormals: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		Expression:     pulumi.String("string"),
    		Id:             pulumi.Int(0),
    		ManagedGroupId: pulumi.Int(0),
    		ManagedList:    pulumi.String("string"),
    		ManagedRulesets: esa.WafRuleConfigManagedRulesetArray{
    			&esa.WafRuleConfigManagedRulesetArgs{
    				Action:     pulumi.String("string"),
    				AttackType: pulumi.Int(0),
    				ManagedRules: esa.WafRuleConfigManagedRulesetManagedRuleArray{
    					&esa.WafRuleConfigManagedRulesetManagedRuleArgs{
    						Action: pulumi.String("string"),
    						Id:     pulumi.Int(0),
    						Status: pulumi.String("string"),
    					},
    				},
    				NumberEnabled:   pulumi.Int(0),
    				NumberTotal:     pulumi.Int(0),
    				ProtectionLevel: pulumi.Int(0),
    			},
    		},
    		Name:  pulumi.String("string"),
    		Notes: pulumi.String("string"),
    		RateLimit: &esa.WafRuleConfigRateLimitArgs{
    			Characteristics: &esa.WafRuleConfigRateLimitCharacteristicsArgs{
    				Criterias: esa.WafRuleConfigRateLimitCharacteristicsCriteriaArray{
    					&esa.WafRuleConfigRateLimitCharacteristicsCriteriaArgs{
    						Criterias: esa.WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArray{
    							&esa.WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgs{
    								Criterias: esa.WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArray{
    									&esa.WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgs{
    										MatchType: pulumi.String("string"),
    									},
    								},
    								Logic:     pulumi.String("string"),
    								MatchType: pulumi.String("string"),
    							},
    						},
    						Logic:     pulumi.String("string"),
    						MatchType: pulumi.String("string"),
    					},
    				},
    				Logic: pulumi.String("string"),
    			},
    			Interval: pulumi.Int(0),
    			OnHit:    pulumi.Bool(false),
    			Threshold: &esa.WafRuleConfigRateLimitThresholdArgs{
    				DistinctManagedRules: pulumi.Int(0),
    				ManagedRulesBlocked:  pulumi.Int(0),
    				Request:              pulumi.Int(0),
    				ResponseStatus: &esa.WafRuleConfigRateLimitThresholdResponseStatusArgs{
    					Code:  pulumi.Int(0),
    					Count: pulumi.Int(0),
    					Ratio: pulumi.Int(0),
    				},
    				Traffic: pulumi.String("string"),
    			},
    			Ttl: pulumi.Int(0),
    		},
    		SecurityLevel: &esa.WafRuleConfigSecurityLevelArgs{
    			Value: pulumi.String("string"),
    		},
    		Sigchls: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Status: pulumi.String("string"),
    		Timer: &esa.WafRuleConfigTimerArgs{
    			Periods: esa.WafRuleConfigTimerPeriodArray{
    				&esa.WafRuleConfigTimerPeriodArgs{
    					End:   pulumi.String("string"),
    					Start: pulumi.String("string"),
    				},
    			},
    			Scopes: pulumi.String("string"),
    			WeeklyPeriods: esa.WafRuleConfigTimerWeeklyPeriodArray{
    				&esa.WafRuleConfigTimerWeeklyPeriodArgs{
    					DailyPeriods: esa.WafRuleConfigTimerWeeklyPeriodDailyPeriodArray{
    						&esa.WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs{
    							End:   pulumi.String("string"),
    							Start: pulumi.String("string"),
    						},
    					},
    					Days: pulumi.String("string"),
    				},
    			},
    			Zone: pulumi.Int(0),
    		},
    		Type:  pulumi.String("string"),
    		Value: pulumi.String("string"),
    	},
    	RulesetId: pulumi.Int(0),
    	Shared: &esa.WafRuleSharedArgs{
    		Action: pulumi.String("string"),
    		Actions: &esa.WafRuleSharedActionsArgs{
    			Response: &esa.WafRuleSharedActionsResponseArgs{
    				Code: pulumi.Int(0),
    				Id:   pulumi.Int(0),
    			},
    		},
    		CrossSiteId: pulumi.Int(0),
    		Expression:  pulumi.String("string"),
    		Match: &esa.WafRuleSharedMatchArgs{
    			Criterias: esa.WafRuleSharedMatchCriteriaArray{
    				&esa.WafRuleSharedMatchCriteriaArgs{
    					Criterias: esa.WafRuleSharedMatchCriteriaCriteriaArray{
    						&esa.WafRuleSharedMatchCriteriaCriteriaArgs{
    							Criterias: esa.WafRuleSharedMatchCriteriaCriteriaCriteriaArray{
    								&esa.WafRuleSharedMatchCriteriaCriteriaCriteriaArgs{
    									MatchType: pulumi.String("string"),
    								},
    							},
    							Logic:     pulumi.String("string"),
    							MatchType: pulumi.String("string"),
    						},
    					},
    					Logic:     pulumi.String("string"),
    					MatchType: pulumi.String("string"),
    				},
    			},
    			Logic:     pulumi.String("string"),
    			MatchType: pulumi.String("string"),
    		},
    		Mode:   pulumi.String("string"),
    		Name:   pulumi.String("string"),
    		Target: pulumi.String("string"),
    	},
    	SiteVersion: pulumi.Int(0),
    })
    
    var alicloudWafRuleResource = new com.pulumi.alicloud.esa.WafRule("alicloudWafRuleResource", com.pulumi.alicloud.esa.WafRuleArgs.builder()
        .phase("string")
        .siteId(0)
        .config(WafRuleConfigArgs.builder()
            .action("string")
            .actions(WafRuleConfigActionsArgs.builder()
                .bypass(WafRuleConfigActionsBypassArgs.builder()
                    .customRules(0)
                    .regularRules(0)
                    .regularTypes("string")
                    .skip("string")
                    .tags("string")
                    .build())
                .response(WafRuleConfigActionsResponseArgs.builder()
                    .code(0)
                    .id(0)
                    .build())
                .build())
            .appPackage(WafRuleConfigAppPackageArgs.builder()
                .packageSigns(WafRuleConfigAppPackagePackageSignArgs.builder()
                    .name("string")
                    .sign("string")
                    .build())
                .build())
            .appSdk(WafRuleConfigAppSdkArgs.builder()
                .customSign(WafRuleConfigAppSdkCustomSignArgs.builder()
                    .key("string")
                    .value("string")
                    .build())
                .customSignStatus("string")
                .featureAbnormals("string")
                .build())
            .expression("string")
            .id(0)
            .managedGroupId(0)
            .managedList("string")
            .managedRulesets(WafRuleConfigManagedRulesetArgs.builder()
                .action("string")
                .attackType(0)
                .managedRules(WafRuleConfigManagedRulesetManagedRuleArgs.builder()
                    .action("string")
                    .id(0)
                    .status("string")
                    .build())
                .numberEnabled(0)
                .numberTotal(0)
                .protectionLevel(0)
                .build())
            .name("string")
            .notes("string")
            .rateLimit(WafRuleConfigRateLimitArgs.builder()
                .characteristics(WafRuleConfigRateLimitCharacteristicsArgs.builder()
                    .criterias(WafRuleConfigRateLimitCharacteristicsCriteriaArgs.builder()
                        .criterias(WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgs.builder()
                            .criterias(WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgs.builder()
                                .matchType("string")
                                .build())
                            .logic("string")
                            .matchType("string")
                            .build())
                        .logic("string")
                        .matchType("string")
                        .build())
                    .logic("string")
                    .build())
                .interval(0)
                .onHit(false)
                .threshold(WafRuleConfigRateLimitThresholdArgs.builder()
                    .distinctManagedRules(0)
                    .managedRulesBlocked(0)
                    .request(0)
                    .responseStatus(WafRuleConfigRateLimitThresholdResponseStatusArgs.builder()
                        .code(0)
                        .count(0)
                        .ratio(0)
                        .build())
                    .traffic("string")
                    .build())
                .ttl(0)
                .build())
            .securityLevel(WafRuleConfigSecurityLevelArgs.builder()
                .value("string")
                .build())
            .sigchls("string")
            .status("string")
            .timer(WafRuleConfigTimerArgs.builder()
                .periods(WafRuleConfigTimerPeriodArgs.builder()
                    .end("string")
                    .start("string")
                    .build())
                .scopes("string")
                .weeklyPeriods(WafRuleConfigTimerWeeklyPeriodArgs.builder()
                    .dailyPeriods(WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs.builder()
                        .end("string")
                        .start("string")
                        .build())
                    .days("string")
                    .build())
                .zone(0)
                .build())
            .type("string")
            .value("string")
            .build())
        .rulesetId(0)
        .shared(WafRuleSharedArgs.builder()
            .action("string")
            .actions(WafRuleSharedActionsArgs.builder()
                .response(WafRuleSharedActionsResponseArgs.builder()
                    .code(0)
                    .id(0)
                    .build())
                .build())
            .crossSiteId(0)
            .expression("string")
            .match(WafRuleSharedMatchArgs.builder()
                .criterias(WafRuleSharedMatchCriteriaArgs.builder()
                    .criterias(WafRuleSharedMatchCriteriaCriteriaArgs.builder()
                        .criterias(WafRuleSharedMatchCriteriaCriteriaCriteriaArgs.builder()
                            .matchType("string")
                            .build())
                        .logic("string")
                        .matchType("string")
                        .build())
                    .logic("string")
                    .matchType("string")
                    .build())
                .logic("string")
                .matchType("string")
                .build())
            .mode("string")
            .name("string")
            .target("string")
            .build())
        .siteVersion(0)
        .build());
    
    alicloud_waf_rule_resource = alicloud.esa.WafRule("alicloudWafRuleResource",
        phase="string",
        site_id=0,
        config={
            "action": "string",
            "actions": {
                "bypass": {
                    "custom_rules": [0],
                    "regular_rules": [0],
                    "regular_types": ["string"],
                    "skip": "string",
                    "tags": ["string"],
                },
                "response": {
                    "code": 0,
                    "id": 0,
                },
            },
            "app_package": {
                "package_signs": [{
                    "name": "string",
                    "sign": "string",
                }],
            },
            "app_sdk": {
                "custom_sign": {
                    "key": "string",
                    "value": "string",
                },
                "custom_sign_status": "string",
                "feature_abnormals": ["string"],
            },
            "expression": "string",
            "id": 0,
            "managed_group_id": 0,
            "managed_list": "string",
            "managed_rulesets": [{
                "action": "string",
                "attack_type": 0,
                "managed_rules": [{
                    "action": "string",
                    "id": 0,
                    "status": "string",
                }],
                "number_enabled": 0,
                "number_total": 0,
                "protection_level": 0,
            }],
            "name": "string",
            "notes": "string",
            "rate_limit": {
                "characteristics": {
                    "criterias": [{
                        "criterias": [{
                            "criterias": [{
                                "match_type": "string",
                            }],
                            "logic": "string",
                            "match_type": "string",
                        }],
                        "logic": "string",
                        "match_type": "string",
                    }],
                    "logic": "string",
                },
                "interval": 0,
                "on_hit": False,
                "threshold": {
                    "distinct_managed_rules": 0,
                    "managed_rules_blocked": 0,
                    "request": 0,
                    "response_status": {
                        "code": 0,
                        "count": 0,
                        "ratio": 0,
                    },
                    "traffic": "string",
                },
                "ttl": 0,
            },
            "security_level": {
                "value": "string",
            },
            "sigchls": ["string"],
            "status": "string",
            "timer": {
                "periods": [{
                    "end": "string",
                    "start": "string",
                }],
                "scopes": "string",
                "weekly_periods": [{
                    "daily_periods": [{
                        "end": "string",
                        "start": "string",
                    }],
                    "days": "string",
                }],
                "zone": 0,
            },
            "type": "string",
            "value": "string",
        },
        ruleset_id=0,
        shared={
            "action": "string",
            "actions": {
                "response": {
                    "code": 0,
                    "id": 0,
                },
            },
            "cross_site_id": 0,
            "expression": "string",
            "match": {
                "criterias": [{
                    "criterias": [{
                        "criterias": [{
                            "match_type": "string",
                        }],
                        "logic": "string",
                        "match_type": "string",
                    }],
                    "logic": "string",
                    "match_type": "string",
                }],
                "logic": "string",
                "match_type": "string",
            },
            "mode": "string",
            "name": "string",
            "target": "string",
        },
        site_version=0)
    
    const alicloudWafRuleResource = new alicloud.esa.WafRule("alicloudWafRuleResource", {
        phase: "string",
        siteId: 0,
        config: {
            action: "string",
            actions: {
                bypass: {
                    customRules: [0],
                    regularRules: [0],
                    regularTypes: ["string"],
                    skip: "string",
                    tags: ["string"],
                },
                response: {
                    code: 0,
                    id: 0,
                },
            },
            appPackage: {
                packageSigns: [{
                    name: "string",
                    sign: "string",
                }],
            },
            appSdk: {
                customSign: {
                    key: "string",
                    value: "string",
                },
                customSignStatus: "string",
                featureAbnormals: ["string"],
            },
            expression: "string",
            id: 0,
            managedGroupId: 0,
            managedList: "string",
            managedRulesets: [{
                action: "string",
                attackType: 0,
                managedRules: [{
                    action: "string",
                    id: 0,
                    status: "string",
                }],
                numberEnabled: 0,
                numberTotal: 0,
                protectionLevel: 0,
            }],
            name: "string",
            notes: "string",
            rateLimit: {
                characteristics: {
                    criterias: [{
                        criterias: [{
                            criterias: [{
                                matchType: "string",
                            }],
                            logic: "string",
                            matchType: "string",
                        }],
                        logic: "string",
                        matchType: "string",
                    }],
                    logic: "string",
                },
                interval: 0,
                onHit: false,
                threshold: {
                    distinctManagedRules: 0,
                    managedRulesBlocked: 0,
                    request: 0,
                    responseStatus: {
                        code: 0,
                        count: 0,
                        ratio: 0,
                    },
                    traffic: "string",
                },
                ttl: 0,
            },
            securityLevel: {
                value: "string",
            },
            sigchls: ["string"],
            status: "string",
            timer: {
                periods: [{
                    end: "string",
                    start: "string",
                }],
                scopes: "string",
                weeklyPeriods: [{
                    dailyPeriods: [{
                        end: "string",
                        start: "string",
                    }],
                    days: "string",
                }],
                zone: 0,
            },
            type: "string",
            value: "string",
        },
        rulesetId: 0,
        shared: {
            action: "string",
            actions: {
                response: {
                    code: 0,
                    id: 0,
                },
            },
            crossSiteId: 0,
            expression: "string",
            match: {
                criterias: [{
                    criterias: [{
                        criterias: [{
                            matchType: "string",
                        }],
                        logic: "string",
                        matchType: "string",
                    }],
                    logic: "string",
                    matchType: "string",
                }],
                logic: "string",
                matchType: "string",
            },
            mode: "string",
            name: "string",
            target: "string",
        },
        siteVersion: 0,
    });
    
    type: alicloud:esa:WafRule
    properties:
        config:
            action: string
            actions:
                bypass:
                    customRules:
                        - 0
                    regularRules:
                        - 0
                    regularTypes:
                        - string
                    skip: string
                    tags:
                        - string
                response:
                    code: 0
                    id: 0
            appPackage:
                packageSigns:
                    - name: string
                      sign: string
            appSdk:
                customSign:
                    key: string
                    value: string
                customSignStatus: string
                featureAbnormals:
                    - string
            expression: string
            id: 0
            managedGroupId: 0
            managedList: string
            managedRulesets:
                - action: string
                  attackType: 0
                  managedRules:
                    - action: string
                      id: 0
                      status: string
                  numberEnabled: 0
                  numberTotal: 0
                  protectionLevel: 0
            name: string
            notes: string
            rateLimit:
                characteristics:
                    criterias:
                        - criterias:
                            - criterias:
                                - matchType: string
                              logic: string
                              matchType: string
                          logic: string
                          matchType: string
                    logic: string
                interval: 0
                onHit: false
                threshold:
                    distinctManagedRules: 0
                    managedRulesBlocked: 0
                    request: 0
                    responseStatus:
                        code: 0
                        count: 0
                        ratio: 0
                    traffic: string
                ttl: 0
            securityLevel:
                value: string
            sigchls:
                - string
            status: string
            timer:
                periods:
                    - end: string
                      start: string
                scopes: string
                weeklyPeriods:
                    - dailyPeriods:
                        - end: string
                          start: string
                      days: string
                zone: 0
            type: string
            value: string
        phase: string
        rulesetId: 0
        shared:
            action: string
            actions:
                response:
                    code: 0
                    id: 0
            crossSiteId: 0
            expression: string
            match:
                criterias:
                    - criterias:
                        - criterias:
                            - matchType: string
                          logic: string
                          matchType: string
                      logic: string
                      matchType: string
                logic: string
                matchType: string
            mode: string
            name: string
            target: string
        siteId: 0
        siteVersion: 0
    

    WafRule Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The WafRule resource accepts the following input properties:

    Phase string
    The phase in which the WAF processes this rule.
    SiteId int
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    Config Pulumi.AliCloud.Esa.Inputs.WafRuleConfig
    The specific configuration of the WAF rule. See config below.
    RulesetId int
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    Shared Pulumi.AliCloud.Esa.Inputs.WafRuleShared
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    SiteVersion int
    The website ID, which can be obtained by calling the ListSites operation.
    Phase string
    The phase in which the WAF processes this rule.
    SiteId int
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    Config WafRuleConfigArgs
    The specific configuration of the WAF rule. See config below.
    RulesetId int
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    Shared WafRuleSharedArgs
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    SiteVersion int
    The website ID, which can be obtained by calling the ListSites operation.
    phase String
    The phase in which the WAF processes this rule.
    siteId Integer
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    config WafRuleConfig
    The specific configuration of the WAF rule. See config below.
    rulesetId Integer
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    shared WafRuleShared
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    siteVersion Integer
    The website ID, which can be obtained by calling the ListSites operation.
    phase string
    The phase in which the WAF processes this rule.
    siteId number
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    config WafRuleConfig
    The specific configuration of the WAF rule. See config below.
    rulesetId number
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    shared WafRuleShared
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    siteVersion number
    The website ID, which can be obtained by calling the ListSites operation.
    phase str
    The phase in which the WAF processes this rule.
    site_id int
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    config WafRuleConfigArgs
    The specific configuration of the WAF rule. See config below.
    ruleset_id int
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    shared WafRuleSharedArgs
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    site_version int
    The website ID, which can be obtained by calling the ListSites operation.
    phase String
    The phase in which the WAF processes this rule.
    siteId Number
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    config Property Map
    The specific configuration of the WAF rule. See config below.
    rulesetId Number
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    shared Property Map
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    siteVersion Number
    The website ID, which can be obtained by calling the ListSites operation.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the WafRule resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    WafRuleId int
    The unique identifier of the WAF rule.
    Id string
    The provider-assigned unique ID for this managed resource.
    WafRuleId int
    The unique identifier of the WAF rule.
    id String
    The provider-assigned unique ID for this managed resource.
    wafRuleId Integer
    The unique identifier of the WAF rule.
    id string
    The provider-assigned unique ID for this managed resource.
    wafRuleId number
    The unique identifier of the WAF rule.
    id str
    The provider-assigned unique ID for this managed resource.
    waf_rule_id int
    The unique identifier of the WAF rule.
    id String
    The provider-assigned unique ID for this managed resource.
    wafRuleId Number
    The unique identifier of the WAF rule.

    Look up Existing WafRule Resource

    Get an existing WafRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: WafRuleState, opts?: CustomResourceOptions): WafRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            config: Optional[WafRuleConfigArgs] = None,
            phase: Optional[str] = None,
            ruleset_id: Optional[int] = None,
            shared: Optional[WafRuleSharedArgs] = None,
            site_id: Optional[int] = None,
            site_version: Optional[int] = None,
            waf_rule_id: Optional[int] = None) -> WafRule
    func GetWafRule(ctx *Context, name string, id IDInput, state *WafRuleState, opts ...ResourceOption) (*WafRule, error)
    public static WafRule Get(string name, Input<string> id, WafRuleState? state, CustomResourceOptions? opts = null)
    public static WafRule get(String name, Output<String> id, WafRuleState state, CustomResourceOptions options)
    resources:  _:    type: alicloud:esa:WafRule    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Config Pulumi.AliCloud.Esa.Inputs.WafRuleConfig
    The specific configuration of the WAF rule. See config below.
    Phase string
    The phase in which the WAF processes this rule.
    RulesetId int
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    Shared Pulumi.AliCloud.Esa.Inputs.WafRuleShared
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    SiteId int
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    SiteVersion int
    The website ID, which can be obtained by calling the ListSites operation.
    WafRuleId int
    The unique identifier of the WAF rule.
    Config WafRuleConfigArgs
    The specific configuration of the WAF rule. See config below.
    Phase string
    The phase in which the WAF processes this rule.
    RulesetId int
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    Shared WafRuleSharedArgs
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    SiteId int
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    SiteVersion int
    The website ID, which can be obtained by calling the ListSites operation.
    WafRuleId int
    The unique identifier of the WAF rule.
    config WafRuleConfig
    The specific configuration of the WAF rule. See config below.
    phase String
    The phase in which the WAF processes this rule.
    rulesetId Integer
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    shared WafRuleShared
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    siteId Integer
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    siteVersion Integer
    The website ID, which can be obtained by calling the ListSites operation.
    wafRuleId Integer
    The unique identifier of the WAF rule.
    config WafRuleConfig
    The specific configuration of the WAF rule. See config below.
    phase string
    The phase in which the WAF processes this rule.
    rulesetId number
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    shared WafRuleShared
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    siteId number
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    siteVersion number
    The website ID, which can be obtained by calling the ListSites operation.
    wafRuleId number
    The unique identifier of the WAF rule.
    config WafRuleConfigArgs
    The specific configuration of the WAF rule. See config below.
    phase str
    The phase in which the WAF processes this rule.
    ruleset_id int
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    shared WafRuleSharedArgs
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    site_id int
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    site_version int
    The website ID, which can be obtained by calling the ListSites operation.
    waf_rule_id int
    The unique identifier of the WAF rule.
    config Property Map
    The specific configuration of the WAF rule. See config below.
    phase String
    The phase in which the WAF processes this rule.
    rulesetId Number
    The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets operation.
    shared Property Map
    Shared configuration attributes used across multiple rules. Note: The parameter is immutable after resource creation. It only applies during resource creation and has no effect when modified post-creation. See shared below.
    siteId Number
    The unique identifier of the website, which can be obtained by calling the ListSites operation.
    siteVersion Number
    The website ID, which can be obtained by calling the ListSites operation.
    wafRuleId Number
    The unique identifier of the WAF rule.

    Supporting Types

    WafRuleConfig, WafRuleConfigArgs

    Action string
    The action performed on requests that match the managed rule.
    Actions Pulumi.AliCloud.Esa.Inputs.WafRuleConfigActions
    Extended action configurations, including custom responses and bypass settings. See actions below.
    AppPackage Pulumi.AliCloud.Esa.Inputs.WafRuleConfigAppPackage
    Security mechanism to prevent apps from being repackaged. See app_package below.
    AppSdk Pulumi.AliCloud.Esa.Inputs.WafRuleConfigAppSdk
    Mobile app SDK-related configurations. See app_sdk below.
    Expression string
    The match expression used to evaluate incoming requests.
    Id int
    The ID of the custom error page, which can be obtained by calling the ListPages operation.
    ManagedGroupId int
    The ID of the managed rule group (deprecated).
    ManagedList string
    The name of the managed list applied to this rule.
    ManagedRulesets List<Pulumi.AliCloud.Esa.Inputs.WafRuleConfigManagedRuleset>
    The managed rulesets referenced by this rule and their configurations. See managed_rulesets below.
    Name string
    The package name of an authorized application.
    Notes string
    Additional notes about this rule.
    RateLimit Pulumi.AliCloud.Esa.Inputs.WafRuleConfigRateLimit
    Configuration of the rate limiting rule. See rate_limit below.
    SecurityLevel Pulumi.AliCloud.Esa.Inputs.WafRuleConfigSecurityLevel
    The overall security protection level of WAF. See security_level below.
    Sigchls List<string>
    Configuration items for token verification mechanisms.
    Status string
    The status of the managed rule: whether it is enabled or disabled.
    Timer Pulumi.AliCloud.Esa.Inputs.WafRuleConfigTimer
    Configuration for the time schedule when the rule takes effect. See timer below.
    Type string
    The type category of the WAF rule.
    Value string
    The value of the custom signature field used for validation.
    Action string
    The action performed on requests that match the managed rule.
    Actions WafRuleConfigActions
    Extended action configurations, including custom responses and bypass settings. See actions below.
    AppPackage WafRuleConfigAppPackage
    Security mechanism to prevent apps from being repackaged. See app_package below.
    AppSdk WafRuleConfigAppSdk
    Mobile app SDK-related configurations. See app_sdk below.
    Expression string
    The match expression used to evaluate incoming requests.
    Id int
    The ID of the custom error page, which can be obtained by calling the ListPages operation.
    ManagedGroupId int
    The ID of the managed rule group (deprecated).
    ManagedList string
    The name of the managed list applied to this rule.
    ManagedRulesets []WafRuleConfigManagedRuleset
    The managed rulesets referenced by this rule and their configurations. See managed_rulesets below.
    Name string
    The package name of an authorized application.
    Notes string
    Additional notes about this rule.
    RateLimit WafRuleConfigRateLimit
    Configuration of the rate limiting rule. See rate_limit below.
    SecurityLevel WafRuleConfigSecurityLevel
    The overall security protection level of WAF. See security_level below.
    Sigchls []string
    Configuration items for token verification mechanisms.
    Status string
    The status of the managed rule: whether it is enabled or disabled.
    Timer WafRuleConfigTimer
    Configuration for the time schedule when the rule takes effect. See timer below.
    Type string
    The type category of the WAF rule.
    Value string
    The value of the custom signature field used for validation.
    action String
    The action performed on requests that match the managed rule.
    actions WafRuleConfigActions
    Extended action configurations, including custom responses and bypass settings. See actions below.
    appPackage WafRuleConfigAppPackage
    Security mechanism to prevent apps from being repackaged. See app_package below.
    appSdk WafRuleConfigAppSdk
    Mobile app SDK-related configurations. See app_sdk below.
    expression String
    The match expression used to evaluate incoming requests.
    id Integer
    The ID of the custom error page, which can be obtained by calling the ListPages operation.
    managedGroupId Integer
    The ID of the managed rule group (deprecated).
    managedList String
    The name of the managed list applied to this rule.
    managedRulesets List<WafRuleConfigManagedRuleset>
    The managed rulesets referenced by this rule and their configurations. See managed_rulesets below.
    name String
    The package name of an authorized application.
    notes String
    Additional notes about this rule.
    rateLimit WafRuleConfigRateLimit
    Configuration of the rate limiting rule. See rate_limit below.
    securityLevel WafRuleConfigSecurityLevel
    The overall security protection level of WAF. See security_level below.
    sigchls List<String>
    Configuration items for token verification mechanisms.
    status String
    The status of the managed rule: whether it is enabled or disabled.
    timer WafRuleConfigTimer
    Configuration for the time schedule when the rule takes effect. See timer below.
    type String
    The type category of the WAF rule.
    value String
    The value of the custom signature field used for validation.
    action string
    The action performed on requests that match the managed rule.
    actions WafRuleConfigActions
    Extended action configurations, including custom responses and bypass settings. See actions below.
    appPackage WafRuleConfigAppPackage
    Security mechanism to prevent apps from being repackaged. See app_package below.
    appSdk WafRuleConfigAppSdk
    Mobile app SDK-related configurations. See app_sdk below.
    expression string
    The match expression used to evaluate incoming requests.
    id number
    The ID of the custom error page, which can be obtained by calling the ListPages operation.
    managedGroupId number
    The ID of the managed rule group (deprecated).
    managedList string
    The name of the managed list applied to this rule.
    managedRulesets WafRuleConfigManagedRuleset[]
    The managed rulesets referenced by this rule and their configurations. See managed_rulesets below.
    name string
    The package name of an authorized application.
    notes string
    Additional notes about this rule.
    rateLimit WafRuleConfigRateLimit
    Configuration of the rate limiting rule. See rate_limit below.
    securityLevel WafRuleConfigSecurityLevel
    The overall security protection level of WAF. See security_level below.
    sigchls string[]
    Configuration items for token verification mechanisms.
    status string
    The status of the managed rule: whether it is enabled or disabled.
    timer WafRuleConfigTimer
    Configuration for the time schedule when the rule takes effect. See timer below.
    type string
    The type category of the WAF rule.
    value string
    The value of the custom signature field used for validation.
    action str
    The action performed on requests that match the managed rule.
    actions WafRuleConfigActions
    Extended action configurations, including custom responses and bypass settings. See actions below.
    app_package WafRuleConfigAppPackage
    Security mechanism to prevent apps from being repackaged. See app_package below.
    app_sdk WafRuleConfigAppSdk
    Mobile app SDK-related configurations. See app_sdk below.
    expression str
    The match expression used to evaluate incoming requests.
    id int
    The ID of the custom error page, which can be obtained by calling the ListPages operation.
    managed_group_id int
    The ID of the managed rule group (deprecated).
    managed_list str
    The name of the managed list applied to this rule.
    managed_rulesets Sequence[WafRuleConfigManagedRuleset]
    The managed rulesets referenced by this rule and their configurations. See managed_rulesets below.
    name str
    The package name of an authorized application.
    notes str
    Additional notes about this rule.
    rate_limit WafRuleConfigRateLimit
    Configuration of the rate limiting rule. See rate_limit below.
    security_level WafRuleConfigSecurityLevel
    The overall security protection level of WAF. See security_level below.
    sigchls Sequence[str]
    Configuration items for token verification mechanisms.
    status str
    The status of the managed rule: whether it is enabled or disabled.
    timer WafRuleConfigTimer
    Configuration for the time schedule when the rule takes effect. See timer below.
    type str
    The type category of the WAF rule.
    value str
    The value of the custom signature field used for validation.
    action String
    The action performed on requests that match the managed rule.
    actions Property Map
    Extended action configurations, including custom responses and bypass settings. See actions below.
    appPackage Property Map
    Security mechanism to prevent apps from being repackaged. See app_package below.
    appSdk Property Map
    Mobile app SDK-related configurations. See app_sdk below.
    expression String
    The match expression used to evaluate incoming requests.
    id Number
    The ID of the custom error page, which can be obtained by calling the ListPages operation.
    managedGroupId Number
    The ID of the managed rule group (deprecated).
    managedList String
    The name of the managed list applied to this rule.
    managedRulesets List<Property Map>
    The managed rulesets referenced by this rule and their configurations. See managed_rulesets below.
    name String
    The package name of an authorized application.
    notes String
    Additional notes about this rule.
    rateLimit Property Map
    Configuration of the rate limiting rule. See rate_limit below.
    securityLevel Property Map
    The overall security protection level of WAF. See security_level below.
    sigchls List<String>
    Configuration items for token verification mechanisms.
    status String
    The status of the managed rule: whether it is enabled or disabled.
    timer Property Map
    Configuration for the time schedule when the rule takes effect. See timer below.
    type String
    The type category of the WAF rule.
    value String
    The value of the custom signature field used for validation.

    WafRuleConfigActions, WafRuleConfigActionsArgs

    Bypass WafRuleConfigActionsBypass
    The skip configuration specified by the whitelist rule. See bypass below.
    Response WafRuleConfigActionsResponse
    bypass WafRuleConfigActionsBypass
    The skip configuration specified by the whitelist rule. See bypass below.
    response WafRuleConfigActionsResponse
    bypass WafRuleConfigActionsBypass
    The skip configuration specified by the whitelist rule. See bypass below.
    response WafRuleConfigActionsResponse
    bypass WafRuleConfigActionsBypass
    The skip configuration specified by the whitelist rule. See bypass below.
    response WafRuleConfigActionsResponse
    bypass Property Map
    The skip configuration specified by the whitelist rule. See bypass below.
    response Property Map

    WafRuleConfigActionsBypass, WafRuleConfigActionsBypassArgs

    CustomRules List<int>
    The IDs of custom rules to skip.
    RegularRules List<int>
    The IDs of specific managed rules to skip.
    RegularTypes List<string>
    The types of managed rules to skip.
    Skip string
    The scope that is skipped when requests match conditions defined in the whitelist rule.
    Tags List<string>
    The rule categories that are skipped when requests match conditions defined in the whitelist rule.
    CustomRules []int
    The IDs of custom rules to skip.
    RegularRules []int
    The IDs of specific managed rules to skip.
    RegularTypes []string
    The types of managed rules to skip.
    Skip string
    The scope that is skipped when requests match conditions defined in the whitelist rule.
    Tags []string
    The rule categories that are skipped when requests match conditions defined in the whitelist rule.
    customRules List<Integer>
    The IDs of custom rules to skip.
    regularRules List<Integer>
    The IDs of specific managed rules to skip.
    regularTypes List<String>
    The types of managed rules to skip.
    skip String
    The scope that is skipped when requests match conditions defined in the whitelist rule.
    tags List<String>
    The rule categories that are skipped when requests match conditions defined in the whitelist rule.
    customRules number[]
    The IDs of custom rules to skip.
    regularRules number[]
    The IDs of specific managed rules to skip.
    regularTypes string[]
    The types of managed rules to skip.
    skip string
    The scope that is skipped when requests match conditions defined in the whitelist rule.
    tags string[]
    The rule categories that are skipped when requests match conditions defined in the whitelist rule.
    custom_rules Sequence[int]
    The IDs of custom rules to skip.
    regular_rules Sequence[int]
    The IDs of specific managed rules to skip.
    regular_types Sequence[str]
    The types of managed rules to skip.
    skip str
    The scope that is skipped when requests match conditions defined in the whitelist rule.
    tags Sequence[str]
    The rule categories that are skipped when requests match conditions defined in the whitelist rule.
    customRules List<Number>
    The IDs of custom rules to skip.
    regularRules List<Number>
    The IDs of specific managed rules to skip.
    regularTypes List<String>
    The types of managed rules to skip.
    skip String
    The scope that is skipped when requests match conditions defined in the whitelist rule.
    tags List<String>
    The rule categories that are skipped when requests match conditions defined in the whitelist rule.

    WafRuleConfigActionsResponse, WafRuleConfigActionsResponseArgs

    Code int
    Id int
    The internal unique ID of the WAF rule.
    Code int
    Id int
    The internal unique ID of the WAF rule.
    code Integer
    id Integer
    The internal unique ID of the WAF rule.
    code number
    id number
    The internal unique ID of the WAF rule.
    code int
    id int
    The internal unique ID of the WAF rule.
    code Number
    id Number
    The internal unique ID of the WAF rule.

    WafRuleConfigAppPackage, WafRuleConfigAppPackageArgs

    PackageSigns List<Pulumi.AliCloud.Esa.Inputs.WafRuleConfigAppPackagePackageSign>
    Security mechanism to prevent apps from being repackaged. See package_signs below.
    PackageSigns []WafRuleConfigAppPackagePackageSign
    Security mechanism to prevent apps from being repackaged. See package_signs below.
    packageSigns List<WafRuleConfigAppPackagePackageSign>
    Security mechanism to prevent apps from being repackaged. See package_signs below.
    packageSigns WafRuleConfigAppPackagePackageSign[]
    Security mechanism to prevent apps from being repackaged. See package_signs below.
    package_signs Sequence[WafRuleConfigAppPackagePackageSign]
    Security mechanism to prevent apps from being repackaged. See package_signs below.
    packageSigns List<Property Map>
    Security mechanism to prevent apps from being repackaged. See package_signs below.

    WafRuleConfigAppPackagePackageSign, WafRuleConfigAppPackagePackageSignArgs

    Name string
    Sign string
    The digital signature of a legitimate app package.
    Name string
    Sign string
    The digital signature of a legitimate app package.
    name String
    sign String
    The digital signature of a legitimate app package.
    name string
    sign string
    The digital signature of a legitimate app package.
    name str
    sign str
    The digital signature of a legitimate app package.
    name String
    sign String
    The digital signature of a legitimate app package.

    WafRuleConfigAppSdk, WafRuleConfigAppSdkArgs

    CustomSign Pulumi.AliCloud.Esa.Inputs.WafRuleConfigAppSdkCustomSign
    Custom fields used for mobile app signature validation. See custom_sign below.
    CustomSignStatus string
    Indicates whether the custom signature field validation is enabled.
    FeatureAbnormals List<string>
    Detected abnormal behaviors of the application.
    CustomSign WafRuleConfigAppSdkCustomSign
    Custom fields used for mobile app signature validation. See custom_sign below.
    CustomSignStatus string
    Indicates whether the custom signature field validation is enabled.
    FeatureAbnormals []string
    Detected abnormal behaviors of the application.
    customSign WafRuleConfigAppSdkCustomSign
    Custom fields used for mobile app signature validation. See custom_sign below.
    customSignStatus String
    Indicates whether the custom signature field validation is enabled.
    featureAbnormals List<String>
    Detected abnormal behaviors of the application.
    customSign WafRuleConfigAppSdkCustomSign
    Custom fields used for mobile app signature validation. See custom_sign below.
    customSignStatus string
    Indicates whether the custom signature field validation is enabled.
    featureAbnormals string[]
    Detected abnormal behaviors of the application.
    custom_sign WafRuleConfigAppSdkCustomSign
    Custom fields used for mobile app signature validation. See custom_sign below.
    custom_sign_status str
    Indicates whether the custom signature field validation is enabled.
    feature_abnormals Sequence[str]
    Detected abnormal behaviors of the application.
    customSign Property Map
    Custom fields used for mobile app signature validation. See custom_sign below.
    customSignStatus String
    Indicates whether the custom signature field validation is enabled.
    featureAbnormals List<String>
    Detected abnormal behaviors of the application.

    WafRuleConfigAppSdkCustomSign, WafRuleConfigAppSdkCustomSignArgs

    Key string
    The name of the custom signature field used for validation.
    Value string
    The value of the custom signature field used for validation.
    Key string
    The name of the custom signature field used for validation.
    Value string
    The value of the custom signature field used for validation.
    key String
    The name of the custom signature field used for validation.
    value String
    The value of the custom signature field used for validation.
    key string
    The name of the custom signature field used for validation.
    value string
    The value of the custom signature field used for validation.
    key str
    The name of the custom signature field used for validation.
    value str
    The value of the custom signature field used for validation.
    key String
    The name of the custom signature field used for validation.
    value String
    The value of the custom signature field used for validation.

    WafRuleConfigManagedRuleset, WafRuleConfigManagedRulesetArgs

    Action string
    AttackType int
    The primary attack type targeted by this ruleset.
    ManagedRules List<Pulumi.AliCloud.Esa.Inputs.WafRuleConfigManagedRulesetManagedRule>
    The individual managed rules included in this ruleset. See managed_rules below.
    NumberEnabled int
    Number of rules currently enabled.
    NumberTotal int
    Total number of rules in this ruleset.
    ProtectionLevel int
    The protection strength level assigned to this ruleset.
    Action string
    AttackType int
    The primary attack type targeted by this ruleset.
    ManagedRules []WafRuleConfigManagedRulesetManagedRule
    The individual managed rules included in this ruleset. See managed_rules below.
    NumberEnabled int
    Number of rules currently enabled.
    NumberTotal int
    Total number of rules in this ruleset.
    ProtectionLevel int
    The protection strength level assigned to this ruleset.
    action String
    attackType Integer
    The primary attack type targeted by this ruleset.
    managedRules List<WafRuleConfigManagedRulesetManagedRule>
    The individual managed rules included in this ruleset. See managed_rules below.
    numberEnabled Integer
    Number of rules currently enabled.
    numberTotal Integer
    Total number of rules in this ruleset.
    protectionLevel Integer
    The protection strength level assigned to this ruleset.
    action string
    attackType number
    The primary attack type targeted by this ruleset.
    managedRules WafRuleConfigManagedRulesetManagedRule[]
    The individual managed rules included in this ruleset. See managed_rules below.
    numberEnabled number
    Number of rules currently enabled.
    numberTotal number
    Total number of rules in this ruleset.
    protectionLevel number
    The protection strength level assigned to this ruleset.
    action str
    attack_type int
    The primary attack type targeted by this ruleset.
    managed_rules Sequence[WafRuleConfigManagedRulesetManagedRule]
    The individual managed rules included in this ruleset. See managed_rules below.
    number_enabled int
    Number of rules currently enabled.
    number_total int
    Total number of rules in this ruleset.
    protection_level int
    The protection strength level assigned to this ruleset.
    action String
    attackType Number
    The primary attack type targeted by this ruleset.
    managedRules List<Property Map>
    The individual managed rules included in this ruleset. See managed_rules below.
    numberEnabled Number
    Number of rules currently enabled.
    numberTotal Number
    Total number of rules in this ruleset.
    protectionLevel Number
    The protection strength level assigned to this ruleset.

    WafRuleConfigManagedRulesetManagedRule, WafRuleConfigManagedRulesetManagedRuleArgs

    Action string
    Id int
    The internal unique ID of the WAF rule.
    Status string
    The status of the managed rule: whether it is enabled or disabled.
    Action string
    Id int
    The internal unique ID of the WAF rule.
    Status string
    The status of the managed rule: whether it is enabled or disabled.
    action String
    id Integer
    The internal unique ID of the WAF rule.
    status String
    The status of the managed rule: whether it is enabled or disabled.
    action string
    id number
    The internal unique ID of the WAF rule.
    status string
    The status of the managed rule: whether it is enabled or disabled.
    action str
    id int
    The internal unique ID of the WAF rule.
    status str
    The status of the managed rule: whether it is enabled or disabled.
    action String
    id Number
    The internal unique ID of the WAF rule.
    status String
    The status of the managed rule: whether it is enabled or disabled.

    WafRuleConfigRateLimit, WafRuleConfigRateLimitArgs

    Characteristics Pulumi.AliCloud.Esa.Inputs.WafRuleConfigRateLimitCharacteristics
    The statistical dimensions to which the rate limiting rule applies. See characteristics below.
    Interval int
    The statistical interval.
    OnHit bool
    Indicates whether the rule applies to requests that hit the cache.
    Threshold Pulumi.AliCloud.Esa.Inputs.WafRuleConfigRateLimitThreshold
    Threshold settings for the rate limiting rule. See threshold below.
    Ttl int
    The timeout period for creating the stack used in rate limiting.
    Characteristics WafRuleConfigRateLimitCharacteristics
    The statistical dimensions to which the rate limiting rule applies. See characteristics below.
    Interval int
    The statistical interval.
    OnHit bool
    Indicates whether the rule applies to requests that hit the cache.
    Threshold WafRuleConfigRateLimitThreshold
    Threshold settings for the rate limiting rule. See threshold below.
    Ttl int
    The timeout period for creating the stack used in rate limiting.
    characteristics WafRuleConfigRateLimitCharacteristics
    The statistical dimensions to which the rate limiting rule applies. See characteristics below.
    interval Integer
    The statistical interval.
    onHit Boolean
    Indicates whether the rule applies to requests that hit the cache.
    threshold WafRuleConfigRateLimitThreshold
    Threshold settings for the rate limiting rule. See threshold below.
    ttl Integer
    The timeout period for creating the stack used in rate limiting.
    characteristics WafRuleConfigRateLimitCharacteristics
    The statistical dimensions to which the rate limiting rule applies. See characteristics below.
    interval number
    The statistical interval.
    onHit boolean
    Indicates whether the rule applies to requests that hit the cache.
    threshold WafRuleConfigRateLimitThreshold
    Threshold settings for the rate limiting rule. See threshold below.
    ttl number
    The timeout period for creating the stack used in rate limiting.
    characteristics WafRuleConfigRateLimitCharacteristics
    The statistical dimensions to which the rate limiting rule applies. See characteristics below.
    interval int
    The statistical interval.
    on_hit bool
    Indicates whether the rule applies to requests that hit the cache.
    threshold WafRuleConfigRateLimitThreshold
    Threshold settings for the rate limiting rule. See threshold below.
    ttl int
    The timeout period for creating the stack used in rate limiting.
    characteristics Property Map
    The statistical dimensions to which the rate limiting rule applies. See characteristics below.
    interval Number
    The statistical interval.
    onHit Boolean
    Indicates whether the rule applies to requests that hit the cache.
    threshold Property Map
    Threshold settings for the rate limiting rule. See threshold below.
    ttl Number
    The timeout period for creating the stack used in rate limiting.

    WafRuleConfigRateLimitCharacteristics, WafRuleConfigRateLimitCharacteristicsArgs

    WafRuleConfigRateLimitCharacteristicsCriteria, WafRuleConfigRateLimitCharacteristicsCriteriaArgs

    WafRuleConfigRateLimitCharacteristicsCriteriaCriteria, WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaArgs

    WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteria, WafRuleConfigRateLimitCharacteristicsCriteriaCriteriaCriteriaArgs

    MatchType string
    MatchType string
    matchType String
    matchType string
    matchType String

    WafRuleConfigRateLimitThreshold, WafRuleConfigRateLimitThresholdArgs

    DistinctManagedRules int
    The maximum number of distinct managed rules that can be triggered.
    ManagedRulesBlocked int
    The maximum number of times that managed rules can be triggered.
    Request int
    The maximum number of allowed requests within a time interval.
    ResponseStatus Pulumi.AliCloud.Esa.Inputs.WafRuleConfigRateLimitThresholdResponseStatus
    Limits on the frequency of returning specific HTTP status codes. See response_status below.
    Traffic string
    The maximum allowed traffic within a time interval (deprecated).
    DistinctManagedRules int
    The maximum number of distinct managed rules that can be triggered.
    ManagedRulesBlocked int
    The maximum number of times that managed rules can be triggered.
    Request int
    The maximum number of allowed requests within a time interval.
    ResponseStatus WafRuleConfigRateLimitThresholdResponseStatus
    Limits on the frequency of returning specific HTTP status codes. See response_status below.
    Traffic string
    The maximum allowed traffic within a time interval (deprecated).
    distinctManagedRules Integer
    The maximum number of distinct managed rules that can be triggered.
    managedRulesBlocked Integer
    The maximum number of times that managed rules can be triggered.
    request Integer
    The maximum number of allowed requests within a time interval.
    responseStatus WafRuleConfigRateLimitThresholdResponseStatus
    Limits on the frequency of returning specific HTTP status codes. See response_status below.
    traffic String
    The maximum allowed traffic within a time interval (deprecated).
    distinctManagedRules number
    The maximum number of distinct managed rules that can be triggered.
    managedRulesBlocked number
    The maximum number of times that managed rules can be triggered.
    request number
    The maximum number of allowed requests within a time interval.
    responseStatus WafRuleConfigRateLimitThresholdResponseStatus
    Limits on the frequency of returning specific HTTP status codes. See response_status below.
    traffic string
    The maximum allowed traffic within a time interval (deprecated).
    distinct_managed_rules int
    The maximum number of distinct managed rules that can be triggered.
    managed_rules_blocked int
    The maximum number of times that managed rules can be triggered.
    request int
    The maximum number of allowed requests within a time interval.
    response_status WafRuleConfigRateLimitThresholdResponseStatus
    Limits on the frequency of returning specific HTTP status codes. See response_status below.
    traffic str
    The maximum allowed traffic within a time interval (deprecated).
    distinctManagedRules Number
    The maximum number of distinct managed rules that can be triggered.
    managedRulesBlocked Number
    The maximum number of times that managed rules can be triggered.
    request Number
    The maximum number of allowed requests within a time interval.
    responseStatus Property Map
    Limits on the frequency of returning specific HTTP status codes. See response_status below.
    traffic String
    The maximum allowed traffic within a time interval (deprecated).

    WafRuleConfigRateLimitThresholdResponseStatus, WafRuleConfigRateLimitThresholdResponseStatusArgs

    Code int
    Count int
    The maximum number of times the specified status code can be returned.
    Ratio int
    The upper limit of the percentage of occurrences of the specified status code among all responses.
    Code int
    Count int
    The maximum number of times the specified status code can be returned.
    Ratio int
    The upper limit of the percentage of occurrences of the specified status code among all responses.
    code Integer
    count Integer
    The maximum number of times the specified status code can be returned.
    ratio Integer
    The upper limit of the percentage of occurrences of the specified status code among all responses.
    code number
    count number
    The maximum number of times the specified status code can be returned.
    ratio number
    The upper limit of the percentage of occurrences of the specified status code among all responses.
    code int
    count int
    The maximum number of times the specified status code can be returned.
    ratio int
    The upper limit of the percentage of occurrences of the specified status code among all responses.
    code Number
    count Number
    The maximum number of times the specified status code can be returned.
    ratio Number
    The upper limit of the percentage of occurrences of the specified status code among all responses.

    WafRuleConfigSecurityLevel, WafRuleConfigSecurityLevelArgs

    Value string
    The value of the custom signature field used for validation.
    Value string
    The value of the custom signature field used for validation.
    value String
    The value of the custom signature field used for validation.
    value string
    The value of the custom signature field used for validation.
    value str
    The value of the custom signature field used for validation.
    value String
    The value of the custom signature field used for validation.

    WafRuleConfigTimer, WafRuleConfigTimerArgs

    Periods List<Pulumi.AliCloud.Esa.Inputs.WafRuleConfigTimerPeriod>
    Scopes string
    Timing type:
    WeeklyPeriods List<Pulumi.AliCloud.Esa.Inputs.WafRuleConfigTimerWeeklyPeriod>
    Weekly recurring time schedules. See weekly_periods below.
    Zone int
    The time zone. If it is not specified, the default value is UTC +00:00. Example: 8 means East Zone 8,-8 means West Zone 8 Range:-12 -+14
    Periods []WafRuleConfigTimerPeriod
    Scopes string
    Timing type:
    WeeklyPeriods []WafRuleConfigTimerWeeklyPeriod
    Weekly recurring time schedules. See weekly_periods below.
    Zone int
    The time zone. If it is not specified, the default value is UTC +00:00. Example: 8 means East Zone 8,-8 means West Zone 8 Range:-12 -+14
    periods List<WafRuleConfigTimerPeriod>
    scopes String
    Timing type:
    weeklyPeriods List<WafRuleConfigTimerWeeklyPeriod>
    Weekly recurring time schedules. See weekly_periods below.
    zone Integer
    The time zone. If it is not specified, the default value is UTC +00:00. Example: 8 means East Zone 8,-8 means West Zone 8 Range:-12 -+14
    periods WafRuleConfigTimerPeriod[]
    scopes string
    Timing type:
    weeklyPeriods WafRuleConfigTimerWeeklyPeriod[]
    Weekly recurring time schedules. See weekly_periods below.
    zone number
    The time zone. If it is not specified, the default value is UTC +00:00. Example: 8 means East Zone 8,-8 means West Zone 8 Range:-12 -+14
    periods Sequence[WafRuleConfigTimerPeriod]
    scopes str
    Timing type:
    weekly_periods Sequence[WafRuleConfigTimerWeeklyPeriod]
    Weekly recurring time schedules. See weekly_periods below.
    zone int
    The time zone. If it is not specified, the default value is UTC +00:00. Example: 8 means East Zone 8,-8 means West Zone 8 Range:-12 -+14
    periods List<Property Map>
    scopes String
    Timing type:
    weeklyPeriods List<Property Map>
    Weekly recurring time schedules. See weekly_periods below.
    zone Number
    The time zone. If it is not specified, the default value is UTC +00:00. Example: 8 means East Zone 8,-8 means West Zone 8 Range:-12 -+14

    WafRuleConfigTimerPeriod, WafRuleConfigTimerPeriodArgs

    End string
    End time in HH:mm:ss format
    Start string
    Start time in HH:mm:ss format
    End string
    End time in HH:mm:ss format
    Start string
    Start time in HH:mm:ss format
    end String
    End time in HH:mm:ss format
    start String
    Start time in HH:mm:ss format
    end string
    End time in HH:mm:ss format
    start string
    Start time in HH:mm:ss format
    end str
    End time in HH:mm:ss format
    start str
    Start time in HH:mm:ss format
    end String
    End time in HH:mm:ss format
    start String
    Start time in HH:mm:ss format

    WafRuleConfigTimerWeeklyPeriod, WafRuleConfigTimerWeeklyPeriodArgs

    DailyPeriods List<Pulumi.AliCloud.Esa.Inputs.WafRuleConfigTimerWeeklyPeriodDailyPeriod>
    Daily effective time periods within a weekly schedule. See daily_periods below.
    Days string
    Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
    DailyPeriods []WafRuleConfigTimerWeeklyPeriodDailyPeriod
    Daily effective time periods within a weekly schedule. See daily_periods below.
    Days string
    Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
    dailyPeriods List<WafRuleConfigTimerWeeklyPeriodDailyPeriod>
    Daily effective time periods within a weekly schedule. See daily_periods below.
    days String
    Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
    dailyPeriods WafRuleConfigTimerWeeklyPeriodDailyPeriod[]
    Daily effective time periods within a weekly schedule. See daily_periods below.
    days string
    Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
    daily_periods Sequence[WafRuleConfigTimerWeeklyPeriodDailyPeriod]
    Daily effective time periods within a weekly schedule. See daily_periods below.
    days str
    Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"
    dailyPeriods List<Property Map>
    Daily effective time periods within a weekly schedule. See daily_periods below.
    days String
    Cycle, multiple use comma separated, 1-7 respectively represent Monday-Sunday. Example: Monday, Wednesday value is "1,3"

    WafRuleConfigTimerWeeklyPeriodDailyPeriod, WafRuleConfigTimerWeeklyPeriodDailyPeriodArgs

    End string
    End time in HH:mm:ss format
    Start string
    Start time in HH:mm:ss format
    End string
    End time in HH:mm:ss format
    Start string
    Start time in HH:mm:ss format
    end String
    End time in HH:mm:ss format
    start String
    Start time in HH:mm:ss format
    end string
    End time in HH:mm:ss format
    start string
    Start time in HH:mm:ss format
    end str
    End time in HH:mm:ss format
    start str
    Start time in HH:mm:ss format
    end String
    End time in HH:mm:ss format
    start String
    Start time in HH:mm:ss format

    WafRuleShared, WafRuleSharedArgs

    Action string
    The default action executed under shared configuration.
    Actions Pulumi.AliCloud.Esa.Inputs.WafRuleSharedActions
    Extended action configurations under shared settings. See actions below.
    CrossSiteId int
    Specify the cross-domain site ID.
    Expression string
    The match expression used in shared configuration.
    Match Pulumi.AliCloud.Esa.Inputs.WafRuleSharedMatch
    Configuration of the request matching logic engine. See match below.
    Mode string
    The integration mode of the Web SDK:
    Name string
    The display name of the ruleset.
    Target string
    The target type protected by this rule: web or app.
    Action string
    The default action executed under shared configuration.
    Actions WafRuleSharedActions
    Extended action configurations under shared settings. See actions below.
    CrossSiteId int
    Specify the cross-domain site ID.
    Expression string
    The match expression used in shared configuration.
    Match WafRuleSharedMatch
    Configuration of the request matching logic engine. See match below.
    Mode string
    The integration mode of the Web SDK:
    Name string
    The display name of the ruleset.
    Target string
    The target type protected by this rule: web or app.
    action String
    The default action executed under shared configuration.
    actions WafRuleSharedActions
    Extended action configurations under shared settings. See actions below.
    crossSiteId Integer
    Specify the cross-domain site ID.
    expression String
    The match expression used in shared configuration.
    match WafRuleSharedMatch
    Configuration of the request matching logic engine. See match below.
    mode String
    The integration mode of the Web SDK:
    name String
    The display name of the ruleset.
    target String
    The target type protected by this rule: web or app.
    action string
    The default action executed under shared configuration.
    actions WafRuleSharedActions
    Extended action configurations under shared settings. See actions below.
    crossSiteId number
    Specify the cross-domain site ID.
    expression string
    The match expression used in shared configuration.
    match WafRuleSharedMatch
    Configuration of the request matching logic engine. See match below.
    mode string
    The integration mode of the Web SDK:
    name string
    The display name of the ruleset.
    target string
    The target type protected by this rule: web or app.
    action str
    The default action executed under shared configuration.
    actions WafRuleSharedActions
    Extended action configurations under shared settings. See actions below.
    cross_site_id int
    Specify the cross-domain site ID.
    expression str
    The match expression used in shared configuration.
    match WafRuleSharedMatch
    Configuration of the request matching logic engine. See match below.
    mode str
    The integration mode of the Web SDK:
    name str
    The display name of the ruleset.
    target str
    The target type protected by this rule: web or app.
    action String
    The default action executed under shared configuration.
    actions Property Map
    Extended action configurations under shared settings. See actions below.
    crossSiteId Number
    Specify the cross-domain site ID.
    expression String
    The match expression used in shared configuration.
    match Property Map
    Configuration of the request matching logic engine. See match below.
    mode String
    The integration mode of the Web SDK:
    name String
    The display name of the ruleset.
    target String
    The target type protected by this rule: web or app.

    WafRuleSharedActions, WafRuleSharedActionsArgs

    WafRuleSharedActionsResponse, WafRuleSharedActionsResponseArgs

    Code int
    Id int
    The internal unique ID of the WAF rule.
    Code int
    Id int
    The internal unique ID of the WAF rule.
    code Integer
    id Integer
    The internal unique ID of the WAF rule.
    code number
    id number
    The internal unique ID of the WAF rule.
    code int
    id int
    The internal unique ID of the WAF rule.
    code Number
    id Number
    The internal unique ID of the WAF rule.

    WafRuleSharedMatch, WafRuleSharedMatchArgs

    WafRuleSharedMatchCriteria, WafRuleSharedMatchCriteriaArgs

    WafRuleSharedMatchCriteriaCriteria, WafRuleSharedMatchCriteriaCriteriaArgs

    WafRuleSharedMatchCriteriaCriteriaCriteria, WafRuleSharedMatchCriteriaCriteriaCriteriaArgs

    MatchType string
    MatchType string
    matchType String
    matchType string
    matchType String

    Import

    ESA Waf Rule can be imported using the id, e.g.

    $ pulumi import alicloud:esa/wafRule:WafRule example <site_id>:<waf_rule_id>
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo
    Alibaba Cloud v3.87.0 published on Saturday, Oct 18, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate