Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@
"x-ms-pageable": {
"nextLinkName": "nextLink"
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}": {
Comment thread
venk8 marked this conversation as resolved.
Outdated
"get": {
Expand Down Expand Up @@ -277,7 +277,7 @@
},
"allOf": [
{
"$ref": "./network.json#/definitions/Resource"
"$ref": "./network.json#/definitions/Resource"
}
]
},
Expand All @@ -288,13 +288,21 @@
"description": "Describes policySettings for policy",
"$ref": "#/definitions/PolicySettings"
},
"policyDetailSettings": {
"description": "Describes policyDetailSettings for policy",
Comment thread
venk8 marked this conversation as resolved.
Outdated
"$ref": "#/definitions/policyDetailSettings"
},
"customRules": {
"description": "Describes custom rules inside the policy",
"type": "array",
"items": {
"$ref": "#/definitions/WebApplicationFirewallCustomRule"
}
},
"managedRules": {
"description": "Describes managed rules inside the policy",
"$ref": "#/definitions/ManagedRuleSets"
},
"applicationGateways": {
"readOnly": true,
"type": "array",
Expand Down Expand Up @@ -375,6 +383,31 @@
}
}
},
"policyDetailSettings": {
Comment thread
venk8 marked this conversation as resolved.
Outdated
"description": "Defines contents of a web application firewall global detail configuration",
"properties": {
"requestBodyCheck": {
"type": "boolean",
"description": "Whether allow WAF to check request Body."
Comment thread
venk8 marked this conversation as resolved.
Outdated
},
"maxRequestBodySizeInKb": {
"type": "integer",
"format": "int32",
"maximum": 128,
"exclusiveMaximum": false,
"minimum": 8,
"exclusiveMinimum": false,
"description": "Maximum request body size in Kb for WAF."
},
"fileUploadLimitInMb": {
"type": "integer",
"format": "int32",
"minimum": 0,
"exclusiveMinimum": false,
"description": "Maximum file upload size in Mb for WAF."
}
}
},
"WebApplicationFirewallCustomRule": {
"description": "Defines contents of a web application rule",
"required": [
Expand Down Expand Up @@ -534,6 +567,115 @@
}
}
},
"ManagedRuleSets": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please put these definitions (this and below until parameters) under the definitions entry.

You could use these validation tools to check for structure issues locally.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added it on to definitions.

"description": "Defines ManagedRuleSets - array of managedRuleSet",
"properties": {
"ruleSets": {
"description": "List of rules",
"type": "array",
"items": {
"$ref": "#/definitions/ManagedRuleSet"
}
}
}
},
"ManagedRuleSet": {
"type": "object",
"description": "Base class for all types of ManagedRuleSet.",
"x-ms-discriminator-value": "Unknown",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

x-ms-discriminator-value must be set on the derived classes instead

"properties": {
"ruleSetVersion": {
"description": "defines version of the rule set",
"type": "string"
},
"ruleSetType": {
"description": "RuleSetType - AzureManagedRuleSet or OWASP RuleSets.",
"type": "string"
}
},
"required": [
"ruleSetType"
],
"discriminator": "ruleSetType"
},
"OWASPRuleSet": {
"type": "object",
"description": "Describes azure managed provider.",
"x-ms-discriminator-value": "OWASPRuleSet",
"properties": {
"ruleSetConfiguration": {
"$ref": "#/definitions/OWASPRuleSetConfiguration",
"description": "OWASP rule set configuration."
}
},
"allOf": [
{
"$ref": "#/definitions/ManagedRuleSet"
}
]
},
"OWASPRuleSetConfiguration": {
"properties": {
"disabledRuleGroups": {
"type": "array",
"items": {
"$ref": "#/definitions/OWASPRuleSetDisabledRuleGroup"
},
"description": "The disabled rule groups."
},
"exclusions": {
"type": "array",
"items": {
"$ref": "#/definitions/OWASPRuleSetExclusion"
},
"description": "The exclusion list."
}
},
"description": "OWASP rule set configuration."
},
"OWASPRuleSetDisabledRuleGroup": {
"properties": {
"ruleGroupName": {
"type": "string",
"description": "The name of the rule group that will be disabled."
},
"rules": {
"type": "array",
"items": {
"type": "integer",
"format": "int32",
"x-nullable": false
},
"description": "The list of rules that will be disabled. If null, all rules of the rule group will be disabled."
}
},
"required": [
"ruleGroupName"
],
"description": "Allows to disable rules within a rule group or an entire rule group."
},
"OWASPRuleSetExclusion": {
"properties": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check which of these properties are readonly and set them appropriately

"matchVariable": {
"type": "string",
"description": "The variable to be excluded."
},
"selectorMatchOperator": {
"type": "string",
"description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to."
},
"selector": {
"type": "string",
"description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to."
}
},
"required": [
Comment thread
venk8 marked this conversation as resolved.
Outdated
"matchVariable",
"selectorMatchOperator",
"selector"
],
"description": "Allow to exclude some variable satisfy the condition for the WAF check"
},
"parameters": {
"SubscriptionIdParameter": {
"name": "subscriptionId",
Expand All @@ -550,4 +692,4 @@
"description": "Client API version."
}
}
}
}