{ "id":"/axapi/v3/ddos/dst/zone/{zone-name}/port/zone-service/{port-num}+{protocol}/virtualhosts", "type":"object", "node-type":"scalar", "title":"virtualhosts", "partition-visibility":"shared", "description":"Configure virtualhost based mitigation for SSL services", "properties":{ "vhosts-config":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'configuration': configure virtualhost based mitigation for ssl services; ", "enum":[ "configuration" ], "optional":false }, "source-tracking-all":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"enable creation of source entries for all virtualhosts", "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 }, "virtualhost-list":{ "type":"array", "minItems":1, "items":{ "type":"virtualhost" }, "uniqueItems":true, "$ref":"/axapi/v3/ddos/dst/zone/{zone-name}/port/zone-service/{port-num}+{protocol}/virtualhosts/virtualhost/{vhost}", "array":[ { "properties":{ "vhost":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"name for virtualhost", "optional":false }, "servername":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "match-type":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'contains': match servername extension when contains this string; 'ends-with': match servername extension when ends with this string; 'equals': match servername extension when equals this string; 'starts-with': match servername extension when starts with this string; ", "enum":[ "contains", "ends-with", "equals", "starts-with" ] }, "host-match-string":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"SNI String" } } } ] }, "servername-list":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Class List to match servername (AC type Class List Name)", "optional":true }, "servername-match-any":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Match when there is no SNI or other servernames are not matched", "optional":true }, "source-tracking":{ "type":"string", "format":"enum", "default":"follow", "partition-visibility":"shared", "description":"'follow': enable creation of source entries when source-tracking-all is enabled (default); 'enable': enable creation of source entries on this virtualhost; 'disable': disable creation of source entries on this virtualhost; ", "enum":[ "follow", "enable", "disable" ], "optional":true }, "glid-cfg":{ "type":"object", "properties":{ "glid":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/glid", "description":"Global limit ID" }, "glid-action":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'drop': Drop packets for glid exceed; 'ignore': Do nothing for glid exceed; ", "enum":[ "drop", "ignore" ] } } }, "deny":{ "type":"number", "format":"flag", "plat-neg-list":["softax-ddet"], "default":0, "partition-visibility":"shared", "description":"Blacklist and Drop all incoming packets for protocol", "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 }, "level-list":{ "type":"array", "minItems":1, "items":{ "type":"level" }, "uniqueItems":true, "$ref":"/axapi/v3/ddos/dst/zone/{zone-name}/port/zone-service/{port-num}+{protocol}/virtualhosts/virtualhost/{vhost}/level/{level-num}", "array":[ { "properties":{ "level-num":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'0': Default policy level; ", "enum":[ "0" ], "optional":false }, "src-default-glid":{ "type":"string", "format":"string-rlx", "plat-neg-list":["softax-ddet"], "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/glid", "description":"Global limit ID", "optional":true }, "glid-action":{ "type":"string", "format":"enum", "plat-neg-list":["softax-ddet"], "partition-visibility":"shared", "description":"'drop': Drop packets for glid exceed (Default); 'blacklist-src': Blacklist-src for glid exceed; 'ignore': Do nothing for glid exceed; ", "enum":[ "drop", "blacklist-src", "ignore" ], "optional":true }, "zone-template":{ "type":"object", "properties":{ "tcp":{ "type":"string", "format":"string-rlx", "plat-neg-list":["softax-ddet"], "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"DDOS tcp template" } } }, "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":[ "level-num" ] } ] } }, "required":[ "vhost" ] } ] } } }