{ "id":"/axapi/v3/slb/template/dns/{name}/response-rate-limiting", "type":"object", "node-type":"scalar", "title":"response-rate-limiting", "partition-visibility":"shared", "description":"DNS Response Rate Limiting", "properties":{ "response-rate":{ "type":"number", "format":"number", "minimum":1, "maximum":1000, "default":5, "partition-visibility":"shared", "description":"Responses exceeding this rate within the window will be dropped (default 5 per second)", "optional":true }, "filter-response-rate":{ "type":"number", "format":"number", "minimum":1, "maximum":1000, "default":10, "partition-visibility":"shared", "description":"Maximum allowed request rate for the filter. This should match average traffic. (default 10 per seconds)", "optional":true }, "slip-rate":{ "type":"number", "format":"number", "minimum":2, "maximum":10, "partition-visibility":"shared", "not":"TC-rate", "description":"Every n'th response that would be rate-limited will be let through instead", "optional":true }, "TC-rate":{ "type":"number", "format":"number", "minimum":2, "maximum":10, "partition-visibility":"shared", "not":"slip-rate", "description":"Every n'th response that would be rate-limited will respond with TC bit", "optional":true }, "match-subnet":{ "type":"string", "format":"ipv4-netmask", "default":"255.255.255.255", "partition-visibility":"shared", "description":"IP subnet mask (response rate by IP subnet mask)", "optional":true }, "match-subnet-v6":{ "type":"number", "format":"number", "minimum":1, "maximum":128, "default":128, "partition-visibility":"shared", "description":"IPV6 subnet mask (response rate by IPv6 subnet mask)", "optional":true }, "window":{ "type":"number", "format":"number", "minimum":1, "maximum":60, "default":1, "partition-visibility":"shared", "description":"Rate-Limiting Interval in Seconds (default is one)", "optional":true }, "src-ip-only":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "optional":true }, "enable-log":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable logging", "optional":true }, "action":{ "type":"string", "format":"enum", "default":"rate-limit", "partition-visibility":"shared", "description":"'log-only': Only log rate-limiting, do not actually rate limit. Requires enable-log configuration; 'rate-limit': Rate-Limit based on configuration (Default); 'whitelist': Whitelist, disable rate-limiting; ", "enum":[ "log-only", "rate-limit", "whitelist" ], "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "rrl-class-list-list":{ "type":"array", "minItems":1, "items":{ "type":"rrl-class-list" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/dns/{name}/response-rate-limiting/rrl-class-list/{name}", "array":[ { "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Class-list name", "optional":false }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true }, "lid-list":{ "type":"array", "minItems":1, "items":{ "type":"lid" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/dns/{name}/response-rate-limiting/rrl-class-list/{name}/lid/{lidnum}", "array":[ { "properties":{ "lidnum":{ "type":"number", "format":"number", "minimum":1, "maximum":1023, "partition-visibility":"shared", "description":"Specify a limit ID", "optional":false }, "lid-response-rate":{ "type":"number", "format":"number", "minimum":1, "maximum":1000, "default":5, "partition-visibility":"shared", "description":"Responses exceeding this rate within the window will be dropped (default 5 per second)", "optional":true }, "lid-slip-rate":{ "type":"number", "format":"number", "minimum":2, "maximum":10, "partition-visibility":"shared", "not":"lid-tc-rate", "description":"Every n'th response that would be rate-limited will be let through instead", "optional":true }, "lid-tc-rate":{ "type":"number", "format":"number", "minimum":2, "maximum":10, "partition-visibility":"shared", "not":"lid-slip-rate", "description":"Every n'th response that would be rate-limited will respond with TC bit", "optional":true }, "lid-match-subnet":{ "type":"string", "format":"ipv4-netmask", "default":"255.255.255.255", "partition-visibility":"shared", "description":"IP subnet mask (response rate by IP subnet mask)", "optional":true }, "lid-match-subnet-v6":{ "type":"number", "format":"number", "minimum":1, "maximum":128, "default":128, "partition-visibility":"shared", "description":"IPV6 subnet mask (response rate by IPv6 subnet mask)", "optional":true }, "lid-window":{ "type":"number", "format":"number", "minimum":1, "maximum":60, "default":1, "partition-visibility":"shared", "description":"Rate-Limiting Interval in Seconds (default is one)", "optional":true }, "lid-src-ip-only":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "optional":true }, "lid-enable-log":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable logging", "optional":true }, "lid-action":{ "type":"string", "format":"enum", "default":"rate-limit", "partition-visibility":"shared", "description":"'log-only': Only log rate-limiting, do not actually rate limit. Requires enable-log configuration; 'rate-limit': Rate-Limit based on configuration (Default); 'whitelist': Whitelist, disable rate-limiting; ", "enum":[ "log-only", "rate-limit", "whitelist" ], "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true } }, "required":[ "lidnum" ] } ] } }, "required":[ "name" ] } ] } } }