Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXR3b3JrL2Zyb250ZG9vcndlYmFwcGxpY2F0aW9uZmlyZXdhbGxwb2xpY2llcw==/2025-03-01.xml (338 lines of code) (raw):

<?xml version='1.0' encoding='utf-8'?> <CodeGen plane="mgmt-plane"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/frontdoorwebapplicationfirewallpolicies" version="2025-03-01" swagger="mgmt-plane/frontdoor/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9mcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXM=/V/MjAyNS0wMy0wMQ=="/> <commandGroup name="network front-door waf-policy"> <command name="list" version="2025-03-01"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.network/frontdoorwebapplicationfirewallpolicies" version="2025-03-01" swagger="mgmt-plane/frontdoor/ResourceProviders/Microsoft.Network/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9mcm9udERvb3JXZWJBcHBsaWNhdGlvbkZpcmV3YWxsUG9saWNpZXM=/V/MjAyNS0wMy0wMQ=="/> <argGroup name=""> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <operation operationId="Policies_List"> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies"> <request method="get"> <path> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format pattern="^[a-zA-Z0-9_\-\(\)\.]*[^\.]$" maxLength="80" minLength="1"/> </param> <param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/> </path> <query> <const readOnly="True" const="True" type="string" name="api-version" required="True"> <default value="&quot;2025-03-01&quot;"/> </const> </query> </request> <response statusCode="200"> <body> <json var="$Instance"> <schema type="object"> <prop type="string" name="nextLink"/> <prop readOnly="True" type="array<object>" name="value"> <item type="object"> <prop type="string" name="etag"/> <prop readOnly="True" type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{}"/> </prop> <prop type="ResourceLocation" name="location"/> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="customRules"> <prop type="array<object>" name="rules"> <item type="object"> <prop type="string" name="action" required="True"> <enum> <item value="&quot;Allow&quot;"/> <item value="&quot;AnomalyScoring&quot;"/> <item value="&quot;Block&quot;"/> <item value="&quot;CAPTCHA&quot;"/> <item value="&quot;JSChallenge&quot;"/> <item value="&quot;Log&quot;"/> <item value="&quot;Redirect&quot;"/> </enum> </prop> <prop type="string" name="enabledState"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> <prop type="array<object>" name="groupBy"> <item type="object"> <prop type="string" name="variableName" required="True"> <enum> <item value="&quot;GeoLocation&quot;"/> <item value="&quot;None&quot;"/> <item value="&quot;SocketAddr&quot;"/> </enum> </prop> </item> </prop> <prop type="array<object>" name="matchConditions" required="True"> <item type="object"> <prop type="array<string>" name="matchValue" required="True"> <item type="string"/> </prop> <prop type="string" name="matchVariable" required="True"> <enum> <item value="&quot;Cookies&quot;"/> <item value="&quot;PostArgs&quot;"/> <item value="&quot;QueryString&quot;"/> <item value="&quot;RemoteAddr&quot;"/> <item value="&quot;RequestBody&quot;"/> <item value="&quot;RequestHeader&quot;"/> <item value="&quot;RequestMethod&quot;"/> <item value="&quot;RequestUri&quot;"/> <item value="&quot;SocketAddr&quot;"/> </enum> </prop> <prop type="boolean" name="negateCondition"/> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;BeginsWith&quot;"/> <item value="&quot;Contains&quot;"/> <item value="&quot;EndsWith&quot;"/> <item value="&quot;Equal&quot;"/> <item value="&quot;GeoMatch&quot;"/> <item value="&quot;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;IPMatch&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="string" name="selector"/> <prop type="array<string>" name="transforms"> <item type="string"> <enum> <item value="&quot;Lowercase&quot;"/> <item value="&quot;RemoveNulls&quot;"/> <item value="&quot;Trim&quot;"/> <item value="&quot;Uppercase&quot;"/> <item value="&quot;UrlDecode&quot;"/> <item value="&quot;UrlEncode&quot;"/> </enum> </item> </prop> </item> </prop> <prop type="string" name="name"> <format maxLength="128"/> </prop> <prop type="integer" name="priority" required="True"/> <prop type="integer" name="rateLimitDurationInMinutes"> <format maximum="5" minimum="0"/> </prop> <prop type="integer" name="rateLimitThreshold"> <format minimum="0"/> </prop> <prop type="string" name="ruleType" required="True"> <enum> <item value="&quot;MatchRule&quot;"/> <item value="&quot;RateLimitRule&quot;"/> </enum> </prop> </item> </prop> </prop> <prop readOnly="True" type="array<object>" name="frontendEndpointLinks"> <item readOnly="True" type="object"> <prop type="string" name="id"/> </item> </prop> <prop type="object" name="managedRules"> <prop type="array<object>" name="managedRuleSets"> <item type="object"> <prop type="array<object>" name="exclusions"> <item type="object" cls="ManagedRuleExclusion_read"> <prop type="string" name="matchVariable" required="True"> <enum> <item value="&quot;QueryStringArgNames&quot;"/> <item value="&quot;RequestBodyJsonArgNames&quot;"/> <item value="&quot;RequestBodyPostArgNames&quot;"/> <item value="&quot;RequestCookieNames&quot;"/> <item value="&quot;RequestHeaderNames&quot;"/> </enum> </prop> <prop type="string" name="selector" required="True"/> <prop type="string" name="selectorMatchOperator" required="True"> <enum> <item value="&quot;Contains&quot;"/> <item value="&quot;EndsWith&quot;"/> <item value="&quot;Equals&quot;"/> <item value="&quot;EqualsAny&quot;"/> <item value="&quot;StartsWith&quot;"/> </enum> </prop> </item> </prop> <prop type="array<object>" name="ruleGroupOverrides"> <item type="object"> <prop type="array<@ManagedRuleExclusion_read>" name="exclusions"> <item type="@ManagedRuleExclusion_read"/> </prop> <prop type="string" name="ruleGroupName" required="True"/> <prop type="array<object>" name="rules"> <item type="object"> <prop type="string" name="action"> <enum> <item value="&quot;Allow&quot;"/> <item value="&quot;AnomalyScoring&quot;"/> <item value="&quot;Block&quot;"/> <item value="&quot;CAPTCHA&quot;"/> <item value="&quot;JSChallenge&quot;"/> <item value="&quot;Log&quot;"/> <item value="&quot;Redirect&quot;"/> </enum> </prop> <prop type="string" name="enabledState"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> <prop type="array<@ManagedRuleExclusion_read>" name="exclusions"> <item type="@ManagedRuleExclusion_read"/> </prop> <prop type="string" name="ruleId" required="True"/> </item> </prop> </item> </prop> <prop type="string" name="ruleSetAction"> <enum> <item value="&quot;Block&quot;"/> <item value="&quot;Log&quot;"/> <item value="&quot;Redirect&quot;"/> </enum> </prop> <prop type="string" name="ruleSetType" required="True"/> <prop type="string" name="ruleSetVersion" required="True"/> </item> </prop> </prop> <prop type="object" name="policySettings"> <prop type="integer32" name="captchaExpirationInMinutes"> <format maximum="1440" minimum="5"/> </prop> <prop type="string" name="customBlockResponseBody"> <format pattern="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$"/> </prop> <prop type="integer" name="customBlockResponseStatusCode"/> <prop type="string" name="enabledState"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> <prop type="integer32" name="javascriptChallengeExpirationInMinutes"> <format maximum="1440" minimum="5"/> </prop> <prop type="object" name="logScrubbing" clientFlatten="True"> <prop type="array<object>" name="scrubbingRules"> <item type="object"> <prop type="string" name="matchVariable" required="True"> <enum> <item value="&quot;QueryStringArgNames&quot;"/> <item value="&quot;RequestBodyJsonArgNames&quot;"/> <item value="&quot;RequestBodyPostArgNames&quot;"/> <item value="&quot;RequestCookieNames&quot;"/> <item value="&quot;RequestHeaderNames&quot;"/> <item value="&quot;RequestIPAddress&quot;"/> <item value="&quot;RequestUri&quot;"/> </enum> </prop> <prop type="string" name="selector"/> <prop type="string" name="selectorMatchOperator" required="True"> <enum> <item value="&quot;Equals&quot;"/> <item value="&quot;EqualsAny&quot;"/> </enum> </prop> <prop type="string" name="state"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> </item> </prop> <prop type="string" name="state"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> </prop> <prop type="string" name="mode"> <enum> <item value="&quot;Detection&quot;"/> <item value="&quot;Prevention&quot;"/> </enum> </prop> <prop type="string" name="redirectUrl"/> <prop type="string" name="requestBodyCheck"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> </prop> <prop readOnly="True" type="string" name="provisioningState"/> <prop readOnly="True" type="string" name="resourceState"> <enum> <item value="&quot;Creating&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Disabled&quot;"/> <item value="&quot;Disabling&quot;"/> <item value="&quot;Enabled&quot;"/> <item value="&quot;Enabling&quot;"/> </enum> </prop> <prop readOnly="True" type="array<object>" name="routingRuleLinks"> <item readOnly="True" type="object"> <prop type="string" name="id"/> </item> </prop> <prop readOnly="True" type="array<object>" name="securityPolicyLinks"> <item readOnly="True" type="object"> <prop type="string" name="id"/> </item> </prop> </prop> <prop type="object" name="sku"> <prop type="string" name="name"> <enum> <item value="&quot;Classic_AzureFrontDoor&quot;"/> <item value="&quot;Premium_AzureFrontDoor&quot;"/> <item value="&quot;Standard_AzureFrontDoor&quot;"/> </enum> </prop> </prop> <prop type="object" name="tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> <prop readOnly="True" type="string" name="type"/> </item> </prop> </schema> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@ODataV4Format"/> </json> </body> </response> </http> </operation> <output type="array" ref="$Instance.value" clientFlatten="True" nextLink="$Instance.nextLink"/> </command> </commandGroup> </CodeGen>