Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jZG4vcHJvZmlsZXMve30vcnVsZXNldHMve30vcnVsZXMve30=/2023-05-01.xml (7,559 lines of code) (raw):

<?xml version='1.0' encoding='utf-8'?> <CodeGen plane="mgmt-plane"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.cdn/profiles/{}/rulesets/{}/rules/{}" version="2023-05-01" swagger="mgmt-plane/cdn/ResourceProviders/Microsoft.Cdn/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ2RuL3Byb2ZpbGVzL3twcm9maWxlTmFtZX0vcnVsZVNldHMve3J1bGVTZXROYW1lfS9ydWxlcy97cnVsZU5hbWV9/V/MjAyMy0wNS0wMQ=="/> <commandGroup name="afd rule"> <command name="show" version="2023-05-01"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.cdn/profiles/{}/rulesets/{}/rules/{}" version="2023-05-01" swagger="mgmt-plane/cdn/ResourceProviders/Microsoft.Cdn/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ2RuL3Byb2ZpbGVzL3twcm9maWxlTmFtZX0vcnVsZVNldHMve3J1bGVTZXROYW1lfS9ydWxlcy97cnVsZU5hbWV9/V/MjAyMy0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.profileName" options="profile-name" required="True" idPart="name"> <help short="Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group."/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="string" var="$Path.ruleName" options="rule-name name n" required="True" idPart="child_name_2"> <help short="Name of the delivery rule which is unique within the endpoint."/> </arg> <arg type="string" var="$Path.ruleSetName" options="rule-set-name" required="True" idPart="child_name_1"> <help short="Name of the rule set under the profile."/> </arg> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <operation operationId="Rules_Get"> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName}"> <request method="get"> <path> <param type="string" name="profileName" arg="$Path.profileName" required="True"/> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format pattern="^[-\w\._\(\)]+$" maxLength="90" minLength="1"/> </param> <param type="string" name="ruleName" arg="$Path.ruleName" required="True"/> <param type="string" name="ruleSetName" arg="$Path.ruleSetName" required="True"/> <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;2023-05-01&quot;"/> </const> </query> </request> <response statusCode="200"> <body> <json var="$Instance"> <schema type="object"> <prop readOnly="True" type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Cdn/profiles/{}/ruleSets/{}/rules/{}"/> </prop> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<object>" name="actions" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item value="&quot;CacheExpiration&quot;"/> <item value="&quot;CacheKeyQueryString&quot;"/> <item value="&quot;ModifyRequestHeader&quot;"/> <item value="&quot;ModifyResponseHeader&quot;"/> <item value="&quot;OriginGroupOverride&quot;"/> <item value="&quot;RouteConfigurationOverride&quot;"/> <item value="&quot;UrlRedirect&quot;"/> <item value="&quot;UrlRewrite&quot;"/> <item value="&quot;UrlSigning&quot;"/> </enum> </prop> <discriminator property="name" value="CacheExpiration"> <prop type="object" name="parameters" required="True"> <prop type="string" name="cacheBehavior" required="True"> <enum> <item value="&quot;BypassCache&quot;"/> <item value="&quot;Override&quot;"/> <item value="&quot;SetIfMissing&quot;"/> </enum> </prop> <prop nullable="True" type="string" name="cacheDuration"/> <prop type="string" name="cacheType" required="True"> <enum> <item value="&quot;All&quot;"/> </enum> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCacheExpirationActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="CacheKeyQueryString"> <prop type="object" name="parameters" required="True"> <prop nullable="True" type="string" name="queryParameters"/> <prop type="string" name="queryStringBehavior" required="True"> <enum> <item value="&quot;Exclude&quot;"/> <item value="&quot;ExcludeAll&quot;"/> <item value="&quot;Include&quot;"/> <item value="&quot;IncludeAll&quot;"/> </enum> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCacheKeyQueryStringBehaviorActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="ModifyRequestHeader"> <prop type="object" name="parameters" required="True" cls="HeaderActionParameters_read"> <prop type="string" name="headerAction" required="True"> <enum> <item value="&quot;Append&quot;"/> <item value="&quot;Delete&quot;"/> <item value="&quot;Overwrite&quot;"/> </enum> </prop> <prop type="string" name="headerName" required="True"/> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHeaderActionParameters&quot;"/> </enum> </prop> <prop type="string" name="value"/> </prop> </discriminator> <discriminator property="name" value="ModifyResponseHeader"> <prop type="@HeaderActionParameters_read" name="parameters" required="True"/> </discriminator> <discriminator property="name" value="OriginGroupOverride"> <prop type="object" name="parameters" required="True"> <prop type="object" name="originGroup" required="True" cls="ResourceReference_read"> <prop type="string" name="id"/> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleOriginGroupOverrideActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RouteConfigurationOverride"> <prop type="object" name="parameters" required="True"> <prop type="object" name="cacheConfiguration"> <prop type="string" name="cacheBehavior"> <enum> <item value="&quot;HonorOrigin&quot;"/> <item value="&quot;OverrideAlways&quot;"/> <item value="&quot;OverrideIfOriginMissing&quot;"/> </enum> </prop> <prop type="string" name="cacheDuration"/> <prop type="string" name="isCompressionEnabled"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> <prop type="string" name="queryParameters"/> <prop type="string" name="queryStringCachingBehavior"> <enum> <item value="&quot;IgnoreQueryString&quot;"/> <item value="&quot;IgnoreSpecifiedQueryStrings&quot;"/> <item value="&quot;IncludeSpecifiedQueryStrings&quot;"/> <item value="&quot;UseQueryString&quot;"/> </enum> </prop> </prop> <prop type="object" name="originGroupOverride"> <prop type="string" name="forwardingProtocol"> <enum> <item value="&quot;HttpOnly&quot;"/> <item value="&quot;HttpsOnly&quot;"/> <item value="&quot;MatchRequest&quot;"/> </enum> </prop> <prop type="@ResourceReference_read" name="originGroup"/> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRouteConfigurationOverrideActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlRedirect"> <prop type="object" name="parameters" required="True"> <prop type="string" name="customFragment"/> <prop type="string" name="customHostname"/> <prop type="string" name="customPath"/> <prop type="string" name="customQueryString"/> <prop type="string" name="destinationProtocol"> <enum> <item value="&quot;Http&quot;"/> <item value="&quot;Https&quot;"/> <item value="&quot;MatchRequest&quot;"/> </enum> </prop> <prop type="string" name="redirectType" required="True"> <enum> <item value="&quot;Found&quot;"/> <item value="&quot;Moved&quot;"/> <item value="&quot;PermanentRedirect&quot;"/> <item value="&quot;TemporaryRedirect&quot;"/> </enum> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlRedirectActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlRewrite"> <prop type="object" name="parameters" required="True"> <prop type="string" name="destination" required="True"/> <prop type="boolean" name="preserveUnmatchedPath"/> <prop type="string" name="sourcePattern" required="True"/> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlRewriteActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlSigning"> <prop type="object" name="parameters" required="True"> <prop type="string" name="algorithm"> <enum> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="array<object>" name="parameterNameOverride" identifiers="paramName"> <item type="object"> <prop type="string" name="paramIndicator" required="True"> <enum> <item value="&quot;Expires&quot;"/> <item value="&quot;KeyId&quot;"/> <item value="&quot;Signature&quot;"/> </enum> </prop> <prop type="string" name="paramName" required="True"/> </item> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlSigningActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop type="array<object>" name="conditions" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item value="&quot;ClientPort&quot;"/> <item value="&quot;Cookies&quot;"/> <item value="&quot;HostName&quot;"/> <item value="&quot;HttpVersion&quot;"/> <item value="&quot;IsDevice&quot;"/> <item value="&quot;PostArgs&quot;"/> <item value="&quot;QueryString&quot;"/> <item value="&quot;RemoteAddress&quot;"/> <item value="&quot;RequestBody&quot;"/> <item value="&quot;RequestHeader&quot;"/> <item value="&quot;RequestMethod&quot;"/> <item value="&quot;RequestScheme&quot;"/> <item value="&quot;RequestUri&quot;"/> <item value="&quot;ServerPort&quot;"/> <item value="&quot;SocketAddr&quot;"/> <item value="&quot;SslProtocol&quot;"/> <item value="&quot;UrlFileExtension&quot;"/> <item value="&quot;UrlFileName&quot;"/> <item value="&quot;UrlPath&quot;"/> </enum> </prop> <discriminator property="name" value="ClientPort"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleClientPortConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="Cookies"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCookiesConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="HostName"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHostNameConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="HttpVersion"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHttpVersionConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="IsDevice"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;Desktop&quot;"/> <item value="&quot;Mobile&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleIsDeviceConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="PostArgs"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRulePostArgsConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="QueryString"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleQueryStringConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RemoteAddress"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;GeoMatch&quot;"/> <item value="&quot;IPMatch&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRemoteAddressConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestBody"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestBodyConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestHeader"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestHeaderConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestMethod"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;DELETE&quot;"/> <item value="&quot;GET&quot;"/> <item value="&quot;HEAD&quot;"/> <item value="&quot;OPTIONS&quot;"/> <item value="&quot;POST&quot;"/> <item value="&quot;PUT&quot;"/> <item value="&quot;TRACE&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestMethodConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestScheme"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;HTTP&quot;"/> <item value="&quot;HTTPS&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestSchemeConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestUri"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestUriConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="ServerPort"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleServerPortConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="SocketAddr"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;IPMatch&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleSocketAddrConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="SslProtocol"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;TLSv1&quot;"/> <item value="&quot;TLSv1.1&quot;"/> <item value="&quot;TLSv1.2&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleSslProtocolConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlFileExtension"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlFileExtensionMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlFileName"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlFilenameConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlPath"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> <item value="&quot;Wildcard&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlPathMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop readOnly="True" type="string" name="deploymentStatus"> <enum> <item value="&quot;Failed&quot;"/> <item value="&quot;InProgress&quot;"/> <item value="&quot;NotStarted&quot;"/> <item value="&quot;Succeeded&quot;"/> </enum> </prop> <prop type="string" name="matchProcessingBehavior"> <default value="&quot;Continue&quot;"/> <enum> <item value="&quot;Continue&quot;"/> <item value="&quot;Stop&quot;"/> </enum> </prop> <prop type="integer32" name="order" required="True"/> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Creating&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="ruleSetName"/> </prop> <prop readOnly="True" type="object" name="systemData"> <prop type="dateTime" name="createdAt"/> <prop type="string" name="createdBy"/> <prop type="string" name="createdByType"> <enum> <item value="&quot;application&quot;"/> <item value="&quot;key&quot;"/> <item value="&quot;managedIdentity&quot;"/> <item value="&quot;user&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;application&quot;"/> <item value="&quot;key&quot;"/> <item value="&quot;managedIdentity&quot;"/> <item value="&quot;user&quot;"/> </enum> </prop> </prop> <prop readOnly="True" type="string" name="type"/> </schema> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@MgmtErrorFormat"/> </json> </body> </response> </http> </operation> <output type="object" ref="$Instance" clientFlatten="True"/> </command> <command name="delete" version="2023-05-01" confirmation="Are you sure you want to perform this operation?"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.cdn/profiles/{}/rulesets/{}/rules/{}" version="2023-05-01" swagger="mgmt-plane/cdn/ResourceProviders/Microsoft.Cdn/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ2RuL3Byb2ZpbGVzL3twcm9maWxlTmFtZX0vcnVsZVNldHMve3J1bGVTZXROYW1lfS9ydWxlcy97cnVsZU5hbWV9/V/MjAyMy0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.profileName" options="profile-name" required="True" idPart="name"> <help short="Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group."/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="string" var="$Path.ruleName" options="rule-name name n" required="True" idPart="child_name_2"> <help short="Name of the delivery rule which is unique within the endpoint."/> </arg> <arg type="string" var="$Path.ruleSetName" options="rule-set-name" required="True" idPart="child_name_1"> <help short="Name of the rule set under the profile."/> </arg> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <operation operationId="Rules_Delete"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName}"> <request method="delete"> <path> <param type="string" name="profileName" arg="$Path.profileName" required="True"/> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format pattern="^[-\w\._\(\)]+$" maxLength="90" minLength="1"/> </param> <param type="string" name="ruleName" arg="$Path.ruleName" required="True"/> <param type="string" name="ruleSetName" arg="$Path.ruleSetName" required="True"/> <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;2023-05-01&quot;"/> </const> </query> </request> <response statusCode="200"/> <response statusCode="202"> <header> <item name="location"/> </header> </response> <response statusCode="204"/> <response isError="True"> <body> <json> <schema type="@MgmtErrorFormat"/> </json> </body> </response> </http> </operation> </command> <command name="create" version="2023-05-01"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.cdn/profiles/{}/rulesets/{}/rules/{}" version="2023-05-01" swagger="mgmt-plane/cdn/ResourceProviders/Microsoft.Cdn/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ2RuL3Byb2ZpbGVzL3twcm9maWxlTmFtZX0vcnVsZVNldHMve3J1bGVTZXROYW1lfS9ydWxlcy97cnVsZU5hbWV9/V/MjAyMy0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.profileName" options="profile-name" required="True" idPart="name"> <help short="Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group."/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="string" var="$Path.ruleName" options="rule-name name n" required="True" idPart="child_name_2"> <help short="Name of the delivery rule which is unique within the endpoint."/> </arg> <arg type="string" var="$Path.ruleSetName" options="rule-set-name" required="True" idPart="child_name_1"> <help short="Name of the rule set under the profile."/> </arg> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <argGroup name="Properties"> <arg type="array<object>" var="$rule.properties.actions" options="actions" group="Properties"> <help short="A list of actions that are executed when all the conditions of a rule are satisfied."/> <item type="object"> <arg type="object" var="$rule.properties.actions[].CacheExpiration" options="cache-expiration"> <arg type="object" var="$rule.properties.actions[].CacheExpiration.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="string" var="$rule.properties.actions[].CacheExpiration.parameters.cacheBehavior" options="cache-behavior" required="True"> <help short="Caching behavior for the requests"/> <enum> <item name="BypassCache" value="&quot;BypassCache&quot;"/> <item name="Override" value="&quot;Override&quot;"/> <item name="SetIfMissing" value="&quot;SetIfMissing&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$rule.properties.actions[].CacheExpiration.parameters.cacheDuration" options="cache-duration"> <help short="The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss"/> </arg> <arg type="string" var="$rule.properties.actions[].CacheExpiration.parameters.cacheType" options="cache-type" required="True"> <help short="The level at which the content needs to be cached."/> <enum> <item name="All" value="&quot;All&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].CacheExpiration.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleCacheExpirationActionParameters" value="&quot;DeliveryRuleCacheExpirationActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].CacheKeyQueryString" options="cache-key-query-string"> <arg type="object" var="$rule.properties.actions[].CacheKeyQueryString.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg nullable="True" type="string" var="$rule.properties.actions[].CacheKeyQueryString.parameters.queryParameters" options="query-parameters"> <help short="query parameters to include or exclude (comma separated)."/> </arg> <arg type="string" var="$rule.properties.actions[].CacheKeyQueryString.parameters.queryStringBehavior" options="query-string-behavior" required="True"> <help short="Caching behavior for the requests"/> <enum> <item name="Exclude" value="&quot;Exclude&quot;"/> <item name="ExcludeAll" value="&quot;ExcludeAll&quot;"/> <item name="Include" value="&quot;Include&quot;"/> <item name="IncludeAll" value="&quot;IncludeAll&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].CacheKeyQueryString.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" value="&quot;DeliveryRuleCacheKeyQueryStringBehaviorActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].ModifyRequestHeader" options="modify-request-header"> <arg type="object" var="$rule.properties.actions[].ModifyRequestHeader.parameters" options="parameters" required="True" cls="HeaderActionParameters_create"> <help short="Defines the parameters for the action."/> <arg type="string" var="@HeaderActionParameters_create.headerAction" options="header-action" required="True"> <help short="Action to perform"/> <enum> <item name="Append" value="&quot;Append&quot;"/> <item name="Delete" value="&quot;Delete&quot;"/> <item name="Overwrite" value="&quot;Overwrite&quot;"/> </enum> </arg> <arg type="string" var="@HeaderActionParameters_create.headerName" options="header-name" required="True"> <help short="Name of the header to modify"/> </arg> <arg type="string" var="@HeaderActionParameters_create.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleHeaderActionParameters" value="&quot;DeliveryRuleHeaderActionParameters&quot;"/> </enum> </arg> <arg type="string" var="@HeaderActionParameters_create.value" options="value"> <help short="Value for the specified action"/> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].ModifyResponseHeader" options="modify-response-header"> <arg type="@HeaderActionParameters_create" var="$rule.properties.actions[].ModifyResponseHeader.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> </arg> </arg> <arg type="object" var="$rule.properties.actions[].OriginGroupOverride" options="origin-group-override"> <arg type="object" var="$rule.properties.actions[].OriginGroupOverride.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="object" var="$rule.properties.actions[].OriginGroupOverride.parameters.originGroup" options="origin-group" required="True" cls="ResourceReference_create"> <help short="defines the OriginGroup that would override the DefaultOriginGroup."/> <arg type="string" var="@ResourceReference_create.id" options="id"> <help short="Resource ID."/> </arg> </arg> <arg type="string" var="$rule.properties.actions[].OriginGroupOverride.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleOriginGroupOverrideActionParameters" value="&quot;DeliveryRuleOriginGroupOverrideActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].RouteConfigurationOverride" options="route-configuration-override"> <arg type="object" var="$rule.properties.actions[].RouteConfigurationOverride.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="object" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration" options="cache-configuration"> <help short="The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object."/> <arg type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.cacheBehavior" options="cache-behavior"> <help short="Caching behavior for the requests"/> <enum> <item name="HonorOrigin" value="&quot;HonorOrigin&quot;"/> <item name="OverrideAlways" value="&quot;OverrideAlways&quot;"/> <item name="OverrideIfOriginMissing" value="&quot;OverrideIfOriginMissing&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.cacheDuration" options="cache-duration"> <help short="The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss"/> </arg> <arg type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.isCompressionEnabled" options="is-compression-enabled" group=""> <help short="Indicates whether content compression is enabled. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB."/> <enum> <item name="Disabled" value="&quot;Disabled&quot;"/> <item name="Enabled" value="&quot;Enabled&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryParameters" options="query-parameters"> <help short="query parameters to include or exclude (comma separated)."/> </arg> <arg type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryStringCachingBehavior" options="query-string-caching-behavior"> <help short="Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings."/> <enum> <item name="IgnoreQueryString" value="&quot;IgnoreQueryString&quot;"/> <item name="IgnoreSpecifiedQueryStrings" value="&quot;IgnoreSpecifiedQueryStrings&quot;"/> <item name="IncludeSpecifiedQueryStrings" value="&quot;IncludeSpecifiedQueryStrings&quot;"/> <item name="UseQueryString" value="&quot;UseQueryString&quot;"/> </enum> </arg> </arg> <arg type="object" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride" options="origin-group-override"> <help short="A reference to the origin group override configuration. Leave empty to use the default origin group on route."/> <arg type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride.forwardingProtocol" options="forwarding-protocol"> <help short="Protocol this rule will use when forwarding traffic to backends."/> <enum> <item name="HttpOnly" value="&quot;HttpOnly&quot;"/> <item name="HttpsOnly" value="&quot;HttpsOnly&quot;"/> <item name="MatchRequest" value="&quot;MatchRequest&quot;"/> </enum> </arg> <arg type="@ResourceReference_create" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride.originGroup" options="origin-group"> <help short="defines the OriginGroup that would override the DefaultOriginGroup on route."/> </arg> </arg> <arg type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleRouteConfigurationOverrideActionParameters" value="&quot;DeliveryRuleRouteConfigurationOverrideActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].UrlRedirect" options="url-redirect"> <arg type="object" var="$rule.properties.actions[].UrlRedirect.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="string" var="$rule.properties.actions[].UrlRedirect.parameters.customFragment" options="custom-fragment"> <help short="Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #."/> </arg> <arg type="string" var="$rule.properties.actions[].UrlRedirect.parameters.customHostname" options="custom-hostname"> <help short="Host to redirect. Leave empty to use the incoming host as the destination host."/> </arg> <arg type="string" var="$rule.properties.actions[].UrlRedirect.parameters.customPath" options="custom-path"> <help short="The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path."/> </arg> <arg type="string" var="$rule.properties.actions[].UrlRedirect.parameters.customQueryString" options="custom-querystring" group=""> <help short="The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in <key>=<value> format. ? and & will be added automatically so do not include them."/> </arg> <arg type="string" var="$rule.properties.actions[].UrlRedirect.parameters.destinationProtocol" options="destination-protocol"> <help short="Protocol to use for the redirect. The default value is MatchRequest"/> <enum> <item name="Http" value="&quot;Http&quot;"/> <item name="Https" value="&quot;Https&quot;"/> <item name="MatchRequest" value="&quot;MatchRequest&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].UrlRedirect.parameters.redirectType" options="redirect-type" required="True"> <help short="The redirect type the rule will use when redirecting traffic."/> <enum> <item name="Found" value="&quot;Found&quot;"/> <item name="Moved" value="&quot;Moved&quot;"/> <item name="PermanentRedirect" value="&quot;PermanentRedirect&quot;"/> <item name="TemporaryRedirect" value="&quot;TemporaryRedirect&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].UrlRedirect.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleUrlRedirectActionParameters" value="&quot;DeliveryRuleUrlRedirectActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].UrlRewrite" options="url-rewrite"> <arg type="object" var="$rule.properties.actions[].UrlRewrite.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="string" var="$rule.properties.actions[].UrlRewrite.parameters.destination" options="destination" required="True"> <help short="Define the relative URL to which the above requests will be rewritten by."/> </arg> <arg type="boolean" var="$rule.properties.actions[].UrlRewrite.parameters.preserveUnmatchedPath" options="preserve-unmatched-path"> <help short="Whether to preserve unmatched path. Default value is true."/> </arg> <arg type="string" var="$rule.properties.actions[].UrlRewrite.parameters.sourcePattern" options="source-pattern" required="True"> <help short="define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched."/> </arg> <arg type="string" var="$rule.properties.actions[].UrlRewrite.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleUrlRewriteActionParameters" value="&quot;DeliveryRuleUrlRewriteActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].UrlSigning" options="url-signing"> <arg type="object" var="$rule.properties.actions[].UrlSigning.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="string" var="$rule.properties.actions[].UrlSigning.parameters.algorithm" options="algorithm"> <help short="Algorithm to use for URL signing"/> <enum> <item name="SHA256" value="&quot;SHA256&quot;"/> </enum> </arg> <arg type="array<object>" var="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride" options="parameter-name-override"> <help short="Defines which query string parameters in the url to be considered for expires, key id etc. "/> <item type="object"> <arg type="string" var="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride[].paramIndicator" options="param-indicator" required="True"> <help short="Indicates the purpose of the parameter"/> <enum> <item name="Expires" value="&quot;Expires&quot;"/> <item name="KeyId" value="&quot;KeyId&quot;"/> <item name="Signature" value="&quot;Signature&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride[].paramName" options="param-name" required="True"> <help short="Parameter name"/> </arg> </item> </arg> <arg type="string" var="$rule.properties.actions[].UrlSigning.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleUrlSigningActionParameters" value="&quot;DeliveryRuleUrlSigningActionParameters&quot;"/> </enum> </arg> </arg> </arg> </item> </arg> <arg type="array<object>" var="$rule.properties.conditions" options="conditions" group="Properties"> <help short="A list of conditions that must be matched for the actions to be executed"/> <item type="object"> <arg type="object" var="$rule.properties.conditions[].ClientPort" options="client-port"> <arg type="object" var="$rule.properties.conditions[].ClientPort.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].ClientPort.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].ClientPort.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].ClientPort.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].ClientPort.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].ClientPort.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleClientPortConditionParameters" value="&quot;DeliveryRuleClientPortConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].Cookies" options="cookies"> <arg type="object" var="$rule.properties.conditions[].Cookies.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].Cookies.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].Cookies.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].Cookies.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.conditions[].Cookies.parameters.selector" options="selector"> <help short="Name of Cookies to be matched"/> </arg> <arg type="array<string>" var="$rule.properties.conditions[].Cookies.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].Cookies.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleCookiesConditionParameters" value="&quot;DeliveryRuleCookiesConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].HostName" options="host-name"> <arg type="object" var="$rule.properties.conditions[].HostName.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].HostName.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].HostName.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].HostName.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].HostName.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].HostName.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleHostNameConditionParameters" value="&quot;DeliveryRuleHostNameConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].HttpVersion" options="http-version"> <arg type="object" var="$rule.properties.conditions[].HttpVersion.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].HttpVersion.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].HttpVersion.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].HttpVersion.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].HttpVersion.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].HttpVersion.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleHttpVersionConditionParameters" value="&quot;DeliveryRuleHttpVersionConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].IsDevice" options="is-device"> <arg type="object" var="$rule.properties.conditions[].IsDevice.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].IsDevice.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"> <enum> <item name="Desktop" value="&quot;Desktop&quot;"/> <item name="Mobile" value="&quot;Mobile&quot;"/> </enum> </item> </arg> <arg type="boolean" var="$rule.properties.conditions[].IsDevice.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].IsDevice.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].IsDevice.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].IsDevice.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleIsDeviceConditionParameters" value="&quot;DeliveryRuleIsDeviceConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].PostArgs" options="post-args"> <arg type="object" var="$rule.properties.conditions[].PostArgs.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].PostArgs.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].PostArgs.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].PostArgs.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.conditions[].PostArgs.parameters.selector" options="selector"> <help short="Name of PostArg to be matched"/> </arg> <arg type="array<string>" var="$rule.properties.conditions[].PostArgs.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].PostArgs.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRulePostArgsConditionParameters" value="&quot;DeliveryRulePostArgsConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].QueryString" options="query-string"> <arg type="object" var="$rule.properties.conditions[].QueryString.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].QueryString.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].QueryString.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].QueryString.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].QueryString.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].QueryString.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleQueryStringConditionParameters" value="&quot;DeliveryRuleQueryStringConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RemoteAddress" options="remote-address"> <arg type="object" var="$rule.properties.conditions[].RemoteAddress.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].RemoteAddress.parameters.matchValues" options="match-values"> <help short="Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match."/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].RemoteAddress.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].RemoteAddress.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="GeoMatch" value="&quot;GeoMatch&quot;"/> <item name="IPMatch" value="&quot;IPMatch&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].RemoteAddress.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RemoteAddress.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleRemoteAddressConditionParameters" value="&quot;DeliveryRuleRemoteAddressConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RequestBody" options="request-body"> <arg type="object" var="$rule.properties.conditions[].RequestBody.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].RequestBody.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].RequestBody.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].RequestBody.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].RequestBody.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RequestBody.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleRequestBodyConditionParameters" value="&quot;DeliveryRuleRequestBodyConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RequestHeader" options="request-header"> <arg type="object" var="$rule.properties.conditions[].RequestHeader.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].RequestHeader.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].RequestHeader.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].RequestHeader.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.conditions[].RequestHeader.parameters.selector" options="selector"> <help short="Name of Header to be matched"/> </arg> <arg type="array<string>" var="$rule.properties.conditions[].RequestHeader.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RequestHeader.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleRequestHeaderConditionParameters" value="&quot;DeliveryRuleRequestHeaderConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RequestMethod" options="request-method"> <arg type="object" var="$rule.properties.conditions[].RequestMethod.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].RequestMethod.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"> <enum> <item name="DELETE" value="&quot;DELETE&quot;"/> <item name="GET" value="&quot;GET&quot;"/> <item name="HEAD" value="&quot;HEAD&quot;"/> <item name="OPTIONS" value="&quot;OPTIONS&quot;"/> <item name="POST" value="&quot;POST&quot;"/> <item name="PUT" value="&quot;PUT&quot;"/> <item name="TRACE" value="&quot;TRACE&quot;"/> </enum> </item> </arg> <arg type="boolean" var="$rule.properties.conditions[].RequestMethod.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].RequestMethod.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].RequestMethod.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RequestMethod.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleRequestMethodConditionParameters" value="&quot;DeliveryRuleRequestMethodConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RequestScheme" options="request-scheme"> <arg type="object" var="$rule.properties.conditions[].RequestScheme.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].RequestScheme.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"> <enum> <item name="HTTP" value="&quot;HTTP&quot;"/> <item name="HTTPS" value="&quot;HTTPS&quot;"/> </enum> </item> </arg> <arg type="boolean" var="$rule.properties.conditions[].RequestScheme.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].RequestScheme.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].RequestScheme.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RequestScheme.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleRequestSchemeConditionParameters" value="&quot;DeliveryRuleRequestSchemeConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RequestUri" options="request-uri"> <arg type="object" var="$rule.properties.conditions[].RequestUri.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].RequestUri.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].RequestUri.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].RequestUri.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].RequestUri.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RequestUri.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleRequestUriConditionParameters" value="&quot;DeliveryRuleRequestUriConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].ServerPort" options="server-port"> <arg type="object" var="$rule.properties.conditions[].ServerPort.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].ServerPort.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].ServerPort.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].ServerPort.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].ServerPort.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].ServerPort.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleServerPortConditionParameters" value="&quot;DeliveryRuleServerPortConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].SocketAddr" options="socket-addr"> <arg type="object" var="$rule.properties.conditions[].SocketAddr.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].SocketAddr.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].SocketAddr.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].SocketAddr.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="IPMatch" value="&quot;IPMatch&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].SocketAddr.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].SocketAddr.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleSocketAddrConditionParameters" value="&quot;DeliveryRuleSocketAddrConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].SslProtocol" options="ssl-protocol"> <arg type="object" var="$rule.properties.conditions[].SslProtocol.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].SslProtocol.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"> <enum> <item name="TLSv1" value="&quot;TLSv1&quot;"/> <item name="TLSv1.1" value="&quot;TLSv1.1&quot;"/> <item name="TLSv1.2" value="&quot;TLSv1.2&quot;"/> </enum> </item> </arg> <arg type="boolean" var="$rule.properties.conditions[].SslProtocol.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].SslProtocol.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].SslProtocol.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].SslProtocol.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleSslProtocolConditionParameters" value="&quot;DeliveryRuleSslProtocolConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].UrlFileExtension" options="url-file-extension"> <arg type="object" var="$rule.properties.conditions[].UrlFileExtension.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].UrlFileExtension.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].UrlFileExtension.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].UrlFileExtension.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].UrlFileExtension.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].UrlFileExtension.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleUrlFileExtensionMatchConditionParameters" value="&quot;DeliveryRuleUrlFileExtensionMatchConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].UrlFileName" options="url-file-name"> <arg type="object" var="$rule.properties.conditions[].UrlFileName.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].UrlFileName.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].UrlFileName.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].UrlFileName.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].UrlFileName.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].UrlFileName.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleUrlFilenameConditionParameters" value="&quot;DeliveryRuleUrlFilenameConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].UrlPath" options="url-path"> <arg type="object" var="$rule.properties.conditions[].UrlPath.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$rule.properties.conditions[].UrlPath.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item type="string"/> </arg> <arg type="boolean" var="$rule.properties.conditions[].UrlPath.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> <default value="false"/> </arg> <arg type="string" var="$rule.properties.conditions[].UrlPath.parameters.operator" options="operator" required="True"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> <item name="Wildcard" value="&quot;Wildcard&quot;"/> </enum> </arg> <arg type="array<string>" var="$rule.properties.conditions[].UrlPath.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].UrlPath.parameters.typeName" options="type-name" required="True"> <enum> <item name="DeliveryRuleUrlPathMatchConditionParameters" value="&quot;DeliveryRuleUrlPathMatchConditionParameters&quot;"/> </enum> </arg> </arg> </arg> </item> </arg> <arg type="string" var="$rule.properties.matchProcessingBehavior" options="match-processing-behavior" group="Properties"> <help short="If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue."/> <default value="&quot;Continue&quot;"/> <enum> <item name="Continue" value="&quot;Continue&quot;"/> <item name="Stop" value="&quot;Stop&quot;"/> </enum> </arg> <arg type="integer32" var="$rule.properties.order" options="order" group="Properties"> <help short="The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied."/> </arg> </argGroup> <operation operationId="Rules_Create"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName}"> <request method="put"> <path> <param type="string" name="profileName" arg="$Path.profileName" required="True"/> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format pattern="^[-\w\._\(\)]+$" maxLength="90" minLength="1"/> </param> <param type="string" name="ruleName" arg="$Path.ruleName" required="True"/> <param type="string" name="ruleSetName" arg="$Path.ruleSetName" required="True"/> <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;2023-05-01&quot;"/> </const> </query> <body> <json> <schema type="object" name="rule" required="True" clientFlatten="True"> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<object>" name="actions" arg="$rule.properties.actions" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item arg="$rule.properties.actions[].CacheExpiration" value="&quot;CacheExpiration&quot;"/> <item arg="$rule.properties.actions[].CacheKeyQueryString" value="&quot;CacheKeyQueryString&quot;"/> <item arg="$rule.properties.actions[].ModifyRequestHeader" value="&quot;ModifyRequestHeader&quot;"/> <item arg="$rule.properties.actions[].ModifyResponseHeader" value="&quot;ModifyResponseHeader&quot;"/> <item arg="$rule.properties.actions[].OriginGroupOverride" value="&quot;OriginGroupOverride&quot;"/> <item arg="$rule.properties.actions[].RouteConfigurationOverride" value="&quot;RouteConfigurationOverride&quot;"/> <item arg="$rule.properties.actions[].UrlRedirect" value="&quot;UrlRedirect&quot;"/> <item arg="$rule.properties.actions[].UrlRewrite" value="&quot;UrlRewrite&quot;"/> <item arg="$rule.properties.actions[].UrlSigning" value="&quot;UrlSigning&quot;"/> </enum> </prop> <discriminator property="name" value="CacheExpiration"> <prop type="object" name="parameters" arg="$rule.properties.actions[].CacheExpiration.parameters" required="True"> <prop type="string" name="cacheBehavior" arg="$rule.properties.actions[].CacheExpiration.parameters.cacheBehavior" required="True"> <enum> <item value="&quot;BypassCache&quot;"/> <item value="&quot;Override&quot;"/> <item value="&quot;SetIfMissing&quot;"/> </enum> </prop> <prop nullable="True" type="string" name="cacheDuration" arg="$rule.properties.actions[].CacheExpiration.parameters.cacheDuration"/> <prop type="string" name="cacheType" arg="$rule.properties.actions[].CacheExpiration.parameters.cacheType" required="True"> <enum> <item value="&quot;All&quot;"/> </enum> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].CacheExpiration.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCacheExpirationActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="CacheKeyQueryString"> <prop type="object" name="parameters" arg="$rule.properties.actions[].CacheKeyQueryString.parameters" required="True"> <prop nullable="True" type="string" name="queryParameters" arg="$rule.properties.actions[].CacheKeyQueryString.parameters.queryParameters"/> <prop type="string" name="queryStringBehavior" arg="$rule.properties.actions[].CacheKeyQueryString.parameters.queryStringBehavior" required="True"> <enum> <item value="&quot;Exclude&quot;"/> <item value="&quot;ExcludeAll&quot;"/> <item value="&quot;Include&quot;"/> <item value="&quot;IncludeAll&quot;"/> </enum> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].CacheKeyQueryString.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCacheKeyQueryStringBehaviorActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="ModifyRequestHeader"> <prop type="object" name="parameters" arg="$rule.properties.actions[].ModifyRequestHeader.parameters" required="True" cls="HeaderActionParameters_create"> <prop type="string" name="headerAction" arg="@HeaderActionParameters_create.headerAction" required="True"> <enum> <item value="&quot;Append&quot;"/> <item value="&quot;Delete&quot;"/> <item value="&quot;Overwrite&quot;"/> </enum> </prop> <prop type="string" name="headerName" arg="@HeaderActionParameters_create.headerName" required="True"/> <prop type="string" name="typeName" arg="@HeaderActionParameters_create.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHeaderActionParameters&quot;"/> </enum> </prop> <prop type="string" name="value" arg="@HeaderActionParameters_create.value"/> </prop> </discriminator> <discriminator property="name" value="ModifyResponseHeader"> <prop type="@HeaderActionParameters_create" name="parameters" arg="$rule.properties.actions[].ModifyResponseHeader.parameters" required="True"/> </discriminator> <discriminator property="name" value="OriginGroupOverride"> <prop type="object" name="parameters" arg="$rule.properties.actions[].OriginGroupOverride.parameters" required="True"> <prop type="object" name="originGroup" arg="$rule.properties.actions[].OriginGroupOverride.parameters.originGroup" required="True" cls="ResourceReference_create"> <prop type="string" name="id" arg="@ResourceReference_create.id"/> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].OriginGroupOverride.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleOriginGroupOverrideActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RouteConfigurationOverride"> <prop type="object" name="parameters" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters" required="True"> <prop type="object" name="cacheConfiguration" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration"> <prop type="string" name="cacheBehavior" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.cacheBehavior"> <enum> <item value="&quot;HonorOrigin&quot;"/> <item value="&quot;OverrideAlways&quot;"/> <item value="&quot;OverrideIfOriginMissing&quot;"/> </enum> </prop> <prop type="string" name="cacheDuration" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.cacheDuration"/> <prop type="string" name="isCompressionEnabled" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.isCompressionEnabled"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> <prop type="string" name="queryParameters" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryParameters"/> <prop type="string" name="queryStringCachingBehavior" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryStringCachingBehavior"> <enum> <item value="&quot;IgnoreQueryString&quot;"/> <item value="&quot;IgnoreSpecifiedQueryStrings&quot;"/> <item value="&quot;IncludeSpecifiedQueryStrings&quot;"/> <item value="&quot;UseQueryString&quot;"/> </enum> </prop> </prop> <prop type="object" name="originGroupOverride" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride"> <prop type="string" name="forwardingProtocol" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride.forwardingProtocol"> <enum> <item value="&quot;HttpOnly&quot;"/> <item value="&quot;HttpsOnly&quot;"/> <item value="&quot;MatchRequest&quot;"/> </enum> </prop> <prop type="@ResourceReference_create" name="originGroup" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride.originGroup"/> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRouteConfigurationOverrideActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlRedirect"> <prop type="object" name="parameters" arg="$rule.properties.actions[].UrlRedirect.parameters" required="True"> <prop type="string" name="customFragment" arg="$rule.properties.actions[].UrlRedirect.parameters.customFragment"/> <prop type="string" name="customHostname" arg="$rule.properties.actions[].UrlRedirect.parameters.customHostname"/> <prop type="string" name="customPath" arg="$rule.properties.actions[].UrlRedirect.parameters.customPath"/> <prop type="string" name="customQueryString" arg="$rule.properties.actions[].UrlRedirect.parameters.customQueryString"/> <prop type="string" name="destinationProtocol" arg="$rule.properties.actions[].UrlRedirect.parameters.destinationProtocol"> <enum> <item value="&quot;Http&quot;"/> <item value="&quot;Https&quot;"/> <item value="&quot;MatchRequest&quot;"/> </enum> </prop> <prop type="string" name="redirectType" arg="$rule.properties.actions[].UrlRedirect.parameters.redirectType" required="True"> <enum> <item value="&quot;Found&quot;"/> <item value="&quot;Moved&quot;"/> <item value="&quot;PermanentRedirect&quot;"/> <item value="&quot;TemporaryRedirect&quot;"/> </enum> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].UrlRedirect.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlRedirectActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlRewrite"> <prop type="object" name="parameters" arg="$rule.properties.actions[].UrlRewrite.parameters" required="True"> <prop type="string" name="destination" arg="$rule.properties.actions[].UrlRewrite.parameters.destination" required="True"/> <prop type="boolean" name="preserveUnmatchedPath" arg="$rule.properties.actions[].UrlRewrite.parameters.preserveUnmatchedPath"/> <prop type="string" name="sourcePattern" arg="$rule.properties.actions[].UrlRewrite.parameters.sourcePattern" required="True"/> <prop type="string" name="typeName" arg="$rule.properties.actions[].UrlRewrite.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlRewriteActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlSigning"> <prop type="object" name="parameters" arg="$rule.properties.actions[].UrlSigning.parameters" required="True"> <prop type="string" name="algorithm" arg="$rule.properties.actions[].UrlSigning.parameters.algorithm"> <enum> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="array<object>" name="parameterNameOverride" arg="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride" identifiers="paramName"> <item type="object"> <prop type="string" name="paramIndicator" arg="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride[].paramIndicator" required="True"> <enum> <item value="&quot;Expires&quot;"/> <item value="&quot;KeyId&quot;"/> <item value="&quot;Signature&quot;"/> </enum> </prop> <prop type="string" name="paramName" arg="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride[].paramName" required="True"/> </item> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].UrlSigning.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlSigningActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop type="array<object>" name="conditions" arg="$rule.properties.conditions" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item arg="$rule.properties.conditions[].ClientPort" value="&quot;ClientPort&quot;"/> <item arg="$rule.properties.conditions[].Cookies" value="&quot;Cookies&quot;"/> <item arg="$rule.properties.conditions[].HostName" value="&quot;HostName&quot;"/> <item arg="$rule.properties.conditions[].HttpVersion" value="&quot;HttpVersion&quot;"/> <item arg="$rule.properties.conditions[].IsDevice" value="&quot;IsDevice&quot;"/> <item arg="$rule.properties.conditions[].PostArgs" value="&quot;PostArgs&quot;"/> <item arg="$rule.properties.conditions[].QueryString" value="&quot;QueryString&quot;"/> <item arg="$rule.properties.conditions[].RemoteAddress" value="&quot;RemoteAddress&quot;"/> <item arg="$rule.properties.conditions[].RequestBody" value="&quot;RequestBody&quot;"/> <item arg="$rule.properties.conditions[].RequestHeader" value="&quot;RequestHeader&quot;"/> <item arg="$rule.properties.conditions[].RequestMethod" value="&quot;RequestMethod&quot;"/> <item arg="$rule.properties.conditions[].RequestScheme" value="&quot;RequestScheme&quot;"/> <item arg="$rule.properties.conditions[].RequestUri" value="&quot;RequestUri&quot;"/> <item arg="$rule.properties.conditions[].ServerPort" value="&quot;ServerPort&quot;"/> <item arg="$rule.properties.conditions[].SocketAddr" value="&quot;SocketAddr&quot;"/> <item arg="$rule.properties.conditions[].SslProtocol" value="&quot;SslProtocol&quot;"/> <item arg="$rule.properties.conditions[].UrlFileExtension" value="&quot;UrlFileExtension&quot;"/> <item arg="$rule.properties.conditions[].UrlFileName" value="&quot;UrlFileName&quot;"/> <item arg="$rule.properties.conditions[].UrlPath" value="&quot;UrlPath&quot;"/> </enum> </prop> <discriminator property="name" value="ClientPort"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].ClientPort.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].ClientPort.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].ClientPort.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].ClientPort.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].ClientPort.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].ClientPort.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleClientPortConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="Cookies"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].Cookies.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].Cookies.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].Cookies.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].Cookies.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="string" name="selector" arg="$rule.properties.conditions[].Cookies.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].Cookies.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].Cookies.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCookiesConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="HostName"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].HostName.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].HostName.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].HostName.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].HostName.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].HostName.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].HostName.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHostNameConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="HttpVersion"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].HttpVersion.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].HttpVersion.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].HttpVersion.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].HttpVersion.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].HttpVersion.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].HttpVersion.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHttpVersionConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="IsDevice"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].IsDevice.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].IsDevice.parameters.matchValues"> <item type="string"> <enum> <item value="&quot;Desktop&quot;"/> <item value="&quot;Mobile&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].IsDevice.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].IsDevice.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].IsDevice.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].IsDevice.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleIsDeviceConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="PostArgs"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].PostArgs.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].PostArgs.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].PostArgs.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].PostArgs.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="string" name="selector" arg="$rule.properties.conditions[].PostArgs.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].PostArgs.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].PostArgs.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRulePostArgsConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="QueryString"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].QueryString.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].QueryString.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].QueryString.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].QueryString.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].QueryString.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].QueryString.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleQueryStringConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RemoteAddress"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RemoteAddress.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RemoteAddress.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RemoteAddress.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RemoteAddress.parameters.operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;GeoMatch&quot;"/> <item value="&quot;IPMatch&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RemoteAddress.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RemoteAddress.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRemoteAddressConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestBody"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RequestBody.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RequestBody.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RequestBody.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RequestBody.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RequestBody.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RequestBody.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestBodyConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestHeader"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RequestHeader.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RequestHeader.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RequestHeader.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RequestHeader.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="string" name="selector" arg="$rule.properties.conditions[].RequestHeader.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RequestHeader.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RequestHeader.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestHeaderConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestMethod"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RequestMethod.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RequestMethod.parameters.matchValues"> <item type="string"> <enum> <item value="&quot;DELETE&quot;"/> <item value="&quot;GET&quot;"/> <item value="&quot;HEAD&quot;"/> <item value="&quot;OPTIONS&quot;"/> <item value="&quot;POST&quot;"/> <item value="&quot;PUT&quot;"/> <item value="&quot;TRACE&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RequestMethod.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RequestMethod.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RequestMethod.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RequestMethod.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestMethodConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestScheme"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RequestScheme.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RequestScheme.parameters.matchValues"> <item type="string"> <enum> <item value="&quot;HTTP&quot;"/> <item value="&quot;HTTPS&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RequestScheme.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RequestScheme.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RequestScheme.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RequestScheme.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestSchemeConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestUri"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RequestUri.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RequestUri.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RequestUri.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RequestUri.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RequestUri.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RequestUri.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestUriConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="ServerPort"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].ServerPort.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].ServerPort.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].ServerPort.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].ServerPort.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].ServerPort.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].ServerPort.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleServerPortConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="SocketAddr"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].SocketAddr.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].SocketAddr.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].SocketAddr.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].SocketAddr.parameters.operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;IPMatch&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].SocketAddr.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].SocketAddr.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleSocketAddrConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="SslProtocol"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].SslProtocol.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].SslProtocol.parameters.matchValues"> <item type="string"> <enum> <item value="&quot;TLSv1&quot;"/> <item value="&quot;TLSv1.1&quot;"/> <item value="&quot;TLSv1.2&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].SslProtocol.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].SslProtocol.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].SslProtocol.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].SslProtocol.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleSslProtocolConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlFileExtension"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].UrlFileExtension.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].UrlFileExtension.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].UrlFileExtension.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].UrlFileExtension.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].UrlFileExtension.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].UrlFileExtension.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlFileExtensionMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlFileName"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].UrlFileName.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].UrlFileName.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].UrlFileName.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].UrlFileName.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].UrlFileName.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].UrlFileName.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlFilenameConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlPath"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].UrlPath.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].UrlPath.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].UrlPath.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].UrlPath.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> <item value="&quot;Wildcard&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].UrlPath.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].UrlPath.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlPathMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop type="string" name="matchProcessingBehavior" arg="$rule.properties.matchProcessingBehavior"> <default value="&quot;Continue&quot;"/> <enum> <item value="&quot;Continue&quot;"/> <item value="&quot;Stop&quot;"/> </enum> </prop> <prop type="integer32" name="order" arg="$rule.properties.order" required="True"/> </prop> </schema> </json> </body> </request> <response statusCode="200 201"> <body> <json var="$Instance"> <schema type="object" cls="Rule_read"> <prop readOnly="True" type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Cdn/profiles/{}/ruleSets/{}/rules/{}"/> </prop> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<object>" name="actions" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item value="&quot;CacheExpiration&quot;"/> <item value="&quot;CacheKeyQueryString&quot;"/> <item value="&quot;ModifyRequestHeader&quot;"/> <item value="&quot;ModifyResponseHeader&quot;"/> <item value="&quot;OriginGroupOverride&quot;"/> <item value="&quot;RouteConfigurationOverride&quot;"/> <item value="&quot;UrlRedirect&quot;"/> <item value="&quot;UrlRewrite&quot;"/> <item value="&quot;UrlSigning&quot;"/> </enum> </prop> <discriminator property="name" value="CacheExpiration"> <prop type="object" name="parameters" required="True"> <prop type="string" name="cacheBehavior" required="True"> <enum> <item value="&quot;BypassCache&quot;"/> <item value="&quot;Override&quot;"/> <item value="&quot;SetIfMissing&quot;"/> </enum> </prop> <prop nullable="True" type="string" name="cacheDuration"/> <prop type="string" name="cacheType" required="True"> <enum> <item value="&quot;All&quot;"/> </enum> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCacheExpirationActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="CacheKeyQueryString"> <prop type="object" name="parameters" required="True"> <prop nullable="True" type="string" name="queryParameters"/> <prop type="string" name="queryStringBehavior" required="True"> <enum> <item value="&quot;Exclude&quot;"/> <item value="&quot;ExcludeAll&quot;"/> <item value="&quot;Include&quot;"/> <item value="&quot;IncludeAll&quot;"/> </enum> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCacheKeyQueryStringBehaviorActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="ModifyRequestHeader"> <prop type="object" name="parameters" required="True" cls="HeaderActionParameters_read"> <prop type="string" name="headerAction" required="True"> <enum> <item value="&quot;Append&quot;"/> <item value="&quot;Delete&quot;"/> <item value="&quot;Overwrite&quot;"/> </enum> </prop> <prop type="string" name="headerName" required="True"/> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHeaderActionParameters&quot;"/> </enum> </prop> <prop type="string" name="value"/> </prop> </discriminator> <discriminator property="name" value="ModifyResponseHeader"> <prop type="@HeaderActionParameters_read" name="parameters" required="True"/> </discriminator> <discriminator property="name" value="OriginGroupOverride"> <prop type="object" name="parameters" required="True"> <prop type="object" name="originGroup" required="True" cls="ResourceReference_read"> <prop type="string" name="id"/> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleOriginGroupOverrideActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RouteConfigurationOverride"> <prop type="object" name="parameters" required="True"> <prop type="object" name="cacheConfiguration"> <prop type="string" name="cacheBehavior"> <enum> <item value="&quot;HonorOrigin&quot;"/> <item value="&quot;OverrideAlways&quot;"/> <item value="&quot;OverrideIfOriginMissing&quot;"/> </enum> </prop> <prop type="string" name="cacheDuration"/> <prop type="string" name="isCompressionEnabled"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> <prop type="string" name="queryParameters"/> <prop type="string" name="queryStringCachingBehavior"> <enum> <item value="&quot;IgnoreQueryString&quot;"/> <item value="&quot;IgnoreSpecifiedQueryStrings&quot;"/> <item value="&quot;IncludeSpecifiedQueryStrings&quot;"/> <item value="&quot;UseQueryString&quot;"/> </enum> </prop> </prop> <prop type="object" name="originGroupOverride"> <prop type="string" name="forwardingProtocol"> <enum> <item value="&quot;HttpOnly&quot;"/> <item value="&quot;HttpsOnly&quot;"/> <item value="&quot;MatchRequest&quot;"/> </enum> </prop> <prop type="@ResourceReference_read" name="originGroup"/> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRouteConfigurationOverrideActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlRedirect"> <prop type="object" name="parameters" required="True"> <prop type="string" name="customFragment"/> <prop type="string" name="customHostname"/> <prop type="string" name="customPath"/> <prop type="string" name="customQueryString"/> <prop type="string" name="destinationProtocol"> <enum> <item value="&quot;Http&quot;"/> <item value="&quot;Https&quot;"/> <item value="&quot;MatchRequest&quot;"/> </enum> </prop> <prop type="string" name="redirectType" required="True"> <enum> <item value="&quot;Found&quot;"/> <item value="&quot;Moved&quot;"/> <item value="&quot;PermanentRedirect&quot;"/> <item value="&quot;TemporaryRedirect&quot;"/> </enum> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlRedirectActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlRewrite"> <prop type="object" name="parameters" required="True"> <prop type="string" name="destination" required="True"/> <prop type="boolean" name="preserveUnmatchedPath"/> <prop type="string" name="sourcePattern" required="True"/> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlRewriteActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlSigning"> <prop type="object" name="parameters" required="True"> <prop type="string" name="algorithm"> <enum> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="array<object>" name="parameterNameOverride" identifiers="paramName"> <item type="object"> <prop type="string" name="paramIndicator" required="True"> <enum> <item value="&quot;Expires&quot;"/> <item value="&quot;KeyId&quot;"/> <item value="&quot;Signature&quot;"/> </enum> </prop> <prop type="string" name="paramName" required="True"/> </item> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlSigningActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop type="array<object>" name="conditions" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item value="&quot;ClientPort&quot;"/> <item value="&quot;Cookies&quot;"/> <item value="&quot;HostName&quot;"/> <item value="&quot;HttpVersion&quot;"/> <item value="&quot;IsDevice&quot;"/> <item value="&quot;PostArgs&quot;"/> <item value="&quot;QueryString&quot;"/> <item value="&quot;RemoteAddress&quot;"/> <item value="&quot;RequestBody&quot;"/> <item value="&quot;RequestHeader&quot;"/> <item value="&quot;RequestMethod&quot;"/> <item value="&quot;RequestScheme&quot;"/> <item value="&quot;RequestUri&quot;"/> <item value="&quot;ServerPort&quot;"/> <item value="&quot;SocketAddr&quot;"/> <item value="&quot;SslProtocol&quot;"/> <item value="&quot;UrlFileExtension&quot;"/> <item value="&quot;UrlFileName&quot;"/> <item value="&quot;UrlPath&quot;"/> </enum> </prop> <discriminator property="name" value="ClientPort"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleClientPortConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="Cookies"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCookiesConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="HostName"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHostNameConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="HttpVersion"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHttpVersionConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="IsDevice"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;Desktop&quot;"/> <item value="&quot;Mobile&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleIsDeviceConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="PostArgs"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRulePostArgsConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="QueryString"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleQueryStringConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RemoteAddress"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;GeoMatch&quot;"/> <item value="&quot;IPMatch&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRemoteAddressConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestBody"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestBodyConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestHeader"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestHeaderConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestMethod"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;DELETE&quot;"/> <item value="&quot;GET&quot;"/> <item value="&quot;HEAD&quot;"/> <item value="&quot;OPTIONS&quot;"/> <item value="&quot;POST&quot;"/> <item value="&quot;PUT&quot;"/> <item value="&quot;TRACE&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestMethodConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestScheme"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;HTTP&quot;"/> <item value="&quot;HTTPS&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestSchemeConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestUri"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestUriConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="ServerPort"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleServerPortConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="SocketAddr"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;IPMatch&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleSocketAddrConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="SslProtocol"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;TLSv1&quot;"/> <item value="&quot;TLSv1.1&quot;"/> <item value="&quot;TLSv1.2&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleSslProtocolConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlFileExtension"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlFileExtensionMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlFileName"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlFilenameConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlPath"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> <item value="&quot;Wildcard&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlPathMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop readOnly="True" type="string" name="deploymentStatus"> <enum> <item value="&quot;Failed&quot;"/> <item value="&quot;InProgress&quot;"/> <item value="&quot;NotStarted&quot;"/> <item value="&quot;Succeeded&quot;"/> </enum> </prop> <prop type="string" name="matchProcessingBehavior"> <default value="&quot;Continue&quot;"/> <enum> <item value="&quot;Continue&quot;"/> <item value="&quot;Stop&quot;"/> </enum> </prop> <prop type="integer32" name="order" required="True"/> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Creating&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="ruleSetName"/> </prop> <prop readOnly="True" type="object" name="systemData"> <prop type="dateTime" name="createdAt"/> <prop type="string" name="createdBy"/> <prop type="string" name="createdByType"> <enum> <item value="&quot;application&quot;"/> <item value="&quot;key&quot;"/> <item value="&quot;managedIdentity&quot;"/> <item value="&quot;user&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;application&quot;"/> <item value="&quot;key&quot;"/> <item value="&quot;managedIdentity&quot;"/> <item value="&quot;user&quot;"/> </enum> </prop> </prop> <prop readOnly="True" type="string" name="type"/> </schema> </json> </body> </response> <response statusCode="202"> <header> <item name="location"/> </header> <body> <json var="$Instance"> <schema type="@Rule_read"/> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@MgmtErrorFormat"/> </json> </body> </response> </http> </operation> <output type="object" ref="$Instance" clientFlatten="True"/> </command> <command name="update" version="2023-05-01"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.cdn/profiles/{}/rulesets/{}/rules/{}" version="2023-05-01" swagger="mgmt-plane/cdn/ResourceProviders/Microsoft.Cdn/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ2RuL3Byb2ZpbGVzL3twcm9maWxlTmFtZX0vcnVsZVNldHMve3J1bGVTZXROYW1lfS9ydWxlcy97cnVsZU5hbWV9/V/MjAyMy0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.profileName" options="profile-name" required="True" idPart="name"> <help short="Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group."/> </arg> <arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/> <arg type="string" var="$Path.ruleName" options="rule-name name n" required="True" idPart="child_name_2"> <help short="Name of the delivery rule which is unique within the endpoint."/> </arg> <arg type="string" var="$Path.ruleSetName" options="rule-set-name" required="True" idPart="child_name_1"> <help short="Name of the rule set under the profile."/> </arg> <arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <argGroup name="Properties"> <arg type="array<object>" var="$rule.properties.actions" options="actions" group="Properties"> <help short="A list of actions that are executed when all the conditions of a rule are satisfied."/> <item nullable="True" type="object"> <arg type="object" var="$rule.properties.actions[].CacheExpiration" options="cache-expiration"> <arg type="object" var="$rule.properties.actions[].CacheExpiration.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg type="string" var="$rule.properties.actions[].CacheExpiration.parameters.cacheBehavior" options="cache-behavior"> <help short="Caching behavior for the requests"/> <enum> <item name="BypassCache" value="&quot;BypassCache&quot;"/> <item name="Override" value="&quot;Override&quot;"/> <item name="SetIfMissing" value="&quot;SetIfMissing&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$rule.properties.actions[].CacheExpiration.parameters.cacheDuration" options="cache-duration"> <help short="The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss"/> </arg> <arg type="string" var="$rule.properties.actions[].CacheExpiration.parameters.cacheType" options="cache-type"> <help short="The level at which the content needs to be cached."/> <enum> <item name="All" value="&quot;All&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].CacheExpiration.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleCacheExpirationActionParameters" value="&quot;DeliveryRuleCacheExpirationActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].CacheKeyQueryString" options="cache-key-query-string"> <arg type="object" var="$rule.properties.actions[].CacheKeyQueryString.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg nullable="True" type="string" var="$rule.properties.actions[].CacheKeyQueryString.parameters.queryParameters" options="query-parameters"> <help short="query parameters to include or exclude (comma separated)."/> </arg> <arg type="string" var="$rule.properties.actions[].CacheKeyQueryString.parameters.queryStringBehavior" options="query-string-behavior"> <help short="Caching behavior for the requests"/> <enum> <item name="Exclude" value="&quot;Exclude&quot;"/> <item name="ExcludeAll" value="&quot;ExcludeAll&quot;"/> <item name="Include" value="&quot;Include&quot;"/> <item name="IncludeAll" value="&quot;IncludeAll&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].CacheKeyQueryString.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" value="&quot;DeliveryRuleCacheKeyQueryStringBehaviorActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].ModifyRequestHeader" options="modify-request-header"> <arg type="object" var="$rule.properties.actions[].ModifyRequestHeader.parameters" options="parameters" cls="HeaderActionParameters_update"> <help short="Defines the parameters for the action."/> <arg type="string" var="@HeaderActionParameters_update.headerAction" options="header-action"> <help short="Action to perform"/> <enum> <item name="Append" value="&quot;Append&quot;"/> <item name="Delete" value="&quot;Delete&quot;"/> <item name="Overwrite" value="&quot;Overwrite&quot;"/> </enum> </arg> <arg type="string" var="@HeaderActionParameters_update.headerName" options="header-name"> <help short="Name of the header to modify"/> </arg> <arg type="string" var="@HeaderActionParameters_update.typeName" options="type-name"> <enum> <item name="DeliveryRuleHeaderActionParameters" value="&quot;DeliveryRuleHeaderActionParameters&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="@HeaderActionParameters_update.value" options="value"> <help short="Value for the specified action"/> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].ModifyResponseHeader" options="modify-response-header"> <arg type="@HeaderActionParameters_update" var="$rule.properties.actions[].ModifyResponseHeader.parameters" options="parameters"> <help short="Defines the parameters for the action."/> </arg> </arg> <arg type="object" var="$rule.properties.actions[].OriginGroupOverride" options="origin-group-override"> <arg type="object" var="$rule.properties.actions[].OriginGroupOverride.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg type="object" var="$rule.properties.actions[].OriginGroupOverride.parameters.originGroup" options="origin-group" cls="ResourceReference_update"> <help short="defines the OriginGroup that would override the DefaultOriginGroup."/> <arg nullable="True" type="string" var="@ResourceReference_update.id" options="id"> <help short="Resource ID."/> </arg> </arg> <arg type="string" var="$rule.properties.actions[].OriginGroupOverride.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleOriginGroupOverrideActionParameters" value="&quot;DeliveryRuleOriginGroupOverrideActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].RouteConfigurationOverride" options="route-configuration-override"> <arg type="object" var="$rule.properties.actions[].RouteConfigurationOverride.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg nullable="True" type="object" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration" options="cache-configuration"> <help short="The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object."/> <arg nullable="True" type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.cacheBehavior" options="cache-behavior"> <help short="Caching behavior for the requests"/> <enum> <item name="HonorOrigin" value="&quot;HonorOrigin&quot;"/> <item name="OverrideAlways" value="&quot;OverrideAlways&quot;"/> <item name="OverrideIfOriginMissing" value="&quot;OverrideIfOriginMissing&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.cacheDuration" options="cache-duration"> <help short="The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss"/> </arg> <arg nullable="True" type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.isCompressionEnabled" options="is-compression-enabled" group=""> <help short="Indicates whether content compression is enabled. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB."/> <enum> <item name="Disabled" value="&quot;Disabled&quot;"/> <item name="Enabled" value="&quot;Enabled&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryParameters" options="query-parameters"> <help short="query parameters to include or exclude (comma separated)."/> </arg> <arg nullable="True" type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryStringCachingBehavior" options="query-string-caching-behavior"> <help short="Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings."/> <enum> <item name="IgnoreQueryString" value="&quot;IgnoreQueryString&quot;"/> <item name="IgnoreSpecifiedQueryStrings" value="&quot;IgnoreSpecifiedQueryStrings&quot;"/> <item name="IncludeSpecifiedQueryStrings" value="&quot;IncludeSpecifiedQueryStrings&quot;"/> <item name="UseQueryString" value="&quot;UseQueryString&quot;"/> </enum> </arg> </arg> <arg nullable="True" type="object" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride" options="origin-group-override"> <help short="A reference to the origin group override configuration. Leave empty to use the default origin group on route."/> <arg nullable="True" type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride.forwardingProtocol" options="forwarding-protocol"> <help short="Protocol this rule will use when forwarding traffic to backends."/> <enum> <item name="HttpOnly" value="&quot;HttpOnly&quot;"/> <item name="HttpsOnly" value="&quot;HttpsOnly&quot;"/> <item name="MatchRequest" value="&quot;MatchRequest&quot;"/> </enum> </arg> <arg nullable="True" type="@ResourceReference_update" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride.originGroup" options="origin-group"> <help short="defines the OriginGroup that would override the DefaultOriginGroup on route."/> </arg> </arg> <arg type="string" var="$rule.properties.actions[].RouteConfigurationOverride.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRouteConfigurationOverrideActionParameters" value="&quot;DeliveryRuleRouteConfigurationOverrideActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].UrlRedirect" options="url-redirect"> <arg type="object" var="$rule.properties.actions[].UrlRedirect.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg nullable="True" type="string" var="$rule.properties.actions[].UrlRedirect.parameters.customFragment" options="custom-fragment"> <help short="Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #."/> </arg> <arg nullable="True" type="string" var="$rule.properties.actions[].UrlRedirect.parameters.customHostname" options="custom-hostname"> <help short="Host to redirect. Leave empty to use the incoming host as the destination host."/> </arg> <arg nullable="True" type="string" var="$rule.properties.actions[].UrlRedirect.parameters.customPath" options="custom-path"> <help short="The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path."/> </arg> <arg nullable="True" type="string" var="$rule.properties.actions[].UrlRedirect.parameters.customQueryString" options="custom-querystring" group=""> <help short="The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in <key>=<value> format. ? and & will be added automatically so do not include them."/> </arg> <arg nullable="True" type="string" var="$rule.properties.actions[].UrlRedirect.parameters.destinationProtocol" options="destination-protocol"> <help short="Protocol to use for the redirect. The default value is MatchRequest"/> <enum> <item name="Http" value="&quot;Http&quot;"/> <item name="Https" value="&quot;Https&quot;"/> <item name="MatchRequest" value="&quot;MatchRequest&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].UrlRedirect.parameters.redirectType" options="redirect-type"> <help short="The redirect type the rule will use when redirecting traffic."/> <enum> <item name="Found" value="&quot;Found&quot;"/> <item name="Moved" value="&quot;Moved&quot;"/> <item name="PermanentRedirect" value="&quot;PermanentRedirect&quot;"/> <item name="TemporaryRedirect" value="&quot;TemporaryRedirect&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].UrlRedirect.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleUrlRedirectActionParameters" value="&quot;DeliveryRuleUrlRedirectActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].UrlRewrite" options="url-rewrite"> <arg type="object" var="$rule.properties.actions[].UrlRewrite.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg type="string" var="$rule.properties.actions[].UrlRewrite.parameters.destination" options="destination"> <help short="Define the relative URL to which the above requests will be rewritten by."/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.actions[].UrlRewrite.parameters.preserveUnmatchedPath" options="preserve-unmatched-path"> <help short="Whether to preserve unmatched path. Default value is true."/> </arg> <arg type="string" var="$rule.properties.actions[].UrlRewrite.parameters.sourcePattern" options="source-pattern"> <help short="define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched."/> </arg> <arg type="string" var="$rule.properties.actions[].UrlRewrite.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleUrlRewriteActionParameters" value="&quot;DeliveryRuleUrlRewriteActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.actions[].UrlSigning" options="url-signing"> <arg type="object" var="$rule.properties.actions[].UrlSigning.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg nullable="True" type="string" var="$rule.properties.actions[].UrlSigning.parameters.algorithm" options="algorithm"> <help short="Algorithm to use for URL signing"/> <enum> <item name="SHA256" value="&quot;SHA256&quot;"/> </enum> </arg> <arg nullable="True" type="array<object>" var="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride" options="parameter-name-override"> <help short="Defines which query string parameters in the url to be considered for expires, key id etc. "/> <item nullable="True" type="object"> <arg type="string" var="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride[].paramIndicator" options="param-indicator"> <help short="Indicates the purpose of the parameter"/> <enum> <item name="Expires" value="&quot;Expires&quot;"/> <item name="KeyId" value="&quot;KeyId&quot;"/> <item name="Signature" value="&quot;Signature&quot;"/> </enum> </arg> <arg type="string" var="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride[].paramName" options="param-name"> <help short="Parameter name"/> </arg> </item> </arg> <arg type="string" var="$rule.properties.actions[].UrlSigning.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleUrlSigningActionParameters" value="&quot;DeliveryRuleUrlSigningActionParameters&quot;"/> </enum> </arg> </arg> </arg> </item> </arg> <arg nullable="True" type="array<object>" var="$rule.properties.conditions" options="conditions" group="Properties"> <help short="A list of conditions that must be matched for the actions to be executed"/> <item nullable="True" type="object"> <arg type="object" var="$rule.properties.conditions[].ClientPort" options="client-port"> <arg type="object" var="$rule.properties.conditions[].ClientPort.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].ClientPort.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].ClientPort.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].ClientPort.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].ClientPort.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].ClientPort.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleClientPortConditionParameters" value="&quot;DeliveryRuleClientPortConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].Cookies" options="cookies"> <arg type="object" var="$rule.properties.conditions[].Cookies.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].Cookies.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].Cookies.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].Cookies.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$rule.properties.conditions[].Cookies.parameters.selector" options="selector"> <help short="Name of Cookies to be matched"/> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].Cookies.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].Cookies.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleCookiesConditionParameters" value="&quot;DeliveryRuleCookiesConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].HostName" options="host-name"> <arg type="object" var="$rule.properties.conditions[].HostName.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].HostName.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].HostName.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].HostName.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].HostName.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].HostName.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleHostNameConditionParameters" value="&quot;DeliveryRuleHostNameConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].HttpVersion" options="http-version"> <arg type="object" var="$rule.properties.conditions[].HttpVersion.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].HttpVersion.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].HttpVersion.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].HttpVersion.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].HttpVersion.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].HttpVersion.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleHttpVersionConditionParameters" value="&quot;DeliveryRuleHttpVersionConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].IsDevice" options="is-device"> <arg type="object" var="$rule.properties.conditions[].IsDevice.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].IsDevice.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"> <enum> <item name="Desktop" value="&quot;Desktop&quot;"/> <item name="Mobile" value="&quot;Mobile&quot;"/> </enum> </item> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].IsDevice.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].IsDevice.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].IsDevice.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].IsDevice.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleIsDeviceConditionParameters" value="&quot;DeliveryRuleIsDeviceConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].PostArgs" options="post-args"> <arg type="object" var="$rule.properties.conditions[].PostArgs.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].PostArgs.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].PostArgs.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].PostArgs.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$rule.properties.conditions[].PostArgs.parameters.selector" options="selector"> <help short="Name of PostArg to be matched"/> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].PostArgs.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].PostArgs.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRulePostArgsConditionParameters" value="&quot;DeliveryRulePostArgsConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].QueryString" options="query-string"> <arg type="object" var="$rule.properties.conditions[].QueryString.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].QueryString.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].QueryString.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].QueryString.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].QueryString.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].QueryString.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleQueryStringConditionParameters" value="&quot;DeliveryRuleQueryStringConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RemoteAddress" options="remote-address"> <arg type="object" var="$rule.properties.conditions[].RemoteAddress.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RemoteAddress.parameters.matchValues" options="match-values"> <help short="Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match."/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].RemoteAddress.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].RemoteAddress.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="GeoMatch" value="&quot;GeoMatch&quot;"/> <item name="IPMatch" value="&quot;IPMatch&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RemoteAddress.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RemoteAddress.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRemoteAddressConditionParameters" value="&quot;DeliveryRuleRemoteAddressConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RequestBody" options="request-body"> <arg type="object" var="$rule.properties.conditions[].RequestBody.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RequestBody.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].RequestBody.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].RequestBody.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RequestBody.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RequestBody.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRequestBodyConditionParameters" value="&quot;DeliveryRuleRequestBodyConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RequestHeader" options="request-header"> <arg type="object" var="$rule.properties.conditions[].RequestHeader.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RequestHeader.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].RequestHeader.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].RequestHeader.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$rule.properties.conditions[].RequestHeader.parameters.selector" options="selector"> <help short="Name of Header to be matched"/> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RequestHeader.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RequestHeader.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRequestHeaderConditionParameters" value="&quot;DeliveryRuleRequestHeaderConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RequestMethod" options="request-method"> <arg type="object" var="$rule.properties.conditions[].RequestMethod.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RequestMethod.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"> <enum> <item name="DELETE" value="&quot;DELETE&quot;"/> <item name="GET" value="&quot;GET&quot;"/> <item name="HEAD" value="&quot;HEAD&quot;"/> <item name="OPTIONS" value="&quot;OPTIONS&quot;"/> <item name="POST" value="&quot;POST&quot;"/> <item name="PUT" value="&quot;PUT&quot;"/> <item name="TRACE" value="&quot;TRACE&quot;"/> </enum> </item> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].RequestMethod.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].RequestMethod.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RequestMethod.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RequestMethod.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRequestMethodConditionParameters" value="&quot;DeliveryRuleRequestMethodConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RequestScheme" options="request-scheme"> <arg type="object" var="$rule.properties.conditions[].RequestScheme.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RequestScheme.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"> <enum> <item name="HTTP" value="&quot;HTTP&quot;"/> <item name="HTTPS" value="&quot;HTTPS&quot;"/> </enum> </item> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].RequestScheme.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].RequestScheme.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RequestScheme.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RequestScheme.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRequestSchemeConditionParameters" value="&quot;DeliveryRuleRequestSchemeConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].RequestUri" options="request-uri"> <arg type="object" var="$rule.properties.conditions[].RequestUri.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RequestUri.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].RequestUri.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].RequestUri.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].RequestUri.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].RequestUri.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRequestUriConditionParameters" value="&quot;DeliveryRuleRequestUriConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].ServerPort" options="server-port"> <arg type="object" var="$rule.properties.conditions[].ServerPort.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].ServerPort.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].ServerPort.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].ServerPort.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].ServerPort.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].ServerPort.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleServerPortConditionParameters" value="&quot;DeliveryRuleServerPortConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].SocketAddr" options="socket-addr"> <arg type="object" var="$rule.properties.conditions[].SocketAddr.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].SocketAddr.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].SocketAddr.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].SocketAddr.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="IPMatch" value="&quot;IPMatch&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].SocketAddr.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].SocketAddr.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleSocketAddrConditionParameters" value="&quot;DeliveryRuleSocketAddrConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].SslProtocol" options="ssl-protocol"> <arg type="object" var="$rule.properties.conditions[].SslProtocol.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].SslProtocol.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"> <enum> <item name="TLSv1" value="&quot;TLSv1&quot;"/> <item name="TLSv1.1" value="&quot;TLSv1.1&quot;"/> <item name="TLSv1.2" value="&quot;TLSv1.2&quot;"/> </enum> </item> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].SslProtocol.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].SslProtocol.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Equal" value="&quot;Equal&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].SslProtocol.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].SslProtocol.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleSslProtocolConditionParameters" value="&quot;DeliveryRuleSslProtocolConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].UrlFileExtension" options="url-file-extension"> <arg type="object" var="$rule.properties.conditions[].UrlFileExtension.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].UrlFileExtension.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].UrlFileExtension.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].UrlFileExtension.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].UrlFileExtension.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].UrlFileExtension.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleUrlFileExtensionMatchConditionParameters" value="&quot;DeliveryRuleUrlFileExtensionMatchConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].UrlFileName" options="url-file-name"> <arg type="object" var="$rule.properties.conditions[].UrlFileName.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].UrlFileName.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].UrlFileName.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].UrlFileName.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].UrlFileName.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].UrlFileName.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleUrlFilenameConditionParameters" value="&quot;DeliveryRuleUrlFilenameConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$rule.properties.conditions[].UrlPath" options="url-path"> <arg type="object" var="$rule.properties.conditions[].UrlPath.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].UrlPath.parameters.matchValues" options="match-values"> <help short="The match value for the condition of the delivery rule"/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="boolean" var="$rule.properties.conditions[].UrlPath.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$rule.properties.conditions[].UrlPath.parameters.operator" options="operator"> <help short="Describes operator to be matched"/> <enum> <item name="Any" value="&quot;Any&quot;"/> <item name="BeginsWith" value="&quot;BeginsWith&quot;"/> <item name="Contains" value="&quot;Contains&quot;"/> <item name="EndsWith" value="&quot;EndsWith&quot;"/> <item name="Equal" value="&quot;Equal&quot;"/> <item name="GreaterThan" value="&quot;GreaterThan&quot;"/> <item name="GreaterThanOrEqual" value="&quot;GreaterThanOrEqual&quot;"/> <item name="LessThan" value="&quot;LessThan&quot;"/> <item name="LessThanOrEqual" value="&quot;LessThanOrEqual&quot;"/> <item name="RegEx" value="&quot;RegEx&quot;"/> <item name="Wildcard" value="&quot;Wildcard&quot;"/> </enum> </arg> <arg nullable="True" type="array<string>" var="$rule.properties.conditions[].UrlPath.parameters.transforms" options="transforms"> <help short="List of transforms"/> <item nullable="True" type="string"> <enum> <item name="Lowercase" value="&quot;Lowercase&quot;"/> <item name="RemoveNulls" value="&quot;RemoveNulls&quot;"/> <item name="Trim" value="&quot;Trim&quot;"/> <item name="Uppercase" value="&quot;Uppercase&quot;"/> <item name="UrlDecode" value="&quot;UrlDecode&quot;"/> <item name="UrlEncode" value="&quot;UrlEncode&quot;"/> </enum> </item> </arg> <arg type="string" var="$rule.properties.conditions[].UrlPath.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleUrlPathMatchConditionParameters" value="&quot;DeliveryRuleUrlPathMatchConditionParameters&quot;"/> </enum> </arg> </arg> </arg> </item> </arg> <arg nullable="True" type="string" var="$rule.properties.matchProcessingBehavior" options="match-processing-behavior" group="Properties"> <help short="If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue."/> <enum> <item name="Continue" value="&quot;Continue&quot;"/> <item name="Stop" value="&quot;Stop&quot;"/> </enum> </arg> <arg type="integer32" var="$rule.properties.order" options="order" group="Properties"> <help short="The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied."/> </arg> </argGroup> <operation operationId="Rules_Get"> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName}"> <request method="get"> <path> <param type="string" name="profileName" arg="$Path.profileName" required="True"/> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format pattern="^[-\w\._\(\)]+$" maxLength="90" minLength="1"/> </param> <param type="string" name="ruleName" arg="$Path.ruleName" required="True"/> <param type="string" name="ruleSetName" arg="$Path.ruleSetName" required="True"/> <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;2023-05-01&quot;"/> </const> </query> </request> <response statusCode="200"> <body> <json var="$Instance"> <schema type="object" cls="Rule_read"> <prop readOnly="True" type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Cdn/profiles/{}/ruleSets/{}/rules/{}"/> </prop> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<object>" name="actions" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item value="&quot;CacheExpiration&quot;"/> <item value="&quot;CacheKeyQueryString&quot;"/> <item value="&quot;ModifyRequestHeader&quot;"/> <item value="&quot;ModifyResponseHeader&quot;"/> <item value="&quot;OriginGroupOverride&quot;"/> <item value="&quot;RouteConfigurationOverride&quot;"/> <item value="&quot;UrlRedirect&quot;"/> <item value="&quot;UrlRewrite&quot;"/> <item value="&quot;UrlSigning&quot;"/> </enum> </prop> <discriminator property="name" value="CacheExpiration"> <prop type="object" name="parameters" required="True"> <prop type="string" name="cacheBehavior" required="True"> <enum> <item value="&quot;BypassCache&quot;"/> <item value="&quot;Override&quot;"/> <item value="&quot;SetIfMissing&quot;"/> </enum> </prop> <prop nullable="True" type="string" name="cacheDuration"/> <prop type="string" name="cacheType" required="True"> <enum> <item value="&quot;All&quot;"/> </enum> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCacheExpirationActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="CacheKeyQueryString"> <prop type="object" name="parameters" required="True"> <prop nullable="True" type="string" name="queryParameters"/> <prop type="string" name="queryStringBehavior" required="True"> <enum> <item value="&quot;Exclude&quot;"/> <item value="&quot;ExcludeAll&quot;"/> <item value="&quot;Include&quot;"/> <item value="&quot;IncludeAll&quot;"/> </enum> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCacheKeyQueryStringBehaviorActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="ModifyRequestHeader"> <prop type="object" name="parameters" required="True" cls="HeaderActionParameters_read"> <prop type="string" name="headerAction" required="True"> <enum> <item value="&quot;Append&quot;"/> <item value="&quot;Delete&quot;"/> <item value="&quot;Overwrite&quot;"/> </enum> </prop> <prop type="string" name="headerName" required="True"/> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHeaderActionParameters&quot;"/> </enum> </prop> <prop type="string" name="value"/> </prop> </discriminator> <discriminator property="name" value="ModifyResponseHeader"> <prop type="@HeaderActionParameters_read" name="parameters" required="True"/> </discriminator> <discriminator property="name" value="OriginGroupOverride"> <prop type="object" name="parameters" required="True"> <prop type="object" name="originGroup" required="True" cls="ResourceReference_read"> <prop type="string" name="id"/> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleOriginGroupOverrideActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RouteConfigurationOverride"> <prop type="object" name="parameters" required="True"> <prop type="object" name="cacheConfiguration"> <prop type="string" name="cacheBehavior"> <enum> <item value="&quot;HonorOrigin&quot;"/> <item value="&quot;OverrideAlways&quot;"/> <item value="&quot;OverrideIfOriginMissing&quot;"/> </enum> </prop> <prop type="string" name="cacheDuration"/> <prop type="string" name="isCompressionEnabled"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> <prop type="string" name="queryParameters"/> <prop type="string" name="queryStringCachingBehavior"> <enum> <item value="&quot;IgnoreQueryString&quot;"/> <item value="&quot;IgnoreSpecifiedQueryStrings&quot;"/> <item value="&quot;IncludeSpecifiedQueryStrings&quot;"/> <item value="&quot;UseQueryString&quot;"/> </enum> </prop> </prop> <prop type="object" name="originGroupOverride"> <prop type="string" name="forwardingProtocol"> <enum> <item value="&quot;HttpOnly&quot;"/> <item value="&quot;HttpsOnly&quot;"/> <item value="&quot;MatchRequest&quot;"/> </enum> </prop> <prop type="@ResourceReference_read" name="originGroup"/> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRouteConfigurationOverrideActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlRedirect"> <prop type="object" name="parameters" required="True"> <prop type="string" name="customFragment"/> <prop type="string" name="customHostname"/> <prop type="string" name="customPath"/> <prop type="string" name="customQueryString"/> <prop type="string" name="destinationProtocol"> <enum> <item value="&quot;Http&quot;"/> <item value="&quot;Https&quot;"/> <item value="&quot;MatchRequest&quot;"/> </enum> </prop> <prop type="string" name="redirectType" required="True"> <enum> <item value="&quot;Found&quot;"/> <item value="&quot;Moved&quot;"/> <item value="&quot;PermanentRedirect&quot;"/> <item value="&quot;TemporaryRedirect&quot;"/> </enum> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlRedirectActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlRewrite"> <prop type="object" name="parameters" required="True"> <prop type="string" name="destination" required="True"/> <prop type="boolean" name="preserveUnmatchedPath"/> <prop type="string" name="sourcePattern" required="True"/> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlRewriteActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlSigning"> <prop type="object" name="parameters" required="True"> <prop type="string" name="algorithm"> <enum> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="array<object>" name="parameterNameOverride" identifiers="paramName"> <item type="object"> <prop type="string" name="paramIndicator" required="True"> <enum> <item value="&quot;Expires&quot;"/> <item value="&quot;KeyId&quot;"/> <item value="&quot;Signature&quot;"/> </enum> </prop> <prop type="string" name="paramName" required="True"/> </item> </prop> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlSigningActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop type="array<object>" name="conditions" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item value="&quot;ClientPort&quot;"/> <item value="&quot;Cookies&quot;"/> <item value="&quot;HostName&quot;"/> <item value="&quot;HttpVersion&quot;"/> <item value="&quot;IsDevice&quot;"/> <item value="&quot;PostArgs&quot;"/> <item value="&quot;QueryString&quot;"/> <item value="&quot;RemoteAddress&quot;"/> <item value="&quot;RequestBody&quot;"/> <item value="&quot;RequestHeader&quot;"/> <item value="&quot;RequestMethod&quot;"/> <item value="&quot;RequestScheme&quot;"/> <item value="&quot;RequestUri&quot;"/> <item value="&quot;ServerPort&quot;"/> <item value="&quot;SocketAddr&quot;"/> <item value="&quot;SslProtocol&quot;"/> <item value="&quot;UrlFileExtension&quot;"/> <item value="&quot;UrlFileName&quot;"/> <item value="&quot;UrlPath&quot;"/> </enum> </prop> <discriminator property="name" value="ClientPort"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleClientPortConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="Cookies"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCookiesConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="HostName"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHostNameConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="HttpVersion"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHttpVersionConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="IsDevice"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;Desktop&quot;"/> <item value="&quot;Mobile&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleIsDeviceConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="PostArgs"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRulePostArgsConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="QueryString"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleQueryStringConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RemoteAddress"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;GeoMatch&quot;"/> <item value="&quot;IPMatch&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRemoteAddressConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestBody"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestBodyConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestHeader"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestHeaderConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestMethod"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;DELETE&quot;"/> <item value="&quot;GET&quot;"/> <item value="&quot;HEAD&quot;"/> <item value="&quot;OPTIONS&quot;"/> <item value="&quot;POST&quot;"/> <item value="&quot;PUT&quot;"/> <item value="&quot;TRACE&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestMethodConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestScheme"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;HTTP&quot;"/> <item value="&quot;HTTPS&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestSchemeConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestUri"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestUriConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="ServerPort"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleServerPortConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="SocketAddr"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;IPMatch&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleSocketAddrConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="SslProtocol"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"> <enum> <item value="&quot;TLSv1&quot;"/> <item value="&quot;TLSv1.1&quot;"/> <item value="&quot;TLSv1.2&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleSslProtocolConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlFileExtension"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlFileExtensionMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlFileName"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlFilenameConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlPath"> <prop type="object" name="parameters" required="True"> <prop type="array<string>" name="matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition"> <default value="false"/> </prop> <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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> <item value="&quot;Wildcard&quot;"/> </enum> </prop> <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> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlPathMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop readOnly="True" type="string" name="deploymentStatus"> <enum> <item value="&quot;Failed&quot;"/> <item value="&quot;InProgress&quot;"/> <item value="&quot;NotStarted&quot;"/> <item value="&quot;Succeeded&quot;"/> </enum> </prop> <prop type="string" name="matchProcessingBehavior"> <default value="&quot;Continue&quot;"/> <enum> <item value="&quot;Continue&quot;"/> <item value="&quot;Stop&quot;"/> </enum> </prop> <prop type="integer32" name="order" required="True"/> <prop readOnly="True" type="string" name="provisioningState"> <enum> <item value="&quot;Creating&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Failed&quot;"/> <item value="&quot;Succeeded&quot;"/> <item value="&quot;Updating&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="ruleSetName"/> </prop> <prop readOnly="True" type="object" name="systemData"> <prop type="dateTime" name="createdAt"/> <prop type="string" name="createdBy"/> <prop type="string" name="createdByType"> <enum> <item value="&quot;application&quot;"/> <item value="&quot;key&quot;"/> <item value="&quot;managedIdentity&quot;"/> <item value="&quot;user&quot;"/> </enum> </prop> <prop type="dateTime" name="lastModifiedAt"/> <prop type="string" name="lastModifiedBy"/> <prop type="string" name="lastModifiedByType"> <enum> <item value="&quot;application&quot;"/> <item value="&quot;key&quot;"/> <item value="&quot;managedIdentity&quot;"/> <item value="&quot;user&quot;"/> </enum> </prop> </prop> <prop readOnly="True" type="string" name="type"/> </schema> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@MgmtErrorFormat"/> </json> </body> </response> </http> </operation> <operation> <instanceUpdate ref="$Instance"> <json> <schema type="object" name="rule" required="True" clientFlatten="True"> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<object>" name="actions" arg="$rule.properties.actions" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item arg="$rule.properties.actions[].CacheExpiration" value="&quot;CacheExpiration&quot;"/> <item arg="$rule.properties.actions[].CacheKeyQueryString" value="&quot;CacheKeyQueryString&quot;"/> <item arg="$rule.properties.actions[].ModifyRequestHeader" value="&quot;ModifyRequestHeader&quot;"/> <item arg="$rule.properties.actions[].ModifyResponseHeader" value="&quot;ModifyResponseHeader&quot;"/> <item arg="$rule.properties.actions[].OriginGroupOverride" value="&quot;OriginGroupOverride&quot;"/> <item arg="$rule.properties.actions[].RouteConfigurationOverride" value="&quot;RouteConfigurationOverride&quot;"/> <item arg="$rule.properties.actions[].UrlRedirect" value="&quot;UrlRedirect&quot;"/> <item arg="$rule.properties.actions[].UrlRewrite" value="&quot;UrlRewrite&quot;"/> <item arg="$rule.properties.actions[].UrlSigning" value="&quot;UrlSigning&quot;"/> </enum> </prop> <discriminator property="name" value="CacheExpiration"> <prop type="object" name="parameters" arg="$rule.properties.actions[].CacheExpiration.parameters" required="True"> <prop type="string" name="cacheBehavior" arg="$rule.properties.actions[].CacheExpiration.parameters.cacheBehavior" required="True"> <enum> <item value="&quot;BypassCache&quot;"/> <item value="&quot;Override&quot;"/> <item value="&quot;SetIfMissing&quot;"/> </enum> </prop> <prop nullable="True" type="string" name="cacheDuration" arg="$rule.properties.actions[].CacheExpiration.parameters.cacheDuration"/> <prop type="string" name="cacheType" arg="$rule.properties.actions[].CacheExpiration.parameters.cacheType" required="True"> <enum> <item value="&quot;All&quot;"/> </enum> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].CacheExpiration.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCacheExpirationActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="CacheKeyQueryString"> <prop type="object" name="parameters" arg="$rule.properties.actions[].CacheKeyQueryString.parameters" required="True"> <prop nullable="True" type="string" name="queryParameters" arg="$rule.properties.actions[].CacheKeyQueryString.parameters.queryParameters"/> <prop type="string" name="queryStringBehavior" arg="$rule.properties.actions[].CacheKeyQueryString.parameters.queryStringBehavior" required="True"> <enum> <item value="&quot;Exclude&quot;"/> <item value="&quot;ExcludeAll&quot;"/> <item value="&quot;Include&quot;"/> <item value="&quot;IncludeAll&quot;"/> </enum> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].CacheKeyQueryString.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCacheKeyQueryStringBehaviorActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="ModifyRequestHeader"> <prop type="object" name="parameters" arg="$rule.properties.actions[].ModifyRequestHeader.parameters" required="True" cls="HeaderActionParameters_update"> <prop type="string" name="headerAction" arg="@HeaderActionParameters_update.headerAction" required="True"> <enum> <item value="&quot;Append&quot;"/> <item value="&quot;Delete&quot;"/> <item value="&quot;Overwrite&quot;"/> </enum> </prop> <prop type="string" name="headerName" arg="@HeaderActionParameters_update.headerName" required="True"/> <prop type="string" name="typeName" arg="@HeaderActionParameters_update.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHeaderActionParameters&quot;"/> </enum> </prop> <prop type="string" name="value" arg="@HeaderActionParameters_update.value"/> </prop> </discriminator> <discriminator property="name" value="ModifyResponseHeader"> <prop type="@HeaderActionParameters_update" name="parameters" arg="$rule.properties.actions[].ModifyResponseHeader.parameters" required="True"/> </discriminator> <discriminator property="name" value="OriginGroupOverride"> <prop type="object" name="parameters" arg="$rule.properties.actions[].OriginGroupOverride.parameters" required="True"> <prop type="object" name="originGroup" arg="$rule.properties.actions[].OriginGroupOverride.parameters.originGroup" required="True" cls="ResourceReference_update"> <prop type="string" name="id" arg="@ResourceReference_update.id"/> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].OriginGroupOverride.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleOriginGroupOverrideActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RouteConfigurationOverride"> <prop type="object" name="parameters" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters" required="True"> <prop type="object" name="cacheConfiguration" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration"> <prop type="string" name="cacheBehavior" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.cacheBehavior"> <enum> <item value="&quot;HonorOrigin&quot;"/> <item value="&quot;OverrideAlways&quot;"/> <item value="&quot;OverrideIfOriginMissing&quot;"/> </enum> </prop> <prop type="string" name="cacheDuration" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.cacheDuration"/> <prop type="string" name="isCompressionEnabled" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.isCompressionEnabled"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> <prop type="string" name="queryParameters" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryParameters"/> <prop type="string" name="queryStringCachingBehavior" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryStringCachingBehavior"> <enum> <item value="&quot;IgnoreQueryString&quot;"/> <item value="&quot;IgnoreSpecifiedQueryStrings&quot;"/> <item value="&quot;IncludeSpecifiedQueryStrings&quot;"/> <item value="&quot;UseQueryString&quot;"/> </enum> </prop> </prop> <prop type="object" name="originGroupOverride" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride"> <prop type="string" name="forwardingProtocol" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride.forwardingProtocol"> <enum> <item value="&quot;HttpOnly&quot;"/> <item value="&quot;HttpsOnly&quot;"/> <item value="&quot;MatchRequest&quot;"/> </enum> </prop> <prop type="@ResourceReference_update" name="originGroup" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.originGroupOverride.originGroup"/> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].RouteConfigurationOverride.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRouteConfigurationOverrideActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlRedirect"> <prop type="object" name="parameters" arg="$rule.properties.actions[].UrlRedirect.parameters" required="True"> <prop type="string" name="customFragment" arg="$rule.properties.actions[].UrlRedirect.parameters.customFragment"/> <prop type="string" name="customHostname" arg="$rule.properties.actions[].UrlRedirect.parameters.customHostname"/> <prop type="string" name="customPath" arg="$rule.properties.actions[].UrlRedirect.parameters.customPath"/> <prop type="string" name="customQueryString" arg="$rule.properties.actions[].UrlRedirect.parameters.customQueryString"/> <prop type="string" name="destinationProtocol" arg="$rule.properties.actions[].UrlRedirect.parameters.destinationProtocol"> <enum> <item value="&quot;Http&quot;"/> <item value="&quot;Https&quot;"/> <item value="&quot;MatchRequest&quot;"/> </enum> </prop> <prop type="string" name="redirectType" arg="$rule.properties.actions[].UrlRedirect.parameters.redirectType" required="True"> <enum> <item value="&quot;Found&quot;"/> <item value="&quot;Moved&quot;"/> <item value="&quot;PermanentRedirect&quot;"/> <item value="&quot;TemporaryRedirect&quot;"/> </enum> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].UrlRedirect.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlRedirectActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlRewrite"> <prop type="object" name="parameters" arg="$rule.properties.actions[].UrlRewrite.parameters" required="True"> <prop type="string" name="destination" arg="$rule.properties.actions[].UrlRewrite.parameters.destination" required="True"/> <prop type="boolean" name="preserveUnmatchedPath" arg="$rule.properties.actions[].UrlRewrite.parameters.preserveUnmatchedPath"/> <prop type="string" name="sourcePattern" arg="$rule.properties.actions[].UrlRewrite.parameters.sourcePattern" required="True"/> <prop type="string" name="typeName" arg="$rule.properties.actions[].UrlRewrite.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlRewriteActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlSigning"> <prop type="object" name="parameters" arg="$rule.properties.actions[].UrlSigning.parameters" required="True"> <prop type="string" name="algorithm" arg="$rule.properties.actions[].UrlSigning.parameters.algorithm"> <enum> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="array<object>" name="parameterNameOverride" arg="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride" identifiers="paramName"> <item type="object"> <prop type="string" name="paramIndicator" arg="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride[].paramIndicator" required="True"> <enum> <item value="&quot;Expires&quot;"/> <item value="&quot;KeyId&quot;"/> <item value="&quot;Signature&quot;"/> </enum> </prop> <prop type="string" name="paramName" arg="$rule.properties.actions[].UrlSigning.parameters.parameterNameOverride[].paramName" required="True"/> </item> </prop> <prop type="string" name="typeName" arg="$rule.properties.actions[].UrlSigning.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlSigningActionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop type="array<object>" name="conditions" arg="$rule.properties.conditions" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item arg="$rule.properties.conditions[].ClientPort" value="&quot;ClientPort&quot;"/> <item arg="$rule.properties.conditions[].Cookies" value="&quot;Cookies&quot;"/> <item arg="$rule.properties.conditions[].HostName" value="&quot;HostName&quot;"/> <item arg="$rule.properties.conditions[].HttpVersion" value="&quot;HttpVersion&quot;"/> <item arg="$rule.properties.conditions[].IsDevice" value="&quot;IsDevice&quot;"/> <item arg="$rule.properties.conditions[].PostArgs" value="&quot;PostArgs&quot;"/> <item arg="$rule.properties.conditions[].QueryString" value="&quot;QueryString&quot;"/> <item arg="$rule.properties.conditions[].RemoteAddress" value="&quot;RemoteAddress&quot;"/> <item arg="$rule.properties.conditions[].RequestBody" value="&quot;RequestBody&quot;"/> <item arg="$rule.properties.conditions[].RequestHeader" value="&quot;RequestHeader&quot;"/> <item arg="$rule.properties.conditions[].RequestMethod" value="&quot;RequestMethod&quot;"/> <item arg="$rule.properties.conditions[].RequestScheme" value="&quot;RequestScheme&quot;"/> <item arg="$rule.properties.conditions[].RequestUri" value="&quot;RequestUri&quot;"/> <item arg="$rule.properties.conditions[].ServerPort" value="&quot;ServerPort&quot;"/> <item arg="$rule.properties.conditions[].SocketAddr" value="&quot;SocketAddr&quot;"/> <item arg="$rule.properties.conditions[].SslProtocol" value="&quot;SslProtocol&quot;"/> <item arg="$rule.properties.conditions[].UrlFileExtension" value="&quot;UrlFileExtension&quot;"/> <item arg="$rule.properties.conditions[].UrlFileName" value="&quot;UrlFileName&quot;"/> <item arg="$rule.properties.conditions[].UrlPath" value="&quot;UrlPath&quot;"/> </enum> </prop> <discriminator property="name" value="ClientPort"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].ClientPort.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].ClientPort.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].ClientPort.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].ClientPort.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].ClientPort.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].ClientPort.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleClientPortConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="Cookies"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].Cookies.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].Cookies.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].Cookies.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].Cookies.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="string" name="selector" arg="$rule.properties.conditions[].Cookies.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].Cookies.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].Cookies.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleCookiesConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="HostName"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].HostName.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].HostName.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].HostName.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].HostName.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].HostName.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].HostName.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHostNameConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="HttpVersion"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].HttpVersion.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].HttpVersion.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].HttpVersion.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].HttpVersion.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].HttpVersion.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].HttpVersion.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleHttpVersionConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="IsDevice"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].IsDevice.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].IsDevice.parameters.matchValues"> <item type="string"> <enum> <item value="&quot;Desktop&quot;"/> <item value="&quot;Mobile&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].IsDevice.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].IsDevice.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].IsDevice.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].IsDevice.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleIsDeviceConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="PostArgs"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].PostArgs.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].PostArgs.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].PostArgs.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].PostArgs.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="string" name="selector" arg="$rule.properties.conditions[].PostArgs.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].PostArgs.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].PostArgs.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRulePostArgsConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="QueryString"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].QueryString.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].QueryString.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].QueryString.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].QueryString.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].QueryString.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].QueryString.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleQueryStringConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RemoteAddress"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RemoteAddress.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RemoteAddress.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RemoteAddress.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RemoteAddress.parameters.operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;GeoMatch&quot;"/> <item value="&quot;IPMatch&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RemoteAddress.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RemoteAddress.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRemoteAddressConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestBody"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RequestBody.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RequestBody.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RequestBody.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RequestBody.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RequestBody.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RequestBody.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestBodyConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestHeader"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RequestHeader.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RequestHeader.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RequestHeader.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RequestHeader.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="string" name="selector" arg="$rule.properties.conditions[].RequestHeader.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RequestHeader.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RequestHeader.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestHeaderConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestMethod"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RequestMethod.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RequestMethod.parameters.matchValues"> <item type="string"> <enum> <item value="&quot;DELETE&quot;"/> <item value="&quot;GET&quot;"/> <item value="&quot;HEAD&quot;"/> <item value="&quot;OPTIONS&quot;"/> <item value="&quot;POST&quot;"/> <item value="&quot;PUT&quot;"/> <item value="&quot;TRACE&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RequestMethod.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RequestMethod.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RequestMethod.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RequestMethod.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestMethodConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestScheme"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RequestScheme.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RequestScheme.parameters.matchValues"> <item type="string"> <enum> <item value="&quot;HTTP&quot;"/> <item value="&quot;HTTPS&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RequestScheme.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RequestScheme.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RequestScheme.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RequestScheme.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestSchemeConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="RequestUri"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].RequestUri.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].RequestUri.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].RequestUri.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].RequestUri.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].RequestUri.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].RequestUri.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleRequestUriConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="ServerPort"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].ServerPort.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].ServerPort.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].ServerPort.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].ServerPort.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].ServerPort.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].ServerPort.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleServerPortConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="SocketAddr"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].SocketAddr.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].SocketAddr.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].SocketAddr.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].SocketAddr.parameters.operator" required="True"> <enum> <item value="&quot;Any&quot;"/> <item value="&quot;IPMatch&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].SocketAddr.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].SocketAddr.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleSocketAddrConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="SslProtocol"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].SslProtocol.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].SslProtocol.parameters.matchValues"> <item type="string"> <enum> <item value="&quot;TLSv1&quot;"/> <item value="&quot;TLSv1.1&quot;"/> <item value="&quot;TLSv1.2&quot;"/> </enum> </item> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].SslProtocol.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].SslProtocol.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].SslProtocol.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].SslProtocol.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleSslProtocolConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlFileExtension"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].UrlFileExtension.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].UrlFileExtension.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].UrlFileExtension.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].UrlFileExtension.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].UrlFileExtension.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].UrlFileExtension.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlFileExtensionMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlFileName"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].UrlFileName.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].UrlFileName.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].UrlFileName.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].UrlFileName.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].UrlFileName.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].UrlFileName.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlFilenameConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> <discriminator property="name" value="UrlPath"> <prop type="object" name="parameters" arg="$rule.properties.conditions[].UrlPath.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$rule.properties.conditions[].UrlPath.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$rule.properties.conditions[].UrlPath.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$rule.properties.conditions[].UrlPath.parameters.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;GreaterThan&quot;"/> <item value="&quot;GreaterThanOrEqual&quot;"/> <item value="&quot;LessThan&quot;"/> <item value="&quot;LessThanOrEqual&quot;"/> <item value="&quot;RegEx&quot;"/> <item value="&quot;Wildcard&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$rule.properties.conditions[].UrlPath.parameters.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> <prop type="string" name="typeName" arg="$rule.properties.conditions[].UrlPath.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlPathMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop type="string" name="matchProcessingBehavior" arg="$rule.properties.matchProcessingBehavior"> <default value="&quot;Continue&quot;"/> <enum> <item value="&quot;Continue&quot;"/> <item value="&quot;Stop&quot;"/> </enum> </prop> <prop type="integer32" name="order" arg="$rule.properties.order" required="True"/> </prop> </schema> </json> </instanceUpdate> </operation> <operation operationId="Rules_Create"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName}"> <request method="put"> <path> <param type="string" name="profileName" arg="$Path.profileName" required="True"/> <param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"> <format pattern="^[-\w\._\(\)]+$" maxLength="90" minLength="1"/> </param> <param type="string" name="ruleName" arg="$Path.ruleName" required="True"/> <param type="string" name="ruleSetName" arg="$Path.ruleSetName" required="True"/> <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;2023-05-01&quot;"/> </const> </query> <body> <json ref="$Instance"/> </body> </request> <response statusCode="200 201"> <body> <json var="$Instance"> <schema type="@Rule_read"/> </json> </body> </response> <response statusCode="202"> <header> <item name="location"/> </header> <body> <json var="$Instance"> <schema type="@Rule_read"/> </json> </body> </response> <response isError="True"> <body> <json> <schema type="@MgmtErrorFormat"/> </json> </body> </response> </http> </operation> <output type="object" ref="$Instance" clientFlatten="True"/> </command> </commandGroup> </CodeGen>