Waf Rule Args
data class WafRuleArgs(val action: Output<String>? = null, val ccStatus: Output<String>? = null, val cnRegionList: Output<String>? = null, val conditions: Output<List<WafRuleConditionArgs>>? = null, val effect: Output<String>? = null, val otherRegionList: Output<String>? = null, val policyId: Output<String>? = null, val rateLimit: Output<WafRuleRateLimitArgs>? = null, val regularRules: Output<List<String>>? = null, val regularTypes: Output<List<String>>? = null, val remoteAddrs: Output<List<String>>? = null, val ruleName: Output<String>? = null, val scenes: Output<List<String>>? = null, val status: Output<String>? = null, val wafGroupIds: Output<String>? = null) : ConvertibleToJava<WafRuleArgs>
Provides a Dcdn Waf Rule resource. For information about Dcdn Waf Rule and how to use it, see What is Waf Rule.
NOTE: Available since v1.201.0.
Example Usage
Basic Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.dcdn.WafPolicy;
import com.pulumi.alicloud.dcdn.WafPolicyArgs;
import com.pulumi.alicloud.dcdn.WafRule;
import com.pulumi.alicloud.dcdn.WafRuleArgs;
import com.pulumi.alicloud.dcdn.inputs.WafRuleConditionArgs;
import com.pulumi.alicloud.dcdn.inputs.WafRuleRateLimitArgs;
import com.pulumi.alicloud.dcdn.inputs.WafRuleRateLimitStatusArgs;
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 config = ctx.config();
final var name = config.get("name").orElse("tf_example");
var exampleWafPolicy = new WafPolicy("exampleWafPolicy", WafPolicyArgs.builder()
.defenseScene("waf_group")
.policyName(name)
.policyType("custom")
.status("on")
.build());
var exampleWafRule = new WafRule("exampleWafRule", WafRuleArgs.builder()
.policyId(exampleWafPolicy.id())
.ruleName(name)
.conditions(
WafRuleConditionArgs.builder()
.key("URI")
.opValue("ne")
.values("/login.php")
.build(),
WafRuleConditionArgs.builder()
.key("Header")
.subKey("a")
.opValue("eq")
.values("b")
.build())
.status("on")
.ccStatus("on")
.action("monitor")
.effect("rule")
.rateLimit(WafRuleRateLimitArgs.builder()
.target("IP")
.interval("5")
.threshold("5")
.ttl("1800")
.status(WafRuleRateLimitStatusArgs.builder()
.code("200")
.ratio("60")
.build())
.build())
.build());
}
}
Content copied to clipboard
Import
Dcdn Waf Rule can be imported using the id, e.g.
$ pulumi import alicloud:dcdn/wafRule:WafRule example <id>
Content copied to clipboard
Constructors
Link copied to clipboard
fun WafRuleArgs(action: Output<String>? = null, ccStatus: Output<String>? = null, cnRegionList: Output<String>? = null, conditions: Output<List<WafRuleConditionArgs>>? = null, effect: Output<String>? = null, otherRegionList: Output<String>? = null, policyId: Output<String>? = null, rateLimit: Output<WafRuleRateLimitArgs>? = null, regularRules: Output<List<String>>? = null, regularTypes: Output<List<String>>? = null, remoteAddrs: Output<List<String>>? = null, ruleName: Output<String>? = null, scenes: Output<List<String>>? = null, status: Output<String>? = null, wafGroupIds: Output<String>? = null)