🚀 Overview
This PR introduces a new Terraform resource for rate limiting practices and adds APIDiscovery sub-practice functionality to the web-api-practice resource.
✨ New Features
- New Resource: inext_rate_limit_practice
A complete rate limiting practice resource with flexible rule configuration:
resource "inext_rate_limit_practice" "example" {
name = "api-rate-limits"
visibility = "Shared"
rule {
uri = "/api/v1/users"
scope = "Minute" # "Minute" or "Second"
limit = 100 # Request threshold
action = "Detect" # "Detect", "Prevent", or "AccordingToPractice"
comment = "User API limit" # Optional description
}
rule {
uri = "/api/v1/login"
scope = "Second"
limit = 5
action = "Prevent"
}
}
Key Features:
Multiple rate limit rules per practice
Flexible time scopes (Minute/Second) and actions
Smart dependency handling - automatically removes practice references before deletion
Full CRUD operations with import/export support
- APIDiscovery SubPractice
Enhanced web-api-asset with new APIDiscovery sub-practice:
resource "inext_web_api_asset" "example" {
name = "api-asset"
urls = ["https://api.example.com"]
practice {
main_mode = "Prevent"
sub_practices_modes = {
IPS = "AccordingToPractice"
WebBot = "AccordingToPractice"
APIDiscovery = "Active" # New sub-practice
}
id = inext_web_api_practice.example.id
}
}
APIDiscovery Modes:
"Active" - Enable API discovery functionality
"Disabled" - Disable API discovery