Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jZG4vcHJvZmlsZXMve30vZW5kcG9pbnRzL3t9/2023-05-01.xml (8,848 lines of code) (raw):

<?xml version='1.0' encoding='utf-8'?> <CodeGen plane="mgmt-plane"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.cdn/profiles/{}/endpoints/{}" version="2023-05-01" swagger="mgmt-plane/cdn/ResourceProviders/Microsoft.Cdn/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ2RuL3Byb2ZpbGVzL3twcm9maWxlTmFtZX0vZW5kcG9pbnRzL3tlbmRwb2ludE5hbWV9/V/MjAyMy0wNS0wMQ=="/> <commandGroup name="cdn endpoint"> <command name="show" version="2023-05-01"> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.cdn/profiles/{}/endpoints/{}" version="2023-05-01" swagger="mgmt-plane/cdn/ResourceProviders/Microsoft.Cdn/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ2RuL3Byb2ZpbGVzL3twcm9maWxlTmFtZX0vZW5kcG9pbnRzL3tlbmRwb2ludE5hbWV9/V/MjAyMy0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.endpointName" options="endpoint-name name n" required="True" group="" idPart="child_name_1"> <help short="Name of the endpoint under the profile which is unique globally."/> </arg> <arg type="string" var="$Path.profileName" options="profile-name" required="True" idPart="name"> <help short="Name of the CDN 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="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <operation operationId="Endpoints_Get"> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}"> <request method="get"> <path> <param type="string" name="endpointName" arg="$Path.endpointName" required="True"/> <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="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/{}/endpoints/{}"/> </prop> <prop type="ResourceLocation" name="location" required="True"/> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<string>" name="contentTypesToCompress"> <item type="string"/> </prop> <prop readOnly="True" type="array<object>" name="customDomains" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="string" name="hostName" required="True"/> <prop type="string" name="validationData"/> </prop> </item> </prop> <prop type="object" name="defaultOriginGroup" cls="ResourceReference_read"> <prop type="string" name="id"/> </prop> <prop type="object" name="deliveryPolicy"> <prop type="string" name="description"/> <prop type="array<object>" name="rules" required="True" identifiers="name"> <item type="object"> <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="@ResourceReference_read" name="originGroup" required="True"/> <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 type="string" name="name"/> <prop type="integer32" name="order" required="True"/> </item> </prop> </prop> <prop type="array<object>" name="geoFilters"> <item type="object"> <prop type="string" name="action" required="True"> <enum> <item value="&quot;Allow&quot;"/> <item value="&quot;Block&quot;"/> </enum> </prop> <prop type="array<string>" name="countryCodes" required="True"> <item type="string"/> </prop> <prop type="string" name="relativePath" required="True"/> </item> </prop> <prop readOnly="True" type="string" name="hostName"/> <prop type="boolean" name="isCompressionEnabled"/> <prop type="boolean" name="isHttpAllowed"> <default value="true"/> </prop> <prop type="boolean" name="isHttpsAllowed"> <default value="true"/> </prop> <prop type="string" name="optimizationType"> <enum> <item value="&quot;DynamicSiteAcceleration&quot;"/> <item value="&quot;GeneralMediaStreaming&quot;"/> <item value="&quot;GeneralWebDelivery&quot;"/> <item value="&quot;LargeFileDownload&quot;"/> <item value="&quot;VideoOnDemandMediaStreaming&quot;"/> </enum> </prop> <prop type="array<object>" name="originGroups" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="healthProbeSettings"> <prop type="integer32" name="probeIntervalInSeconds"> <format maximum="255" minimum="1"/> </prop> <prop type="string" name="probePath"/> <prop type="string" name="probeProtocol"> <enum> <item value="&quot;Http&quot;"/> <item value="&quot;Https&quot;"/> <item value="&quot;NotSet&quot;"/> </enum> </prop> <prop type="string" name="probeRequestType"> <enum> <item value="&quot;GET&quot;"/> <item value="&quot;HEAD&quot;"/> <item value="&quot;NotSet&quot;"/> </enum> </prop> </prop> <prop type="array<@ResourceReference_read>" name="origins" required="True"> <item type="@ResourceReference_read"/> </prop> <prop type="object" name="responseBasedOriginErrorDetectionSettings"> <prop type="array<object>" name="httpErrorRanges"> <item type="object"> <prop type="integer32" name="begin"> <format maximum="999" minimum="100"/> </prop> <prop type="integer32" name="end"> <format maximum="999" minimum="100"/> </prop> </item> </prop> <prop type="string" name="responseBasedDetectedErrorTypes"> <enum> <item value="&quot;None&quot;"/> <item value="&quot;TcpAndHttpErrors&quot;"/> <item value="&quot;TcpErrorsOnly&quot;"/> </enum> </prop> <prop type="integer32" name="responseBasedFailoverThresholdPercentage"> <format maximum="100" minimum="0"/> </prop> </prop> <prop type="integer32" name="trafficRestorationTimeToHealedOrNewEndpointsInMinutes"> <format maximum="50" minimum="0"/> </prop> </prop> </item> </prop> <prop type="string" name="originHostHeader"/> <prop type="string" name="originPath"/> <prop type="array<object>" name="origins" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="boolean" name="enabled"/> <prop type="string" name="hostName" required="True"/> <prop type="integer32" name="httpPort"> <format maximum="65535" minimum="1"/> </prop> <prop type="integer32" name="httpsPort"> <format maximum="65535" minimum="1"/> </prop> <prop type="string" name="originHostHeader"/> <prop type="integer32" name="priority"> <format maximum="5" minimum="1"/> </prop> <prop type="string" name="privateEndpointStatus"> <enum> <item value="&quot;Approved&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Pending&quot;"/> <item value="&quot;Rejected&quot;"/> <item value="&quot;Timeout&quot;"/> </enum> </prop> <prop type="string" name="privateLinkAlias"/> <prop type="string" name="privateLinkApprovalMessage"/> <prop type="string" name="privateLinkLocation"/> <prop type="string" name="privateLinkResourceId"/> <prop type="integer32" name="weight"> <format maximum="1000" minimum="1"/> </prop> </prop> </item> </prop> <prop type="string" name="probePath"/> <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 type="string" name="queryStringCachingBehavior"> <default value="&quot;NotSet&quot;"/> <enum> <item value="&quot;BypassCaching&quot;"/> <item value="&quot;IgnoreQueryString&quot;"/> <item value="&quot;NotSet&quot;"/> <item value="&quot;UseQueryString&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="resourceState"> <enum> <item value="&quot;Creating&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Running&quot;"/> <item value="&quot;Starting&quot;"/> <item value="&quot;Stopped&quot;"/> <item value="&quot;Stopping&quot;"/> </enum> </prop> <prop type="array<object>" name="urlSigningKeys" identifiers="keyId"> <item type="object"> <prop type="string" name="keyId" required="True"/> <prop type="object" name="keySourceParameters" required="True"> <prop type="string" name="resourceGroupName" required="True"/> <prop type="string" name="secretName" required="True"/> <prop type="string" name="secretVersion" required="True"/> <prop type="string" name="subscriptionId" required="True"/> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;KeyVaultSigningKeyParameters&quot;"/> </enum> </prop> <prop type="string" name="vaultName" required="True"/> </prop> </item> </prop> <prop type="object" name="webApplicationFirewallPolicyLink"> <prop type="string" name="id"/> </prop> </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 type="object" name="tags"> <additionalProp> <item type="string"/> </additionalProp> </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=""> <resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.cdn/profiles/{}/endpoints/{}" version="2023-05-01" swagger="mgmt-plane/cdn/ResourceProviders/Microsoft.Cdn/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ2RuL3Byb2ZpbGVzL3twcm9maWxlTmFtZX0vZW5kcG9pbnRzL3tlbmRwb2ludE5hbWV9/V/MjAyMy0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.endpointName" options="endpoint-name name n" required="True" group="" idPart="child_name_1"> <help short="Name of the endpoint under the profile which is unique globally."/> </arg> <arg type="string" var="$Path.profileName" options="profile-name" required="True" idPart="name"> <help short="Name of the CDN 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="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <operation operationId="Endpoints_Delete"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}"> <request method="delete"> <path> <param type="string" name="endpointName" arg="$Path.endpointName" required="True"/> <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="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/{}/endpoints/{}" version="2023-05-01" swagger="mgmt-plane/cdn/ResourceProviders/Microsoft.Cdn/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ2RuL3Byb2ZpbGVzL3twcm9maWxlTmFtZX0vZW5kcG9pbnRzL3tlbmRwb2ludE5hbWV9/V/MjAyMy0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.endpointName" options="endpoint-name name n" required="True" group="" idPart="child_name_1"> <help short="Name of the endpoint under the profile which is unique globally."/> </arg> <arg type="string" var="$Path.profileName" options="profile-name" required="True" idPart="name"> <help short="Name of the CDN 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="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <argGroup name="DefaultOriginGroup"> <arg type="string" var="$endpoint.properties.defaultOriginGroup.id" options="default-origin-group" group="DefaultOriginGroup"> <help short="The origin group to use for origins not explicitly included in an origin group. Can be specified as a resource ID or the name of an origin group of this endpoint."/> </arg> </argGroup> <argGroup name="Endpoint"> <arg type="ResourceLocation" var="$endpoint.location" options="location l" required="True" group="Endpoint"> <help short="Resource location."/> </arg> <arg type="object" var="$endpoint.tags" options="tags" group="Endpoint"> <help short="Resource tags."/> <additionalProp> <item type="string"/> </additionalProp> </arg> </argGroup> <argGroup name="Properties"> <arg type="array<string>" var="$endpoint.properties.contentTypesToCompress" options="content-types-to-compress" group="Properties"> <help short="List of content types on which compression applies. The value should be a valid MIME type."/> <item type="string"/> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy" options="delivery-policy" group="Properties"> <help short="A policy that specifies the delivery rules to be used for an endpoint."/> <arg type="string" var="$endpoint.properties.deliveryPolicy.description" options="description"> <help short="User-friendly description of the policy."/> </arg> <arg type="array<object>" var="$endpoint.properties.deliveryPolicy.rules" options="rules" required="True"> <help short="A list of the delivery rules."/> <item type="object"> <arg type="array<object>" var="$endpoint.properties.deliveryPolicy.rules[].actions" options="actions" required="True"> <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="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration" options="cache-expiration"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString" options="cache-key-query-string"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg nullable="True" type="string" var="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString.parameters.queryParameters" options="query-parameters"> <help short="query parameters to include or exclude (comma separated)."/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyRequestHeader" options="modify-request-header"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyResponseHeader" options="modify-response-header"> <arg type="@HeaderActionParameters_create" var="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyResponseHeader.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].OriginGroupOverride" options="origin-group-override"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].OriginGroupOverride.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride" options="route-configuration-override"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration.isCompressionEnabled" options="is-compression-enabled"> <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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryParameters" options="query-parameters"> <help short="query parameters to include or exclude (comma separated)."/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect" options="url-redirect"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.customQueryString" options="custom-query-string"> <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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite" options="url-rewrite"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters.preserveUnmatchedPath" options="preserve-unmatched-path"> <help short="Whether to preserve unmatched path. Default value is true."/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning" options="url-signing"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters" options="parameters" required="True"> <help short="Defines the parameters for the action."/> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters.parameterNameOverride[].paramName" options="param-name" required="True"> <help short="Parameter name"/> </arg> </item> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions" options="conditions"> <help short="A list of conditions that must be matched for the actions to be executed"/> <item type="object"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort" options="client-port"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies" options="cookies"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters.selector" options="selector"> <help short="Name of Cookies to be matched"/> </arg> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName" options="host-name"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion" options="http-version"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice" options="is-device"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs" options="post-args"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters.selector" options="selector"> <help short="Name of PostArg to be matched"/> </arg> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString" options="query-string"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress" options="remote-address"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody" options="request-body"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader" options="request-header"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters.selector" options="selector"> <help short="Name of Header to be matched"/> </arg> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod" options="request-method"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme" options="request-scheme"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri" options="request-uri"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort" options="server-port"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr" options="socket-addr"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol" options="ssl-protocol"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension" options="url-file-extension"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName" options="url-file-name"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath" options="url-path"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters" options="parameters" required="True"> <help short="Defines the parameters for the condition."/> <arg type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].name" options="name"> <help short="Name of the rule"/> </arg> <arg type="integer32" var="$endpoint.properties.deliveryPolicy.rules[].order" options="order" required="True"> <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> </item> </arg> </arg> <arg type="array<object>" var="$endpoint.properties.geoFilters" options="geo-filters" group="Properties"> <help short="List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/"/> <item type="object"> <arg type="string" var="$endpoint.properties.geoFilters[].action" options="action" required="True"> <help short="Action of the geo filter, i.e. allow or block access."/> <enum> <item name="Allow" value="&quot;Allow&quot;"/> <item name="Block" value="&quot;Block&quot;"/> </enum> </arg> <arg type="array<string>" var="$endpoint.properties.geoFilters[].countryCodes" options="country-codes" required="True"> <help short="Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US."/> <item type="string"/> </arg> <arg type="string" var="$endpoint.properties.geoFilters[].relativePath" options="relative-path" required="True"> <help short="Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)"/> </arg> </item> </arg> <arg type="boolean" var="$endpoint.properties.isCompressionEnabled" options="is-compression-enabled" group="Properties"> <help short="Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB."/> </arg> <arg type="boolean" var="$endpoint.properties.isHttpAllowed" options="is-http-allowed" group="Properties"> <help short="Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed."/> <default value="true"/> </arg> <arg type="boolean" var="$endpoint.properties.isHttpsAllowed" options="is-https-allowed" group="Properties"> <help short="Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed."/> <default value="true"/> </arg> <arg type="string" var="$endpoint.properties.optimizationType" options="optimization-type" group="Properties"> <help short="Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization."/> <enum> <item name="DynamicSiteAcceleration" value="&quot;DynamicSiteAcceleration&quot;"/> <item name="GeneralMediaStreaming" value="&quot;GeneralMediaStreaming&quot;"/> <item name="GeneralWebDelivery" value="&quot;GeneralWebDelivery&quot;"/> <item name="LargeFileDownload" value="&quot;LargeFileDownload&quot;"/> <item name="VideoOnDemandMediaStreaming" value="&quot;VideoOnDemandMediaStreaming&quot;"/> </enum> </arg> <arg type="array<object>" var="$endpoint.properties.originGroups" options="origin-groups" group="Properties"> <help short="The origin groups comprising of origins that are used for load balancing the traffic based on availability."/> <item type="object"> <arg type="string" var="$endpoint.properties.originGroups[].name" options="name" required="True"> <help short="Origin group name which must be unique within the endpoint."/> </arg> <arg type="object" var="$endpoint.properties.originGroups[].properties.healthProbeSettings" options="health-probe-settings" group="Properties"> <help short="Health probe settings to the origin that is used to determine the health of the origin."/> <arg type="integer32" var="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeIntervalInSeconds" options="probe-interval-in-seconds"> <help short="The number of seconds between health probes.Default is 240sec."/> <format maximum="255" minimum="1"/> </arg> <arg type="string" var="$endpoint.properties.originGroups[].properties.healthProbeSettings.probePath" options="probe-path"> <help short="The path relative to the origin that is used to determine the health of the origin."/> </arg> <arg type="string" var="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeProtocol" options="probe-protocol"> <help short="Protocol to use for health probe."/> <enum> <item name="Http" value="&quot;Http&quot;"/> <item name="Https" value="&quot;Https&quot;"/> <item name="NotSet" value="&quot;NotSet&quot;"/> </enum> </arg> <arg type="string" var="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeRequestType" options="probe-request-type"> <help short="The type of health probe request that is made."/> <enum> <item name="GET" value="&quot;GET&quot;"/> <item name="HEAD" value="&quot;HEAD&quot;"/> <item name="NotSet" value="&quot;NotSet&quot;"/> </enum> </arg> </arg> <arg type="array<@ResourceReference_create>" var="$endpoint.properties.originGroups[].properties.origins" options="origins" group="Properties"> <help short="The source of the content being delivered via CDN within given origin group."/> <item type="@ResourceReference_create"/> </arg> <arg type="object" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings" options="response-based-origin-error-detection-settings" group="Properties"> <help short="The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported."/> <arg type="array<object>" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges" options="http-error-ranges"> <help short="The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy."/> <item type="object"> <arg type="integer32" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges[].begin" options="begin"> <help short="The inclusive start of the http status code range."/> <format maximum="999" minimum="100"/> </arg> <arg type="integer32" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges[].end" options="end"> <help short="The inclusive end of the http status code range."/> <format maximum="999" minimum="100"/> </arg> </item> </arg> <arg type="string" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.responseBasedDetectedErrorTypes" options="response-based-detected-error-types"> <help short="Type of response errors for real user requests for which origin will be deemed unhealthy"/> <enum> <item name="None" value="&quot;None&quot;"/> <item name="TcpAndHttpErrors" value="&quot;TcpAndHttpErrors&quot;"/> <item name="TcpErrorsOnly" value="&quot;TcpErrorsOnly&quot;"/> </enum> </arg> <arg type="integer32" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.responseBasedFailoverThresholdPercentage" options="response-based-failover-threshold-percentage"> <help short="The percentage of failed requests in the sample where failover should trigger."/> <format maximum="100" minimum="0"/> </arg> </arg> <arg type="integer32" var="$endpoint.properties.originGroups[].properties.trafficRestorationTimeToHealedOrNewEndpointsInMinutes" options="traffic-restoration-time-to-healed-or-new-endpoints-in-minutes" group="Properties"> <help short="Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported."/> <format maximum="50" minimum="0"/> </arg> </item> </arg> <arg type="string" var="$endpoint.properties.originHostHeader" options="origin-host-header" group="Properties"> <help short="The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default."/> </arg> <arg type="string" var="$endpoint.properties.originPath" options="origin-path" group="Properties"> <help short="A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath."/> </arg> <arg type="array<object>" var="$endpoint.properties.origins" options="origins" group="Properties"> <help short="The source of the content being delivered via CDN."/> <item type="object"> <arg type="string" var="$endpoint.properties.origins[].name" options="name" required="True"> <help short="Origin name which must be unique within the endpoint. "/> </arg> <arg type="boolean" var="$endpoint.properties.origins[].properties.enabled" options="enabled" group="Properties"> <help short="Origin is enabled for load balancing or not. By default, origin is always enabled."/> </arg> <arg type="string" var="$endpoint.properties.origins[].properties.hostName" options="host-name" group="Properties"> <help short="The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint."/> </arg> <arg type="integer32" var="$endpoint.properties.origins[].properties.httpPort" options="http-port" group="Properties"> <help short="The value of the HTTP port. Must be between 1 and 65535."/> <format maximum="65535" minimum="1"/> </arg> <arg type="integer32" var="$endpoint.properties.origins[].properties.httpsPort" options="https-port" group="Properties"> <help short="The value of the HTTPS port. Must be between 1 and 65535."/> <format maximum="65535" minimum="1"/> </arg> <arg type="string" var="$endpoint.properties.origins[].properties.originHostHeader" options="origin-host-header" group="Properties"> <help short="The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default."/> </arg> <arg type="integer32" var="$endpoint.properties.origins[].properties.priority" options="priority" group="Properties"> <help short="Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5."/> <format maximum="5" minimum="1"/> </arg> <arg type="string" var="$endpoint.properties.origins[].properties.privateLinkAlias" options="private-link-alias" group="Properties"> <help short="The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'"/> </arg> <arg type="string" var="$endpoint.properties.origins[].properties.privateLinkApprovalMessage" options="private-link-approval-message" group="Properties"> <help short="A custom message to be included in the approval request to connect to the Private Link."/> </arg> <arg type="string" var="$endpoint.properties.origins[].properties.privateLinkLocation" options="private-link-location" group="Properties"> <help short="The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated"/> </arg> <arg type="string" var="$endpoint.properties.origins[].properties.privateLinkResourceId" options="private-link-resource-id" group="Properties"> <help short="The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'"/> </arg> <arg type="integer32" var="$endpoint.properties.origins[].properties.weight" options="weight" group="Properties"> <help short="Weight of the origin in given origin group for load balancing. Must be between 1 and 1000"/> <format maximum="1000" minimum="1"/> </arg> </item> </arg> <arg type="string" var="$endpoint.properties.probePath" options="probe-path" group="Properties"> <help short="Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin."/> </arg> <arg type="string" var="$endpoint.properties.queryStringCachingBehavior" options="query-string-caching-behavior" group="Properties"> <help short="Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL."/> <default value="&quot;NotSet&quot;"/> <enum> <item name="BypassCaching" value="&quot;BypassCaching&quot;"/> <item name="IgnoreQueryString" value="&quot;IgnoreQueryString&quot;"/> <item name="NotSet" value="&quot;NotSet&quot;"/> <item name="UseQueryString" value="&quot;UseQueryString&quot;"/> </enum> </arg> <arg type="array<object>" var="$endpoint.properties.urlSigningKeys" options="url-signing-keys" group="Properties"> <help short="List of keys used to validate the signed URL hashes."/> <item type="object"> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keyId" options="key-id" required="True"> <help short="Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash."/> </arg> <arg type="object" var="$endpoint.properties.urlSigningKeys[].keySourceParameters" options="key-source-parameters" required="True"> <help short="Defines the parameters for using customer key vault for Url Signing Key."/> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.resourceGroupName" options="resource-group-name" required="True"> <help short="Resource group of the user's Key Vault containing the secret"/> </arg> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.secretName" options="secret-name" required="True"> <help short="The name of secret in Key Vault."/> </arg> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.secretVersion" options="secret-version" required="True"> <help short="The version(GUID) of secret in Key Vault."/> </arg> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.subscriptionId" options="subscription-id" required="True"> <help short="Subscription Id of the user's Key Vault containing the secret"/> </arg> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.typeName" options="type-name" required="True"> <enum> <item name="KeyVaultSigningKeyParameters" value="&quot;KeyVaultSigningKeyParameters&quot;"/> </enum> </arg> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.vaultName" options="vault-name" required="True"> <help short="The name of the user's Key Vault containing the secret"/> </arg> </arg> </item> </arg> <arg type="object" var="$endpoint.properties.webApplicationFirewallPolicyLink" options="web-application-firewall-policy-link" group="Properties"> <help short="Defines the Web Application Firewall policy for the endpoint (if applicable)"/> <arg type="string" var="$endpoint.properties.webApplicationFirewallPolicyLink.id" options="id"> <help short="Resource ID."/> </arg> </arg> </argGroup> <operation operationId="Endpoints_Create"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}"> <request method="put"> <path> <param type="string" name="endpointName" arg="$Path.endpointName" required="True"/> <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="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="endpoint" required="True" clientFlatten="True"> <prop type="ResourceLocation" name="location" arg="$endpoint.location" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<string>" name="contentTypesToCompress" arg="$endpoint.properties.contentTypesToCompress"> <item type="string"/> </prop> <prop type="object" name="defaultOriginGroup"> <prop type="string" name="id" arg="$endpoint.properties.defaultOriginGroup.id"/> </prop> <prop type="object" name="deliveryPolicy" arg="$endpoint.properties.deliveryPolicy"> <prop type="string" name="description" arg="$endpoint.properties.deliveryPolicy.description"/> <prop type="array<object>" name="rules" arg="$endpoint.properties.deliveryPolicy.rules" required="True" identifiers="name"> <item type="object"> <prop type="array<object>" name="actions" arg="$endpoint.properties.deliveryPolicy.rules[].actions" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration" value="&quot;CacheExpiration&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString" value="&quot;CacheKeyQueryString&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyRequestHeader" value="&quot;ModifyRequestHeader&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyResponseHeader" value="&quot;ModifyResponseHeader&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].OriginGroupOverride" value="&quot;OriginGroupOverride&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride" value="&quot;RouteConfigurationOverride&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect" value="&quot;UrlRedirect&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite" value="&quot;UrlRewrite&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning" value="&quot;UrlSigning&quot;"/> </enum> </prop> <discriminator property="name" value="CacheExpiration"> <prop type="object" name="parameters" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration.parameters" required="True"> <prop type="string" name="cacheBehavior" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration.parameters.cacheDuration"/> <prop type="string" name="cacheType" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration.parameters.cacheType" required="True"> <enum> <item value="&quot;All&quot;"/> </enum> </prop> <prop type="string" name="typeName" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString.parameters" required="True"> <prop nullable="True" type="string" name="queryParameters" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString.parameters.queryParameters"/> <prop type="string" name="queryStringBehavior" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyResponseHeader.parameters" required="True"/> </discriminator> <discriminator property="name" value="OriginGroupOverride"> <prop type="object" name="parameters" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].OriginGroupOverride.parameters" required="True"> <prop type="object" name="originGroup" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters" required="True"> <prop type="object" name="cacheConfiguration" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration"> <prop type="string" name="cacheBehavior" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration.cacheDuration"/> <prop type="string" name="isCompressionEnabled" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration.isCompressionEnabled"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> <prop type="string" name="queryParameters" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryParameters"/> <prop type="string" name="queryStringCachingBehavior" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.originGroupOverride"> <prop type="string" name="forwardingProtocol" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.originGroupOverride.originGroup"/> </prop> <prop type="string" name="typeName" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters" required="True"> <prop type="string" name="customFragment" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.customFragment"/> <prop type="string" name="customHostname" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.customHostname"/> <prop type="string" name="customPath" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.customPath"/> <prop type="string" name="customQueryString" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.customQueryString"/> <prop type="string" name="destinationProtocol" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters" required="True"> <prop type="string" name="destination" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters.destination" required="True"/> <prop type="boolean" name="preserveUnmatchedPath" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters.preserveUnmatchedPath"/> <prop type="string" name="sourcePattern" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters.sourcePattern" required="True"/> <prop type="string" name="typeName" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters" required="True"> <prop type="string" name="algorithm" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters.algorithm"> <enum> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="array<object>" name="parameterNameOverride" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters.parameterNameOverride" identifiers="paramName"> <item type="object"> <prop type="string" name="paramIndicator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters.parameterNameOverride[].paramName" required="True"/> </item> </prop> <prop type="string" name="typeName" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort" value="&quot;ClientPort&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies" value="&quot;Cookies&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName" value="&quot;HostName&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion" value="&quot;HttpVersion&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice" value="&quot;IsDevice&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs" value="&quot;PostArgs&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString" value="&quot;QueryString&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress" value="&quot;RemoteAddress&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody" value="&quot;RequestBody&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader" value="&quot;RequestHeader&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod" value="&quot;RequestMethod&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme" value="&quot;RequestScheme&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri" value="&quot;RequestUri&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort" value="&quot;ServerPort&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr" value="&quot;SocketAddr&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol" value="&quot;SslProtocol&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension" value="&quot;UrlFileExtension&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName" value="&quot;UrlFileName&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath" value="&quot;UrlPath&quot;"/> </enum> </prop> <discriminator property="name" value="ClientPort"> <prop type="object" name="parameters" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlPathMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop type="string" name="name" arg="$endpoint.properties.deliveryPolicy.rules[].name"/> <prop type="integer32" name="order" arg="$endpoint.properties.deliveryPolicy.rules[].order" required="True"/> </item> </prop> </prop> <prop type="array<object>" name="geoFilters" arg="$endpoint.properties.geoFilters"> <item type="object"> <prop type="string" name="action" arg="$endpoint.properties.geoFilters[].action" required="True"> <enum> <item value="&quot;Allow&quot;"/> <item value="&quot;Block&quot;"/> </enum> </prop> <prop type="array<string>" name="countryCodes" arg="$endpoint.properties.geoFilters[].countryCodes" required="True"> <item type="string"/> </prop> <prop type="string" name="relativePath" arg="$endpoint.properties.geoFilters[].relativePath" required="True"/> </item> </prop> <prop type="boolean" name="isCompressionEnabled" arg="$endpoint.properties.isCompressionEnabled"/> <prop type="boolean" name="isHttpAllowed" arg="$endpoint.properties.isHttpAllowed"> <default value="true"/> </prop> <prop type="boolean" name="isHttpsAllowed" arg="$endpoint.properties.isHttpsAllowed"> <default value="true"/> </prop> <prop type="string" name="optimizationType" arg="$endpoint.properties.optimizationType"> <enum> <item value="&quot;DynamicSiteAcceleration&quot;"/> <item value="&quot;GeneralMediaStreaming&quot;"/> <item value="&quot;GeneralWebDelivery&quot;"/> <item value="&quot;LargeFileDownload&quot;"/> <item value="&quot;VideoOnDemandMediaStreaming&quot;"/> </enum> </prop> <prop type="array<object>" name="originGroups" arg="$endpoint.properties.originGroups" identifiers="name"> <item type="object"> <prop type="string" name="name" arg="$endpoint.properties.originGroups[].name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="healthProbeSettings" arg="$endpoint.properties.originGroups[].properties.healthProbeSettings"> <prop type="integer32" name="probeIntervalInSeconds" arg="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeIntervalInSeconds"> <format maximum="255" minimum="1"/> </prop> <prop type="string" name="probePath" arg="$endpoint.properties.originGroups[].properties.healthProbeSettings.probePath"/> <prop type="string" name="probeProtocol" arg="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeProtocol"> <enum> <item value="&quot;Http&quot;"/> <item value="&quot;Https&quot;"/> <item value="&quot;NotSet&quot;"/> </enum> </prop> <prop type="string" name="probeRequestType" arg="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeRequestType"> <enum> <item value="&quot;GET&quot;"/> <item value="&quot;HEAD&quot;"/> <item value="&quot;NotSet&quot;"/> </enum> </prop> </prop> <prop type="array<@ResourceReference_create>" name="origins" arg="$endpoint.properties.originGroups[].properties.origins" required="True"> <item type="@ResourceReference_create"/> </prop> <prop type="object" name="responseBasedOriginErrorDetectionSettings" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings"> <prop type="array<object>" name="httpErrorRanges" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges"> <item type="object"> <prop type="integer32" name="begin" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges[].begin"> <format maximum="999" minimum="100"/> </prop> <prop type="integer32" name="end" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges[].end"> <format maximum="999" minimum="100"/> </prop> </item> </prop> <prop type="string" name="responseBasedDetectedErrorTypes" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.responseBasedDetectedErrorTypes"> <enum> <item value="&quot;None&quot;"/> <item value="&quot;TcpAndHttpErrors&quot;"/> <item value="&quot;TcpErrorsOnly&quot;"/> </enum> </prop> <prop type="integer32" name="responseBasedFailoverThresholdPercentage" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.responseBasedFailoverThresholdPercentage"> <format maximum="100" minimum="0"/> </prop> </prop> <prop type="integer32" name="trafficRestorationTimeToHealedOrNewEndpointsInMinutes" arg="$endpoint.properties.originGroups[].properties.trafficRestorationTimeToHealedOrNewEndpointsInMinutes"> <format maximum="50" minimum="0"/> </prop> </prop> </item> </prop> <prop type="string" name="originHostHeader" arg="$endpoint.properties.originHostHeader"/> <prop type="string" name="originPath" arg="$endpoint.properties.originPath"/> <prop type="array<object>" name="origins" arg="$endpoint.properties.origins" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" arg="$endpoint.properties.origins[].name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="boolean" name="enabled" arg="$endpoint.properties.origins[].properties.enabled"/> <prop type="string" name="hostName" arg="$endpoint.properties.origins[].properties.hostName" required="True"/> <prop type="integer32" name="httpPort" arg="$endpoint.properties.origins[].properties.httpPort"> <format maximum="65535" minimum="1"/> </prop> <prop type="integer32" name="httpsPort" arg="$endpoint.properties.origins[].properties.httpsPort"> <format maximum="65535" minimum="1"/> </prop> <prop type="string" name="originHostHeader" arg="$endpoint.properties.origins[].properties.originHostHeader"/> <prop type="integer32" name="priority" arg="$endpoint.properties.origins[].properties.priority"> <format maximum="5" minimum="1"/> </prop> <prop type="string" name="privateLinkAlias" arg="$endpoint.properties.origins[].properties.privateLinkAlias"/> <prop type="string" name="privateLinkApprovalMessage" arg="$endpoint.properties.origins[].properties.privateLinkApprovalMessage"/> <prop type="string" name="privateLinkLocation" arg="$endpoint.properties.origins[].properties.privateLinkLocation"/> <prop type="string" name="privateLinkResourceId" arg="$endpoint.properties.origins[].properties.privateLinkResourceId"/> <prop type="integer32" name="weight" arg="$endpoint.properties.origins[].properties.weight"> <format maximum="1000" minimum="1"/> </prop> </prop> </item> </prop> <prop type="string" name="probePath" arg="$endpoint.properties.probePath"/> <prop type="string" name="queryStringCachingBehavior" arg="$endpoint.properties.queryStringCachingBehavior"> <default value="&quot;NotSet&quot;"/> <enum> <item value="&quot;BypassCaching&quot;"/> <item value="&quot;IgnoreQueryString&quot;"/> <item value="&quot;NotSet&quot;"/> <item value="&quot;UseQueryString&quot;"/> </enum> </prop> <prop type="array<object>" name="urlSigningKeys" arg="$endpoint.properties.urlSigningKeys" identifiers="keyId"> <item type="object"> <prop type="string" name="keyId" arg="$endpoint.properties.urlSigningKeys[].keyId" required="True"/> <prop type="object" name="keySourceParameters" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters" required="True"> <prop type="string" name="resourceGroupName" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.resourceGroupName" required="True"/> <prop type="string" name="secretName" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.secretName" required="True"/> <prop type="string" name="secretVersion" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.secretVersion" required="True"/> <prop type="string" name="subscriptionId" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.subscriptionId" required="True"/> <prop type="string" name="typeName" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.typeName" required="True"> <enum> <item value="&quot;KeyVaultSigningKeyParameters&quot;"/> </enum> </prop> <prop type="string" name="vaultName" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.vaultName" required="True"/> </prop> </item> </prop> <prop type="object" name="webApplicationFirewallPolicyLink" arg="$endpoint.properties.webApplicationFirewallPolicyLink"> <prop type="string" name="id" arg="$endpoint.properties.webApplicationFirewallPolicyLink.id"/> </prop> </prop> <prop type="object" name="tags" arg="$endpoint.tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> </schema> </json> </body> </request> <response statusCode="200 201"> <body> <json var="$Instance"> <schema type="object" cls="Endpoint_read"> <prop readOnly="True" type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Cdn/profiles/{}/endpoints/{}"/> </prop> <prop type="ResourceLocation" name="location" required="True"/> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<string>" name="contentTypesToCompress"> <item type="string"/> </prop> <prop readOnly="True" type="array<object>" name="customDomains" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="string" name="hostName" required="True"/> <prop type="string" name="validationData"/> </prop> </item> </prop> <prop type="object" name="defaultOriginGroup" cls="ResourceReference_read"> <prop type="string" name="id"/> </prop> <prop type="object" name="deliveryPolicy"> <prop type="string" name="description"/> <prop type="array<object>" name="rules" required="True" identifiers="name"> <item type="object"> <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="@ResourceReference_read" name="originGroup" required="True"/> <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 type="string" name="name"/> <prop type="integer32" name="order" required="True"/> </item> </prop> </prop> <prop type="array<object>" name="geoFilters"> <item type="object"> <prop type="string" name="action" required="True"> <enum> <item value="&quot;Allow&quot;"/> <item value="&quot;Block&quot;"/> </enum> </prop> <prop type="array<string>" name="countryCodes" required="True"> <item type="string"/> </prop> <prop type="string" name="relativePath" required="True"/> </item> </prop> <prop readOnly="True" type="string" name="hostName"/> <prop type="boolean" name="isCompressionEnabled"/> <prop type="boolean" name="isHttpAllowed"> <default value="true"/> </prop> <prop type="boolean" name="isHttpsAllowed"> <default value="true"/> </prop> <prop type="string" name="optimizationType"> <enum> <item value="&quot;DynamicSiteAcceleration&quot;"/> <item value="&quot;GeneralMediaStreaming&quot;"/> <item value="&quot;GeneralWebDelivery&quot;"/> <item value="&quot;LargeFileDownload&quot;"/> <item value="&quot;VideoOnDemandMediaStreaming&quot;"/> </enum> </prop> <prop type="array<object>" name="originGroups" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="healthProbeSettings"> <prop type="integer32" name="probeIntervalInSeconds"> <format maximum="255" minimum="1"/> </prop> <prop type="string" name="probePath"/> <prop type="string" name="probeProtocol"> <enum> <item value="&quot;Http&quot;"/> <item value="&quot;Https&quot;"/> <item value="&quot;NotSet&quot;"/> </enum> </prop> <prop type="string" name="probeRequestType"> <enum> <item value="&quot;GET&quot;"/> <item value="&quot;HEAD&quot;"/> <item value="&quot;NotSet&quot;"/> </enum> </prop> </prop> <prop type="array<@ResourceReference_read>" name="origins" required="True"> <item type="@ResourceReference_read"/> </prop> <prop type="object" name="responseBasedOriginErrorDetectionSettings"> <prop type="array<object>" name="httpErrorRanges"> <item type="object"> <prop type="integer32" name="begin"> <format maximum="999" minimum="100"/> </prop> <prop type="integer32" name="end"> <format maximum="999" minimum="100"/> </prop> </item> </prop> <prop type="string" name="responseBasedDetectedErrorTypes"> <enum> <item value="&quot;None&quot;"/> <item value="&quot;TcpAndHttpErrors&quot;"/> <item value="&quot;TcpErrorsOnly&quot;"/> </enum> </prop> <prop type="integer32" name="responseBasedFailoverThresholdPercentage"> <format maximum="100" minimum="0"/> </prop> </prop> <prop type="integer32" name="trafficRestorationTimeToHealedOrNewEndpointsInMinutes"> <format maximum="50" minimum="0"/> </prop> </prop> </item> </prop> <prop type="string" name="originHostHeader"/> <prop type="string" name="originPath"/> <prop type="array<object>" name="origins" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="boolean" name="enabled"/> <prop type="string" name="hostName" required="True"/> <prop type="integer32" name="httpPort"> <format maximum="65535" minimum="1"/> </prop> <prop type="integer32" name="httpsPort"> <format maximum="65535" minimum="1"/> </prop> <prop type="string" name="originHostHeader"/> <prop type="integer32" name="priority"> <format maximum="5" minimum="1"/> </prop> <prop type="string" name="privateEndpointStatus"> <enum> <item value="&quot;Approved&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Pending&quot;"/> <item value="&quot;Rejected&quot;"/> <item value="&quot;Timeout&quot;"/> </enum> </prop> <prop type="string" name="privateLinkAlias"/> <prop type="string" name="privateLinkApprovalMessage"/> <prop type="string" name="privateLinkLocation"/> <prop type="string" name="privateLinkResourceId"/> <prop type="integer32" name="weight"> <format maximum="1000" minimum="1"/> </prop> </prop> </item> </prop> <prop type="string" name="probePath"/> <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 type="string" name="queryStringCachingBehavior"> <default value="&quot;NotSet&quot;"/> <enum> <item value="&quot;BypassCaching&quot;"/> <item value="&quot;IgnoreQueryString&quot;"/> <item value="&quot;NotSet&quot;"/> <item value="&quot;UseQueryString&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="resourceState"> <enum> <item value="&quot;Creating&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Running&quot;"/> <item value="&quot;Starting&quot;"/> <item value="&quot;Stopped&quot;"/> <item value="&quot;Stopping&quot;"/> </enum> </prop> <prop type="array<object>" name="urlSigningKeys" identifiers="keyId"> <item type="object"> <prop type="string" name="keyId" required="True"/> <prop type="object" name="keySourceParameters" required="True"> <prop type="string" name="resourceGroupName" required="True"/> <prop type="string" name="secretName" required="True"/> <prop type="string" name="secretVersion" required="True"/> <prop type="string" name="subscriptionId" required="True"/> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;KeyVaultSigningKeyParameters&quot;"/> </enum> </prop> <prop type="string" name="vaultName" required="True"/> </prop> </item> </prop> <prop type="object" name="webApplicationFirewallPolicyLink"> <prop type="string" name="id"/> </prop> </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 type="object" name="tags"> <additionalProp> <item type="string"/> </additionalProp> </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="@Endpoint_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/{}/endpoints/{}" version="2023-05-01" swagger="mgmt-plane/cdn/ResourceProviders/Microsoft.Cdn/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ2RuL3Byb2ZpbGVzL3twcm9maWxlTmFtZX0vZW5kcG9pbnRzL3tlbmRwb2ludE5hbWV9/V/MjAyMy0wNS0wMQ=="/> <argGroup name=""> <arg type="string" var="$Path.endpointName" options="endpoint-name name n" required="True" group="" idPart="child_name_1"> <help short="Name of the endpoint under the profile which is unique globally."/> </arg> <arg type="string" var="$Path.profileName" options="profile-name" required="True" idPart="name"> <help short="Name of the CDN 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="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/> </argGroup> <argGroup name="DefaultOriginGroup"> <arg nullable="True" type="string" var="$endpoint.properties.defaultOriginGroup.id" options="default-origin-group" group="DefaultOriginGroup"> <help short="The origin group to use for origins not explicitly included in an origin group. Can be specified as a resource ID or the name of an origin group of this endpoint."/> </arg> </argGroup> <argGroup name="Endpoint"> <arg type="ResourceLocation" var="$endpoint.location" options="location l" group="Endpoint"> <help short="Resource location."/> </arg> <arg nullable="True" type="object" var="$endpoint.tags" options="tags" group="Endpoint"> <help short="Resource tags."/> <additionalProp> <item nullable="True" type="string"/> </additionalProp> </arg> </argGroup> <argGroup name="Properties"> <arg nullable="True" type="array<string>" var="$endpoint.properties.contentTypesToCompress" options="content-types-to-compress" group="Properties"> <help short="List of content types on which compression applies. The value should be a valid MIME type."/> <item nullable="True" type="string"/> </arg> <arg nullable="True" type="object" var="$endpoint.properties.deliveryPolicy" options="delivery-policy" group="Properties"> <help short="A policy that specifies the delivery rules to be used for an endpoint."/> <arg nullable="True" type="string" var="$endpoint.properties.deliveryPolicy.description" options="description"> <help short="User-friendly description of the policy."/> </arg> <arg type="array<object>" var="$endpoint.properties.deliveryPolicy.rules" options="rules"> <help short="A list of the delivery rules."/> <item nullable="True" type="object"> <arg type="array<object>" var="$endpoint.properties.deliveryPolicy.rules[].actions" options="actions"> <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="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration" options="cache-expiration"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleCacheExpirationActionParameters" value="&quot;DeliveryRuleCacheExpirationActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString" options="cache-key-query-string"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg nullable="True" type="string" var="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString.parameters.queryParameters" options="query-parameters"> <help short="query parameters to include or exclude (comma separated)."/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" value="&quot;DeliveryRuleCacheKeyQueryStringBehaviorActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyRequestHeader" options="modify-request-header"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyResponseHeader" options="modify-response-header"> <arg type="@HeaderActionParameters_update" var="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyResponseHeader.parameters" options="parameters"> <help short="Defines the parameters for the action."/> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].OriginGroupOverride" options="origin-group-override"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].OriginGroupOverride.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].OriginGroupOverride.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleOriginGroupOverrideActionParameters" value="&quot;DeliveryRuleOriginGroupOverrideActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride" options="route-configuration-override"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg nullable="True" type="object" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration.isCompressionEnabled" options="is-compression-enabled"> <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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRouteConfigurationOverrideActionParameters" value="&quot;DeliveryRuleRouteConfigurationOverrideActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect" options="url-redirect"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg nullable="True" type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.customQueryString" options="custom-query-string"> <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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleUrlRedirectActionParameters" value="&quot;DeliveryRuleUrlRedirectActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite" options="url-rewrite"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters.preserveUnmatchedPath" options="preserve-unmatched-path"> <help short="Whether to preserve unmatched path. Default value is true."/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleUrlRewriteActionParameters" value="&quot;DeliveryRuleUrlRewriteActionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning" options="url-signing"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters" options="parameters"> <help short="Defines the parameters for the action."/> <arg nullable="True" type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters.parameterNameOverride[].paramName" options="param-name"> <help short="Parameter name"/> </arg> </item> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions" options="conditions"> <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="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort" options="client-port"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleClientPortConditionParameters" value="&quot;DeliveryRuleClientPortConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies" options="cookies"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters.selector" options="selector"> <help short="Name of Cookies to be matched"/> </arg> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleCookiesConditionParameters" value="&quot;DeliveryRuleCookiesConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName" options="host-name"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleHostNameConditionParameters" value="&quot;DeliveryRuleHostNameConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion" options="http-version"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleHttpVersionConditionParameters" value="&quot;DeliveryRuleHttpVersionConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice" options="is-device"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleIsDeviceConditionParameters" value="&quot;DeliveryRuleIsDeviceConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs" options="post-args"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters.selector" options="selector"> <help short="Name of PostArg to be matched"/> </arg> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRulePostArgsConditionParameters" value="&quot;DeliveryRulePostArgsConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString" options="query-string"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleQueryStringConditionParameters" value="&quot;DeliveryRuleQueryStringConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress" options="remote-address"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRemoteAddressConditionParameters" value="&quot;DeliveryRuleRemoteAddressConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody" options="request-body"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRequestBodyConditionParameters" value="&quot;DeliveryRuleRequestBodyConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader" options="request-header"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters.selector" options="selector"> <help short="Name of Header to be matched"/> </arg> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRequestHeaderConditionParameters" value="&quot;DeliveryRuleRequestHeaderConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod" options="request-method"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRequestMethodConditionParameters" value="&quot;DeliveryRuleRequestMethodConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme" options="request-scheme"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRequestSchemeConditionParameters" value="&quot;DeliveryRuleRequestSchemeConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri" options="request-uri"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleRequestUriConditionParameters" value="&quot;DeliveryRuleRequestUriConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort" options="server-port"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleServerPortConditionParameters" value="&quot;DeliveryRuleServerPortConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr" options="socket-addr"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleSocketAddrConditionParameters" value="&quot;DeliveryRuleSocketAddrConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol" options="ssl-protocol"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleSslProtocolConditionParameters" value="&quot;DeliveryRuleSslProtocolConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension" options="url-file-extension"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleUrlFileExtensionMatchConditionParameters" value="&quot;DeliveryRuleUrlFileExtensionMatchConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName" options="url-file-name"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName.parameters.typeName" options="type-name"> <enum> <item name="DeliveryRuleUrlFilenameConditionParameters" value="&quot;DeliveryRuleUrlFilenameConditionParameters&quot;"/> </enum> </arg> </arg> </arg> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath" options="url-path"> <arg type="object" var="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters" options="parameters"> <help short="Defines the parameters for the condition."/> <arg nullable="True" type="array<string>" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters.negateCondition" options="negate-condition"> <help short="Describes if this is negate condition or not"/> </arg> <arg type="string" var="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].name" options="name"> <help short="Name of the rule"/> </arg> <arg type="integer32" var="$endpoint.properties.deliveryPolicy.rules[].order" options="order"> <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> </item> </arg> </arg> <arg nullable="True" type="array<object>" var="$endpoint.properties.geoFilters" options="geo-filters" group="Properties"> <help short="List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/"/> <item nullable="True" type="object"> <arg type="string" var="$endpoint.properties.geoFilters[].action" options="action"> <help short="Action of the geo filter, i.e. allow or block access."/> <enum> <item name="Allow" value="&quot;Allow&quot;"/> <item name="Block" value="&quot;Block&quot;"/> </enum> </arg> <arg type="array<string>" var="$endpoint.properties.geoFilters[].countryCodes" options="country-codes"> <help short="Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US."/> <item nullable="True" type="string"/> </arg> <arg type="string" var="$endpoint.properties.geoFilters[].relativePath" options="relative-path"> <help short="Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)"/> </arg> </item> </arg> <arg nullable="True" type="boolean" var="$endpoint.properties.isCompressionEnabled" options="is-compression-enabled" group="Properties"> <help short="Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB."/> </arg> <arg nullable="True" type="boolean" var="$endpoint.properties.isHttpAllowed" options="is-http-allowed" group="Properties"> <help short="Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed."/> </arg> <arg nullable="True" type="boolean" var="$endpoint.properties.isHttpsAllowed" options="is-https-allowed" group="Properties"> <help short="Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed."/> </arg> <arg nullable="True" type="string" var="$endpoint.properties.optimizationType" options="optimization-type" group="Properties"> <help short="Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization."/> <enum> <item name="DynamicSiteAcceleration" value="&quot;DynamicSiteAcceleration&quot;"/> <item name="GeneralMediaStreaming" value="&quot;GeneralMediaStreaming&quot;"/> <item name="GeneralWebDelivery" value="&quot;GeneralWebDelivery&quot;"/> <item name="LargeFileDownload" value="&quot;LargeFileDownload&quot;"/> <item name="VideoOnDemandMediaStreaming" value="&quot;VideoOnDemandMediaStreaming&quot;"/> </enum> </arg> <arg nullable="True" type="array<object>" var="$endpoint.properties.originGroups" options="origin-groups" group="Properties"> <help short="The origin groups comprising of origins that are used for load balancing the traffic based on availability."/> <item nullable="True" type="object"> <arg type="string" var="$endpoint.properties.originGroups[].name" options="name"> <help short="Origin group name which must be unique within the endpoint."/> </arg> <arg nullable="True" type="object" var="$endpoint.properties.originGroups[].properties.healthProbeSettings" options="health-probe-settings" group="Properties"> <help short="Health probe settings to the origin that is used to determine the health of the origin."/> <arg nullable="True" type="integer32" var="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeIntervalInSeconds" options="probe-interval-in-seconds"> <help short="The number of seconds between health probes.Default is 240sec."/> <format maximum="255" minimum="1"/> </arg> <arg nullable="True" type="string" var="$endpoint.properties.originGroups[].properties.healthProbeSettings.probePath" options="probe-path"> <help short="The path relative to the origin that is used to determine the health of the origin."/> </arg> <arg nullable="True" type="string" var="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeProtocol" options="probe-protocol"> <help short="Protocol to use for health probe."/> <enum> <item name="Http" value="&quot;Http&quot;"/> <item name="Https" value="&quot;Https&quot;"/> <item name="NotSet" value="&quot;NotSet&quot;"/> </enum> </arg> <arg nullable="True" type="string" var="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeRequestType" options="probe-request-type"> <help short="The type of health probe request that is made."/> <enum> <item name="GET" value="&quot;GET&quot;"/> <item name="HEAD" value="&quot;HEAD&quot;"/> <item name="NotSet" value="&quot;NotSet&quot;"/> </enum> </arg> </arg> <arg type="array<@ResourceReference_update>" var="$endpoint.properties.originGroups[].properties.origins" options="origins" group="Properties"> <help short="The source of the content being delivered via CDN within given origin group."/> <item nullable="True" type="@ResourceReference_update"/> </arg> <arg nullable="True" type="object" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings" options="response-based-origin-error-detection-settings" group="Properties"> <help short="The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported."/> <arg nullable="True" type="array<object>" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges" options="http-error-ranges"> <help short="The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy."/> <item nullable="True" type="object"> <arg nullable="True" type="integer32" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges[].begin" options="begin"> <help short="The inclusive start of the http status code range."/> <format maximum="999" minimum="100"/> </arg> <arg nullable="True" type="integer32" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges[].end" options="end"> <help short="The inclusive end of the http status code range."/> <format maximum="999" minimum="100"/> </arg> </item> </arg> <arg nullable="True" type="string" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.responseBasedDetectedErrorTypes" options="response-based-detected-error-types"> <help short="Type of response errors for real user requests for which origin will be deemed unhealthy"/> <enum> <item name="None" value="&quot;None&quot;"/> <item name="TcpAndHttpErrors" value="&quot;TcpAndHttpErrors&quot;"/> <item name="TcpErrorsOnly" value="&quot;TcpErrorsOnly&quot;"/> </enum> </arg> <arg nullable="True" type="integer32" var="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.responseBasedFailoverThresholdPercentage" options="response-based-failover-threshold-percentage"> <help short="The percentage of failed requests in the sample where failover should trigger."/> <format maximum="100" minimum="0"/> </arg> </arg> <arg nullable="True" type="integer32" var="$endpoint.properties.originGroups[].properties.trafficRestorationTimeToHealedOrNewEndpointsInMinutes" options="traffic-restoration-time-to-healed-or-new-endpoints-in-minutes" group="Properties"> <help short="Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported."/> <format maximum="50" minimum="0"/> </arg> </item> </arg> <arg nullable="True" type="string" var="$endpoint.properties.originHostHeader" options="origin-host-header" group="Properties"> <help short="The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default."/> </arg> <arg nullable="True" type="string" var="$endpoint.properties.originPath" options="origin-path" group="Properties"> <help short="A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath."/> </arg> <arg type="array<object>" var="$endpoint.properties.origins" options="origins" group="Properties"> <help short="The source of the content being delivered via CDN."/> <item nullable="True" type="object"> <arg type="string" var="$endpoint.properties.origins[].name" options="name"> <help short="Origin name which must be unique within the endpoint. "/> </arg> <arg nullable="True" type="boolean" var="$endpoint.properties.origins[].properties.enabled" options="enabled" group="Properties"> <help short="Origin is enabled for load balancing or not. By default, origin is always enabled."/> </arg> <arg type="string" var="$endpoint.properties.origins[].properties.hostName" options="host-name" group="Properties"> <help short="The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint."/> </arg> <arg nullable="True" type="integer32" var="$endpoint.properties.origins[].properties.httpPort" options="http-port" group="Properties"> <help short="The value of the HTTP port. Must be between 1 and 65535."/> <format maximum="65535" minimum="1"/> </arg> <arg nullable="True" type="integer32" var="$endpoint.properties.origins[].properties.httpsPort" options="https-port" group="Properties"> <help short="The value of the HTTPS port. Must be between 1 and 65535."/> <format maximum="65535" minimum="1"/> </arg> <arg nullable="True" type="string" var="$endpoint.properties.origins[].properties.originHostHeader" options="origin-host-header" group="Properties"> <help short="The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default."/> </arg> <arg nullable="True" type="integer32" var="$endpoint.properties.origins[].properties.priority" options="priority" group="Properties"> <help short="Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5."/> <format maximum="5" minimum="1"/> </arg> <arg nullable="True" type="string" var="$endpoint.properties.origins[].properties.privateLinkAlias" options="private-link-alias" group="Properties"> <help short="The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'"/> </arg> <arg nullable="True" type="string" var="$endpoint.properties.origins[].properties.privateLinkApprovalMessage" options="private-link-approval-message" group="Properties"> <help short="A custom message to be included in the approval request to connect to the Private Link."/> </arg> <arg nullable="True" type="string" var="$endpoint.properties.origins[].properties.privateLinkLocation" options="private-link-location" group="Properties"> <help short="The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated"/> </arg> <arg nullable="True" type="string" var="$endpoint.properties.origins[].properties.privateLinkResourceId" options="private-link-resource-id" group="Properties"> <help short="The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'"/> </arg> <arg nullable="True" type="integer32" var="$endpoint.properties.origins[].properties.weight" options="weight" group="Properties"> <help short="Weight of the origin in given origin group for load balancing. Must be between 1 and 1000"/> <format maximum="1000" minimum="1"/> </arg> </item> </arg> <arg nullable="True" type="string" var="$endpoint.properties.probePath" options="probe-path" group="Properties"> <help short="Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin."/> </arg> <arg nullable="True" type="string" var="$endpoint.properties.queryStringCachingBehavior" options="query-string-caching-behavior" group="Properties"> <help short="Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL."/> <enum> <item name="BypassCaching" value="&quot;BypassCaching&quot;"/> <item name="IgnoreQueryString" value="&quot;IgnoreQueryString&quot;"/> <item name="NotSet" value="&quot;NotSet&quot;"/> <item name="UseQueryString" value="&quot;UseQueryString&quot;"/> </enum> </arg> <arg nullable="True" type="array<object>" var="$endpoint.properties.urlSigningKeys" options="url-signing-keys" group="Properties"> <help short="List of keys used to validate the signed URL hashes."/> <item nullable="True" type="object"> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keyId" options="key-id"> <help short="Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash."/> </arg> <arg type="object" var="$endpoint.properties.urlSigningKeys[].keySourceParameters" options="key-source-parameters"> <help short="Defines the parameters for using customer key vault for Url Signing Key."/> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.resourceGroupName" options="resource-group-name"> <help short="Resource group of the user's Key Vault containing the secret"/> </arg> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.secretName" options="secret-name"> <help short="The name of secret in Key Vault."/> </arg> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.secretVersion" options="secret-version"> <help short="The version(GUID) of secret in Key Vault."/> </arg> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.subscriptionId" options="subscription-id"> <help short="Subscription Id of the user's Key Vault containing the secret"/> </arg> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.typeName" options="type-name"> <enum> <item name="KeyVaultSigningKeyParameters" value="&quot;KeyVaultSigningKeyParameters&quot;"/> </enum> </arg> <arg type="string" var="$endpoint.properties.urlSigningKeys[].keySourceParameters.vaultName" options="vault-name"> <help short="The name of the user's Key Vault containing the secret"/> </arg> </arg> </item> </arg> <arg nullable="True" type="object" var="$endpoint.properties.webApplicationFirewallPolicyLink" options="web-application-firewall-policy-link" group="Properties"> <help short="Defines the Web Application Firewall policy for the endpoint (if applicable)"/> <arg nullable="True" type="string" var="$endpoint.properties.webApplicationFirewallPolicyLink.id" options="id"> <help short="Resource ID."/> </arg> </arg> </argGroup> <operation operationId="Endpoints_Get"> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}"> <request method="get"> <path> <param type="string" name="endpointName" arg="$Path.endpointName" required="True"/> <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="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="Endpoint_read"> <prop readOnly="True" type="ResourceId" name="id"> <format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Cdn/profiles/{}/endpoints/{}"/> </prop> <prop type="ResourceLocation" name="location" required="True"/> <prop readOnly="True" type="string" name="name"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<string>" name="contentTypesToCompress"> <item type="string"/> </prop> <prop readOnly="True" type="array<object>" name="customDomains" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="string" name="hostName" required="True"/> <prop type="string" name="validationData"/> </prop> </item> </prop> <prop type="object" name="defaultOriginGroup" cls="ResourceReference_read"> <prop type="string" name="id"/> </prop> <prop type="object" name="deliveryPolicy"> <prop type="string" name="description"/> <prop type="array<object>" name="rules" required="True" identifiers="name"> <item type="object"> <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="@ResourceReference_read" name="originGroup" required="True"/> <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 type="string" name="name"/> <prop type="integer32" name="order" required="True"/> </item> </prop> </prop> <prop type="array<object>" name="geoFilters"> <item type="object"> <prop type="string" name="action" required="True"> <enum> <item value="&quot;Allow&quot;"/> <item value="&quot;Block&quot;"/> </enum> </prop> <prop type="array<string>" name="countryCodes" required="True"> <item type="string"/> </prop> <prop type="string" name="relativePath" required="True"/> </item> </prop> <prop readOnly="True" type="string" name="hostName"/> <prop type="boolean" name="isCompressionEnabled"/> <prop type="boolean" name="isHttpAllowed"> <default value="true"/> </prop> <prop type="boolean" name="isHttpsAllowed"> <default value="true"/> </prop> <prop type="string" name="optimizationType"> <enum> <item value="&quot;DynamicSiteAcceleration&quot;"/> <item value="&quot;GeneralMediaStreaming&quot;"/> <item value="&quot;GeneralWebDelivery&quot;"/> <item value="&quot;LargeFileDownload&quot;"/> <item value="&quot;VideoOnDemandMediaStreaming&quot;"/> </enum> </prop> <prop type="array<object>" name="originGroups" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="healthProbeSettings"> <prop type="integer32" name="probeIntervalInSeconds"> <format maximum="255" minimum="1"/> </prop> <prop type="string" name="probePath"/> <prop type="string" name="probeProtocol"> <enum> <item value="&quot;Http&quot;"/> <item value="&quot;Https&quot;"/> <item value="&quot;NotSet&quot;"/> </enum> </prop> <prop type="string" name="probeRequestType"> <enum> <item value="&quot;GET&quot;"/> <item value="&quot;HEAD&quot;"/> <item value="&quot;NotSet&quot;"/> </enum> </prop> </prop> <prop type="array<@ResourceReference_read>" name="origins" required="True"> <item type="@ResourceReference_read"/> </prop> <prop type="object" name="responseBasedOriginErrorDetectionSettings"> <prop type="array<object>" name="httpErrorRanges"> <item type="object"> <prop type="integer32" name="begin"> <format maximum="999" minimum="100"/> </prop> <prop type="integer32" name="end"> <format maximum="999" minimum="100"/> </prop> </item> </prop> <prop type="string" name="responseBasedDetectedErrorTypes"> <enum> <item value="&quot;None&quot;"/> <item value="&quot;TcpAndHttpErrors&quot;"/> <item value="&quot;TcpErrorsOnly&quot;"/> </enum> </prop> <prop type="integer32" name="responseBasedFailoverThresholdPercentage"> <format maximum="100" minimum="0"/> </prop> </prop> <prop type="integer32" name="trafficRestorationTimeToHealedOrNewEndpointsInMinutes"> <format maximum="50" minimum="0"/> </prop> </prop> </item> </prop> <prop type="string" name="originHostHeader"/> <prop type="string" name="originPath"/> <prop type="array<object>" name="origins" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="boolean" name="enabled"/> <prop type="string" name="hostName" required="True"/> <prop type="integer32" name="httpPort"> <format maximum="65535" minimum="1"/> </prop> <prop type="integer32" name="httpsPort"> <format maximum="65535" minimum="1"/> </prop> <prop type="string" name="originHostHeader"/> <prop type="integer32" name="priority"> <format maximum="5" minimum="1"/> </prop> <prop type="string" name="privateEndpointStatus"> <enum> <item value="&quot;Approved&quot;"/> <item value="&quot;Disconnected&quot;"/> <item value="&quot;Pending&quot;"/> <item value="&quot;Rejected&quot;"/> <item value="&quot;Timeout&quot;"/> </enum> </prop> <prop type="string" name="privateLinkAlias"/> <prop type="string" name="privateLinkApprovalMessage"/> <prop type="string" name="privateLinkLocation"/> <prop type="string" name="privateLinkResourceId"/> <prop type="integer32" name="weight"> <format maximum="1000" minimum="1"/> </prop> </prop> </item> </prop> <prop type="string" name="probePath"/> <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 type="string" name="queryStringCachingBehavior"> <default value="&quot;NotSet&quot;"/> <enum> <item value="&quot;BypassCaching&quot;"/> <item value="&quot;IgnoreQueryString&quot;"/> <item value="&quot;NotSet&quot;"/> <item value="&quot;UseQueryString&quot;"/> </enum> </prop> <prop readOnly="True" type="string" name="resourceState"> <enum> <item value="&quot;Creating&quot;"/> <item value="&quot;Deleting&quot;"/> <item value="&quot;Running&quot;"/> <item value="&quot;Starting&quot;"/> <item value="&quot;Stopped&quot;"/> <item value="&quot;Stopping&quot;"/> </enum> </prop> <prop type="array<object>" name="urlSigningKeys" identifiers="keyId"> <item type="object"> <prop type="string" name="keyId" required="True"/> <prop type="object" name="keySourceParameters" required="True"> <prop type="string" name="resourceGroupName" required="True"/> <prop type="string" name="secretName" required="True"/> <prop type="string" name="secretVersion" required="True"/> <prop type="string" name="subscriptionId" required="True"/> <prop type="string" name="typeName" required="True"> <enum> <item value="&quot;KeyVaultSigningKeyParameters&quot;"/> </enum> </prop> <prop type="string" name="vaultName" required="True"/> </prop> </item> </prop> <prop type="object" name="webApplicationFirewallPolicyLink"> <prop type="string" name="id"/> </prop> </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 type="object" name="tags"> <additionalProp> <item type="string"/> </additionalProp> </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="endpoint" required="True" clientFlatten="True"> <prop type="ResourceLocation" name="location" arg="$endpoint.location" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="array<string>" name="contentTypesToCompress" arg="$endpoint.properties.contentTypesToCompress"> <item type="string"/> </prop> <prop type="object" name="defaultOriginGroup"> <prop type="string" name="id" arg="$endpoint.properties.defaultOriginGroup.id"/> </prop> <prop type="object" name="deliveryPolicy" arg="$endpoint.properties.deliveryPolicy"> <prop type="string" name="description" arg="$endpoint.properties.deliveryPolicy.description"/> <prop type="array<object>" name="rules" arg="$endpoint.properties.deliveryPolicy.rules" required="True" identifiers="name"> <item type="object"> <prop type="array<object>" name="actions" arg="$endpoint.properties.deliveryPolicy.rules[].actions" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration" value="&quot;CacheExpiration&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString" value="&quot;CacheKeyQueryString&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyRequestHeader" value="&quot;ModifyRequestHeader&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyResponseHeader" value="&quot;ModifyResponseHeader&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].OriginGroupOverride" value="&quot;OriginGroupOverride&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride" value="&quot;RouteConfigurationOverride&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect" value="&quot;UrlRedirect&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite" value="&quot;UrlRewrite&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning" value="&quot;UrlSigning&quot;"/> </enum> </prop> <discriminator property="name" value="CacheExpiration"> <prop type="object" name="parameters" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration.parameters" required="True"> <prop type="string" name="cacheBehavior" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration.parameters.cacheDuration"/> <prop type="string" name="cacheType" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheExpiration.parameters.cacheType" required="True"> <enum> <item value="&quot;All&quot;"/> </enum> </prop> <prop type="string" name="typeName" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString.parameters" required="True"> <prop nullable="True" type="string" name="queryParameters" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].CacheKeyQueryString.parameters.queryParameters"/> <prop type="string" name="queryStringBehavior" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].ModifyResponseHeader.parameters" required="True"/> </discriminator> <discriminator property="name" value="OriginGroupOverride"> <prop type="object" name="parameters" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].OriginGroupOverride.parameters" required="True"> <prop type="object" name="originGroup" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters" required="True"> <prop type="object" name="cacheConfiguration" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration"> <prop type="string" name="cacheBehavior" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration.cacheDuration"/> <prop type="string" name="isCompressionEnabled" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration.isCompressionEnabled"> <enum> <item value="&quot;Disabled&quot;"/> <item value="&quot;Enabled&quot;"/> </enum> </prop> <prop type="string" name="queryParameters" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.cacheConfiguration.queryParameters"/> <prop type="string" name="queryStringCachingBehavior" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.originGroupOverride"> <prop type="string" name="forwardingProtocol" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].RouteConfigurationOverride.parameters.originGroupOverride.originGroup"/> </prop> <prop type="string" name="typeName" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters" required="True"> <prop type="string" name="customFragment" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.customFragment"/> <prop type="string" name="customHostname" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.customHostname"/> <prop type="string" name="customPath" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.customPath"/> <prop type="string" name="customQueryString" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRedirect.parameters.customQueryString"/> <prop type="string" name="destinationProtocol" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters" required="True"> <prop type="string" name="destination" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters.destination" required="True"/> <prop type="boolean" name="preserveUnmatchedPath" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters.preserveUnmatchedPath"/> <prop type="string" name="sourcePattern" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlRewrite.parameters.sourcePattern" required="True"/> <prop type="string" name="typeName" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters" required="True"> <prop type="string" name="algorithm" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters.algorithm"> <enum> <item value="&quot;SHA256&quot;"/> </enum> </prop> <prop type="array<object>" name="parameterNameOverride" arg="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters.parameterNameOverride" identifiers="paramName"> <item type="object"> <prop type="string" name="paramIndicator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].actions[].UrlSigning.parameters.parameterNameOverride[].paramName" required="True"/> </item> </prop> <prop type="string" name="typeName" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions" identifiers="name"> <item type="object"> <prop type="string" name="name" required="True"> <enum> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort" value="&quot;ClientPort&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies" value="&quot;Cookies&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName" value="&quot;HostName&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion" value="&quot;HttpVersion&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice" value="&quot;IsDevice&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs" value="&quot;PostArgs&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString" value="&quot;QueryString&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress" value="&quot;RemoteAddress&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody" value="&quot;RequestBody&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader" value="&quot;RequestHeader&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod" value="&quot;RequestMethod&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme" value="&quot;RequestScheme&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri" value="&quot;RequestUri&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort" value="&quot;ServerPort&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr" value="&quot;SocketAddr&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol" value="&quot;SslProtocol&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension" value="&quot;UrlFileExtension&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName" value="&quot;UrlFileName&quot;"/> <item arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath" value="&quot;UrlPath&quot;"/> </enum> </prop> <discriminator property="name" value="ClientPort"> <prop type="object" name="parameters" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ClientPort.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].Cookies.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HostName.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].HttpVersion.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].IsDevice.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].PostArgs.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].QueryString.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RemoteAddress.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestBody.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestHeader.parameters.selector"/> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestMethod.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestScheme.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].RequestUri.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].ServerPort.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].SocketAddr.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].SslProtocol.parameters.operator" required="True"> <enum> <item value="&quot;Equal&quot;"/> </enum> </prop> <prop type="array<string>" name="transforms" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileExtension.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlFileName.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters" required="True"> <prop type="array<string>" name="matchValues" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters.matchValues"> <item type="string"/> </prop> <prop type="boolean" name="negateCondition" arg="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters.negateCondition"> <default value="false"/> </prop> <prop type="string" name="operator" arg="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].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="$endpoint.properties.deliveryPolicy.rules[].conditions[].UrlPath.parameters.typeName" required="True"> <enum> <item value="&quot;DeliveryRuleUrlPathMatchConditionParameters&quot;"/> </enum> </prop> </prop> </discriminator> </item> </prop> <prop type="string" name="name" arg="$endpoint.properties.deliveryPolicy.rules[].name"/> <prop type="integer32" name="order" arg="$endpoint.properties.deliveryPolicy.rules[].order" required="True"/> </item> </prop> </prop> <prop type="array<object>" name="geoFilters" arg="$endpoint.properties.geoFilters"> <item type="object"> <prop type="string" name="action" arg="$endpoint.properties.geoFilters[].action" required="True"> <enum> <item value="&quot;Allow&quot;"/> <item value="&quot;Block&quot;"/> </enum> </prop> <prop type="array<string>" name="countryCodes" arg="$endpoint.properties.geoFilters[].countryCodes" required="True"> <item type="string"/> </prop> <prop type="string" name="relativePath" arg="$endpoint.properties.geoFilters[].relativePath" required="True"/> </item> </prop> <prop type="boolean" name="isCompressionEnabled" arg="$endpoint.properties.isCompressionEnabled"/> <prop type="boolean" name="isHttpAllowed" arg="$endpoint.properties.isHttpAllowed"> <default value="true"/> </prop> <prop type="boolean" name="isHttpsAllowed" arg="$endpoint.properties.isHttpsAllowed"> <default value="true"/> </prop> <prop type="string" name="optimizationType" arg="$endpoint.properties.optimizationType"> <enum> <item value="&quot;DynamicSiteAcceleration&quot;"/> <item value="&quot;GeneralMediaStreaming&quot;"/> <item value="&quot;GeneralWebDelivery&quot;"/> <item value="&quot;LargeFileDownload&quot;"/> <item value="&quot;VideoOnDemandMediaStreaming&quot;"/> </enum> </prop> <prop type="array<object>" name="originGroups" arg="$endpoint.properties.originGroups" identifiers="name"> <item type="object"> <prop type="string" name="name" arg="$endpoint.properties.originGroups[].name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="object" name="healthProbeSettings" arg="$endpoint.properties.originGroups[].properties.healthProbeSettings"> <prop type="integer32" name="probeIntervalInSeconds" arg="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeIntervalInSeconds"> <format maximum="255" minimum="1"/> </prop> <prop type="string" name="probePath" arg="$endpoint.properties.originGroups[].properties.healthProbeSettings.probePath"/> <prop type="string" name="probeProtocol" arg="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeProtocol"> <enum> <item value="&quot;Http&quot;"/> <item value="&quot;Https&quot;"/> <item value="&quot;NotSet&quot;"/> </enum> </prop> <prop type="string" name="probeRequestType" arg="$endpoint.properties.originGroups[].properties.healthProbeSettings.probeRequestType"> <enum> <item value="&quot;GET&quot;"/> <item value="&quot;HEAD&quot;"/> <item value="&quot;NotSet&quot;"/> </enum> </prop> </prop> <prop type="array<@ResourceReference_update>" name="origins" arg="$endpoint.properties.originGroups[].properties.origins" required="True"> <item type="@ResourceReference_update"/> </prop> <prop type="object" name="responseBasedOriginErrorDetectionSettings" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings"> <prop type="array<object>" name="httpErrorRanges" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges"> <item type="object"> <prop type="integer32" name="begin" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges[].begin"> <format maximum="999" minimum="100"/> </prop> <prop type="integer32" name="end" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.httpErrorRanges[].end"> <format maximum="999" minimum="100"/> </prop> </item> </prop> <prop type="string" name="responseBasedDetectedErrorTypes" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.responseBasedDetectedErrorTypes"> <enum> <item value="&quot;None&quot;"/> <item value="&quot;TcpAndHttpErrors&quot;"/> <item value="&quot;TcpErrorsOnly&quot;"/> </enum> </prop> <prop type="integer32" name="responseBasedFailoverThresholdPercentage" arg="$endpoint.properties.originGroups[].properties.responseBasedOriginErrorDetectionSettings.responseBasedFailoverThresholdPercentage"> <format maximum="100" minimum="0"/> </prop> </prop> <prop type="integer32" name="trafficRestorationTimeToHealedOrNewEndpointsInMinutes" arg="$endpoint.properties.originGroups[].properties.trafficRestorationTimeToHealedOrNewEndpointsInMinutes"> <format maximum="50" minimum="0"/> </prop> </prop> </item> </prop> <prop type="string" name="originHostHeader" arg="$endpoint.properties.originHostHeader"/> <prop type="string" name="originPath" arg="$endpoint.properties.originPath"/> <prop type="array<object>" name="origins" arg="$endpoint.properties.origins" required="True" identifiers="name"> <item type="object"> <prop type="string" name="name" arg="$endpoint.properties.origins[].name" required="True"/> <prop type="object" name="properties" clientFlatten="True"> <prop type="boolean" name="enabled" arg="$endpoint.properties.origins[].properties.enabled"/> <prop type="string" name="hostName" arg="$endpoint.properties.origins[].properties.hostName" required="True"/> <prop type="integer32" name="httpPort" arg="$endpoint.properties.origins[].properties.httpPort"> <format maximum="65535" minimum="1"/> </prop> <prop type="integer32" name="httpsPort" arg="$endpoint.properties.origins[].properties.httpsPort"> <format maximum="65535" minimum="1"/> </prop> <prop type="string" name="originHostHeader" arg="$endpoint.properties.origins[].properties.originHostHeader"/> <prop type="integer32" name="priority" arg="$endpoint.properties.origins[].properties.priority"> <format maximum="5" minimum="1"/> </prop> <prop type="string" name="privateLinkAlias" arg="$endpoint.properties.origins[].properties.privateLinkAlias"/> <prop type="string" name="privateLinkApprovalMessage" arg="$endpoint.properties.origins[].properties.privateLinkApprovalMessage"/> <prop type="string" name="privateLinkLocation" arg="$endpoint.properties.origins[].properties.privateLinkLocation"/> <prop type="string" name="privateLinkResourceId" arg="$endpoint.properties.origins[].properties.privateLinkResourceId"/> <prop type="integer32" name="weight" arg="$endpoint.properties.origins[].properties.weight"> <format maximum="1000" minimum="1"/> </prop> </prop> </item> </prop> <prop type="string" name="probePath" arg="$endpoint.properties.probePath"/> <prop type="string" name="queryStringCachingBehavior" arg="$endpoint.properties.queryStringCachingBehavior"> <default value="&quot;NotSet&quot;"/> <enum> <item value="&quot;BypassCaching&quot;"/> <item value="&quot;IgnoreQueryString&quot;"/> <item value="&quot;NotSet&quot;"/> <item value="&quot;UseQueryString&quot;"/> </enum> </prop> <prop type="array<object>" name="urlSigningKeys" arg="$endpoint.properties.urlSigningKeys" identifiers="keyId"> <item type="object"> <prop type="string" name="keyId" arg="$endpoint.properties.urlSigningKeys[].keyId" required="True"/> <prop type="object" name="keySourceParameters" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters" required="True"> <prop type="string" name="resourceGroupName" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.resourceGroupName" required="True"/> <prop type="string" name="secretName" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.secretName" required="True"/> <prop type="string" name="secretVersion" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.secretVersion" required="True"/> <prop type="string" name="subscriptionId" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.subscriptionId" required="True"/> <prop type="string" name="typeName" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.typeName" required="True"> <enum> <item value="&quot;KeyVaultSigningKeyParameters&quot;"/> </enum> </prop> <prop type="string" name="vaultName" arg="$endpoint.properties.urlSigningKeys[].keySourceParameters.vaultName" required="True"/> </prop> </item> </prop> <prop type="object" name="webApplicationFirewallPolicyLink" arg="$endpoint.properties.webApplicationFirewallPolicyLink"> <prop type="string" name="id" arg="$endpoint.properties.webApplicationFirewallPolicyLink.id"/> </prop> </prop> <prop type="object" name="tags" arg="$endpoint.tags"> <additionalProp> <item type="string"/> </additionalProp> </prop> </schema> </json> </instanceUpdate> </operation> <operation operationId="Endpoints_Create"> <longRunning finalStateVia="azure-async-operation"/> <http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}"> <request method="put"> <path> <param type="string" name="endpointName" arg="$Path.endpointName" required="True"/> <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="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="@Endpoint_read"/> </json> </body> </response> <response statusCode="202"> <header> <item name="location"/> </header> <body> <json var="$Instance"> <schema type="@Endpoint_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>