@azure/arm-frontdoor 6.0.0-beta.1 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/api/frontDoorManagementContext.js +1 -1
- package/dist/browser/api/frontDoorManagementContext.js.map +1 -1
- package/dist/browser/models/models.js.map +1 -1
- package/dist/browser/restorePollerHelpers.js.map +1 -1
- package/dist/commonjs/api/frontDoorManagementContext.js +1 -1
- package/dist/commonjs/api/frontDoorManagementContext.js.map +1 -1
- package/dist/commonjs/models/models.js.map +2 -2
- package/dist/commonjs/restorePollerHelpers.js.map +2 -2
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/esm/api/frontDoorManagementContext.js +1 -1
- package/dist/esm/api/frontDoorManagementContext.js.map +1 -1
- package/dist/esm/models/models.js.map +1 -1
- package/dist/esm/restorePollerHelpers.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { areAllPropsUndefined } from \"../static-helpers/serialization/check-prop-undefined.js\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** Front Door represents a collection of backend endpoints to route traffic to along with rules that specify how traffic is sent there. */\nexport interface FrontDoor extends Resource {\n /** A friendly name for the frontDoor */\n friendlyName?: string;\n /** Routing rules associated with this Front Door. */\n routingRules?: RoutingRule[];\n /** Load balancing settings associated with this Front Door instance. */\n loadBalancingSettings?: LoadBalancingSettingsModel[];\n /** Health probe settings associated with this Front Door instance. */\n healthProbeSettings?: HealthProbeSettingsModel[];\n /** Backend pools available to routing rules. */\n backendPools?: BackendPool[];\n /** Frontend endpoints available to routing rules. */\n frontendEndpoints?: FrontendEndpoint[];\n /** Settings for all backendPools */\n backendPoolsSettings?: BackendPoolsSettings;\n /** Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled' */\n enabledState?: FrontDoorEnabledState;\n /** Resource status of the Front Door. */\n readonly resourceState?: FrontDoorResourceState;\n /** Provisioning state of the Front Door. */\n readonly provisioningState?: string;\n /** The host that each frontendEndpoint must CNAME to. */\n readonly cname?: string;\n /** The Id of the frontdoor. */\n readonly frontdoorId?: string;\n /** Rules Engine Configurations available to routing rules. */\n readonly rulesEngines?: RulesEngine[];\n /** Key-Value pair representing additional properties for frontdoor. */\n readonly extendedProperties?: Record<string, string>;\n}\n\nexport function frontDoorSerializer(item: FrontDoor): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\n \"friendlyName\",\n \"routingRules\",\n \"loadBalancingSettings\",\n \"healthProbeSettings\",\n \"backendPools\",\n \"frontendEndpoints\",\n \"backendPoolsSettings\",\n \"enabledState\",\n ])\n ? undefined\n : _frontDoorPropertiesSerializer(item),\n };\n}\n\nexport function frontDoorDeserializer(item: any): FrontDoor {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _frontDoorPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The JSON object that contains the properties required to create an endpoint. */\nexport interface FrontDoorProperties extends FrontDoorUpdateParameters {\n /** Resource status of the Front Door. */\n readonly resourceState?: FrontDoorResourceState;\n /** Provisioning state of the Front Door. */\n readonly provisioningState?: string;\n /** The host that each frontendEndpoint must CNAME to. */\n readonly cname?: string;\n /** The Id of the frontdoor. */\n readonly frontdoorId?: string;\n /** Rules Engine Configurations available to routing rules. */\n readonly rulesEngines?: RulesEngine[];\n /** Key-Value pair representing additional properties for frontdoor. */\n readonly extendedProperties?: Record<string, string>;\n}\n\nexport function frontDoorPropertiesSerializer(item: FrontDoorProperties): any {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArraySerializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArraySerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArraySerializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArraySerializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArraySerializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsSerializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function frontDoorPropertiesDeserializer(item: any): FrontDoorProperties {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArrayDeserializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArrayDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArrayDeserializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArrayDeserializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArrayDeserializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsDeserializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n provisioningState: item[\"provisioningState\"],\n cname: item[\"cname\"],\n frontdoorId: item[\"frontdoorId\"],\n rulesEngines: !item[\"rulesEngines\"]\n ? item[\"rulesEngines\"]\n : rulesEngineArrayDeserializer(item[\"rulesEngines\"]),\n extendedProperties: !item[\"extendedProperties\"]\n ? item[\"extendedProperties\"]\n : Object.fromEntries(\n Object.entries(item[\"extendedProperties\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** Resource status of the Front Door or Front Door SubResource. */\nexport enum KnownFrontDoorResourceState {\n /** Creating */\n Creating = \"Creating\",\n /** Enabling */\n Enabling = \"Enabling\",\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabling */\n Disabling = \"Disabling\",\n /** Disabled */\n Disabled = \"Disabled\",\n /** Deleting */\n Deleting = \"Deleting\",\n /** Migrating */\n Migrating = \"Migrating\",\n /** Migrated */\n Migrated = \"Migrated\",\n}\n\n/**\n * Resource status of the Front Door or Front Door SubResource. \\\n * {@link KnownFrontDoorResourceState} can be used interchangeably with FrontDoorResourceState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Creating**: Creating \\\n * **Enabling**: Enabling \\\n * **Enabled**: Enabled \\\n * **Disabling**: Disabling \\\n * **Disabled**: Disabled \\\n * **Deleting**: Deleting \\\n * **Migrating**: Migrating \\\n * **Migrated**: Migrated\n */\nexport type FrontDoorResourceState = string;\n\nexport function rulesEngineArraySerializer(result: Array<RulesEngine>): any[] {\n return result.map((item) => {\n return rulesEngineSerializer(item);\n });\n}\n\nexport function rulesEngineArrayDeserializer(result: Array<RulesEngine>): any[] {\n return result.map((item) => {\n return rulesEngineDeserializer(item);\n });\n}\n\n/** A rules engine configuration containing a list of rules that will run to modify the runtime behavior of the request and response. */\nexport interface RulesEngine extends BasicResource {\n /** A list of rules that define a particular Rules Engine Configuration. */\n rules?: RulesEngineRule[];\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function rulesEngineSerializer(item: RulesEngine): any {\n return {\n properties: areAllPropsUndefined(item, [\"rules\"])\n ? undefined\n : _rulesEnginePropertiesSerializer(item),\n };\n}\n\nexport function rulesEngineDeserializer(item: any): RulesEngine {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _rulesEnginePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The JSON object that contains the properties required to create a Rules Engine Configuration. */\nexport interface RulesEngineProperties extends RulesEngineUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function rulesEnginePropertiesSerializer(item: RulesEngineProperties): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function rulesEnginePropertiesDeserializer(item: any): RulesEngineProperties {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArrayDeserializer(item[\"rules\"]),\n resourceState: item[\"resourceState\"],\n };\n}\n\n/** Rules Engine Configuration to apply to a Routing Rule. */\nexport interface RulesEngineUpdateParameters {\n /** A list of rules that define a particular Rules Engine Configuration. */\n rules?: RulesEngineRule[];\n}\n\nexport function rulesEngineUpdateParametersSerializer(item: RulesEngineUpdateParameters): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function rulesEngineUpdateParametersDeserializer(item: any): RulesEngineUpdateParameters {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function rulesEngineRuleArraySerializer(result: Array<RulesEngineRule>): any[] {\n return result.map((item) => {\n return rulesEngineRuleSerializer(item);\n });\n}\n\nexport function rulesEngineRuleArrayDeserializer(result: Array<RulesEngineRule>): any[] {\n return result.map((item) => {\n return rulesEngineRuleDeserializer(item);\n });\n}\n\n/** Contains a list of match conditions, and an action on how to modify the request/response. If multiple rules match, the actions from one rule that conflict with a previous rule overwrite for a singular action, or append in the case of headers manipulation. */\nexport interface RulesEngineRule {\n /** A name to refer to this specific rule. */\n name: string;\n /** A priority assigned to this rule. */\n priority: number;\n /** Actions to perform on the request and response if all of the match conditions are met. */\n action: RulesEngineAction;\n /** A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run. */\n matchConditions?: RulesEngineMatchCondition[];\n /** If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. */\n matchProcessingBehavior?: MatchProcessingBehavior;\n}\n\nexport function rulesEngineRuleSerializer(item: RulesEngineRule): any {\n return {\n name: item[\"name\"],\n priority: item[\"priority\"],\n action: rulesEngineActionSerializer(item[\"action\"]),\n matchConditions: !item[\"matchConditions\"]\n ? item[\"matchConditions\"]\n : rulesEngineMatchConditionArraySerializer(item[\"matchConditions\"]),\n matchProcessingBehavior: item[\"matchProcessingBehavior\"],\n };\n}\n\nexport function rulesEngineRuleDeserializer(item: any): RulesEngineRule {\n return {\n name: item[\"name\"],\n priority: item[\"priority\"],\n action: rulesEngineActionDeserializer(item[\"action\"]),\n matchConditions: !item[\"matchConditions\"]\n ? item[\"matchConditions\"]\n : rulesEngineMatchConditionArrayDeserializer(item[\"matchConditions\"]),\n matchProcessingBehavior: item[\"matchProcessingBehavior\"],\n };\n}\n\n/** One or more actions that will execute, modifying the request and/or response. */\nexport interface RulesEngineAction {\n /** A list of header actions to apply from the request from AFD to the origin. */\n requestHeaderActions?: HeaderAction[];\n /** A list of header actions to apply from the response from AFD to the client. */\n responseHeaderActions?: HeaderAction[];\n /** Override the route configuration. */\n routeConfigurationOverride?: RouteConfigurationUnion;\n}\n\nexport function rulesEngineActionSerializer(item: RulesEngineAction): any {\n return {\n requestHeaderActions: !item[\"requestHeaderActions\"]\n ? item[\"requestHeaderActions\"]\n : headerActionArraySerializer(item[\"requestHeaderActions\"]),\n responseHeaderActions: !item[\"responseHeaderActions\"]\n ? item[\"responseHeaderActions\"]\n : headerActionArraySerializer(item[\"responseHeaderActions\"]),\n routeConfigurationOverride: !item[\"routeConfigurationOverride\"]\n ? item[\"routeConfigurationOverride\"]\n : routeConfigurationUnionSerializer(item[\"routeConfigurationOverride\"]),\n };\n}\n\nexport function rulesEngineActionDeserializer(item: any): RulesEngineAction {\n return {\n requestHeaderActions: !item[\"requestHeaderActions\"]\n ? item[\"requestHeaderActions\"]\n : headerActionArrayDeserializer(item[\"requestHeaderActions\"]),\n responseHeaderActions: !item[\"responseHeaderActions\"]\n ? item[\"responseHeaderActions\"]\n : headerActionArrayDeserializer(item[\"responseHeaderActions\"]),\n routeConfigurationOverride: !item[\"routeConfigurationOverride\"]\n ? item[\"routeConfigurationOverride\"]\n : routeConfigurationUnionDeserializer(item[\"routeConfigurationOverride\"]),\n };\n}\n\nexport function headerActionArraySerializer(result: Array<HeaderAction>): any[] {\n return result.map((item) => {\n return headerActionSerializer(item);\n });\n}\n\nexport function headerActionArrayDeserializer(result: Array<HeaderAction>): any[] {\n return result.map((item) => {\n return headerActionDeserializer(item);\n });\n}\n\n/** An action that can manipulate an http header. */\nexport interface HeaderAction {\n /** Which type of manipulation to apply to the header. */\n headerActionType: HeaderActionType;\n /** The name of the header this action will apply to. */\n headerName: string;\n /** The value to update the given header name with. This value is not used if the actionType is Delete. */\n value?: string;\n}\n\nexport function headerActionSerializer(item: HeaderAction): any {\n return {\n headerActionType: item[\"headerActionType\"],\n headerName: item[\"headerName\"],\n value: item[\"value\"],\n };\n}\n\nexport function headerActionDeserializer(item: any): HeaderAction {\n return {\n headerActionType: item[\"headerActionType\"],\n headerName: item[\"headerName\"],\n value: item[\"value\"],\n };\n}\n\n/** Which type of manipulation to apply to the header. */\nexport enum KnownHeaderActionType {\n /** Append */\n Append = \"Append\",\n /** Delete */\n Delete = \"Delete\",\n /** Overwrite */\n Overwrite = \"Overwrite\",\n}\n\n/**\n * Which type of manipulation to apply to the header. \\\n * {@link KnownHeaderActionType} can be used interchangeably with HeaderActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Append**: Append \\\n * **Delete**: Delete \\\n * **Overwrite**: Overwrite\n */\nexport type HeaderActionType = string;\n\n/** Base class for all types of Route. */\nexport interface RouteConfiguration {\n odataType: string;\n}\n\nexport function routeConfigurationSerializer(item: RouteConfiguration): any {\n return { \"@odata.type\": item[\"odataType\"] };\n}\n\nexport function routeConfigurationDeserializer(item: any): RouteConfiguration {\n return {\n odataType: item[\"@odata.type\"],\n };\n}\n\n/** Alias for RouteConfigurationUnion */\nexport type RouteConfigurationUnion =\n | ForwardingConfiguration\n | RedirectConfiguration\n | RouteConfiguration;\n\nexport function routeConfigurationUnionSerializer(item: RouteConfigurationUnion): any {\n switch (item.odataType) {\n case \"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\":\n return forwardingConfigurationSerializer(item as ForwardingConfiguration);\n\n case \"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\":\n return redirectConfigurationSerializer(item as RedirectConfiguration);\n\n default:\n return routeConfigurationSerializer(item);\n }\n}\n\nexport function routeConfigurationUnionDeserializer(item: any): RouteConfigurationUnion {\n switch (item[\"@odata.type\"]) {\n case \"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\":\n return forwardingConfigurationDeserializer(item as ForwardingConfiguration);\n\n case \"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\":\n return redirectConfigurationDeserializer(item as RedirectConfiguration);\n\n default:\n return routeConfigurationDeserializer(item);\n }\n}\n\n/** Describes Forwarding Route. */\nexport interface ForwardingConfiguration extends RouteConfiguration {\n /** A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path. */\n customForwardingPath?: string;\n /** Protocol this rule will use when forwarding traffic to backends. */\n forwardingProtocol?: FrontDoorForwardingProtocol;\n /** The caching configuration associated with this rule. */\n cacheConfiguration?: CacheConfiguration;\n /** A reference to the BackendPool which this rule routes to. */\n backendPool?: SubResource;\n odataType: \"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\";\n}\n\nexport function forwardingConfigurationSerializer(item: ForwardingConfiguration): any {\n return {\n \"@odata.type\": item[\"odataType\"],\n customForwardingPath: item[\"customForwardingPath\"],\n forwardingProtocol: item[\"forwardingProtocol\"],\n cacheConfiguration: !item[\"cacheConfiguration\"]\n ? item[\"cacheConfiguration\"]\n : cacheConfigurationSerializer(item[\"cacheConfiguration\"]),\n backendPool: !item[\"backendPool\"]\n ? item[\"backendPool\"]\n : subResourceSerializer(item[\"backendPool\"]),\n };\n}\n\nexport function forwardingConfigurationDeserializer(item: any): ForwardingConfiguration {\n return {\n odataType: item[\"@odata.type\"],\n customForwardingPath: item[\"customForwardingPath\"],\n forwardingProtocol: item[\"forwardingProtocol\"],\n cacheConfiguration: !item[\"cacheConfiguration\"]\n ? item[\"cacheConfiguration\"]\n : cacheConfigurationDeserializer(item[\"cacheConfiguration\"]),\n backendPool: !item[\"backendPool\"]\n ? item[\"backendPool\"]\n : subResourceDeserializer(item[\"backendPool\"]),\n };\n}\n\n/** Protocol this rule will use when forwarding traffic to backends. */\nexport enum KnownFrontDoorForwardingProtocol {\n /** HttpOnly */\n HttpOnly = \"HttpOnly\",\n /** HttpsOnly */\n HttpsOnly = \"HttpsOnly\",\n /** MatchRequest */\n MatchRequest = \"MatchRequest\",\n}\n\n/**\n * Protocol this rule will use when forwarding traffic to backends. \\\n * {@link KnownFrontDoorForwardingProtocol} can be used interchangeably with FrontDoorForwardingProtocol,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HttpOnly**: HttpOnly \\\n * **HttpsOnly**: HttpsOnly \\\n * **MatchRequest**: MatchRequest\n */\nexport type FrontDoorForwardingProtocol = string;\n\n/** Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. */\nexport interface CacheConfiguration {\n /** Treatment of URL query terms when forming the cache key. */\n queryParameterStripDirective?: FrontDoorQuery;\n /** query parameters to include or exclude (comma separated). */\n queryParameters?: string;\n /** Whether to use dynamic compression for cached content */\n dynamicCompression?: DynamicCompressionEnabled;\n /** The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year */\n cacheDuration?: string;\n}\n\nexport function cacheConfigurationSerializer(item: CacheConfiguration): any {\n return {\n queryParameterStripDirective: item[\"queryParameterStripDirective\"],\n queryParameters: item[\"queryParameters\"],\n dynamicCompression: item[\"dynamicCompression\"],\n cacheDuration: item[\"cacheDuration\"],\n };\n}\n\nexport function cacheConfigurationDeserializer(item: any): CacheConfiguration {\n return {\n queryParameterStripDirective: item[\"queryParameterStripDirective\"],\n queryParameters: item[\"queryParameters\"],\n dynamicCompression: item[\"dynamicCompression\"],\n cacheDuration: item[\"cacheDuration\"],\n };\n}\n\n/** Treatment of URL query terms when forming the cache key. */\nexport enum KnownFrontDoorQuery {\n /** StripNone */\n StripNone = \"StripNone\",\n /** StripAll */\n StripAll = \"StripAll\",\n /** StripOnly */\n StripOnly = \"StripOnly\",\n /** StripAllExcept */\n StripAllExcept = \"StripAllExcept\",\n}\n\n/**\n * Treatment of URL query terms when forming the cache key. \\\n * {@link KnownFrontDoorQuery} can be used interchangeably with FrontDoorQuery,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **StripNone**: StripNone \\\n * **StripAll**: StripAll \\\n * **StripOnly**: StripOnly \\\n * **StripAllExcept**: StripAllExcept\n */\nexport type FrontDoorQuery = string;\n\n/** Whether to use dynamic compression for cached content */\nexport enum KnownDynamicCompressionEnabled {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to use dynamic compression for cached content \\\n * {@link KnownDynamicCompressionEnabled} can be used interchangeably with DynamicCompressionEnabled,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type DynamicCompressionEnabled = string;\n\n/** Reference to another subresource. */\nexport interface SubResource {\n /** Resource ID. */\n id?: string;\n}\n\nexport function subResourceSerializer(item: SubResource): any {\n return { id: item[\"id\"] };\n}\n\nexport function subResourceDeserializer(item: any): SubResource {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Describes Redirect Route. */\nexport interface RedirectConfiguration extends RouteConfiguration {\n /** The redirect type the rule will use when redirecting traffic. */\n redirectType?: FrontDoorRedirectType;\n /** The protocol of the destination to where the traffic is redirected */\n redirectProtocol?: FrontDoorRedirectProtocol;\n /** Host to redirect. Leave empty to use the incoming host as the destination host. */\n customHost?: string;\n /** The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path. */\n customPath?: string;\n /** Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #. */\n customFragment?: string;\n /** 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. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &. */\n customQueryString?: string;\n odataType: \"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\";\n}\n\nexport function redirectConfigurationSerializer(item: RedirectConfiguration): any {\n return {\n \"@odata.type\": item[\"odataType\"],\n redirectType: item[\"redirectType\"],\n redirectProtocol: item[\"redirectProtocol\"],\n customHost: item[\"customHost\"],\n customPath: item[\"customPath\"],\n customFragment: item[\"customFragment\"],\n customQueryString: item[\"customQueryString\"],\n };\n}\n\nexport function redirectConfigurationDeserializer(item: any): RedirectConfiguration {\n return {\n odataType: item[\"@odata.type\"],\n redirectType: item[\"redirectType\"],\n redirectProtocol: item[\"redirectProtocol\"],\n customHost: item[\"customHost\"],\n customPath: item[\"customPath\"],\n customFragment: item[\"customFragment\"],\n customQueryString: item[\"customQueryString\"],\n };\n}\n\n/** The redirect type the rule will use when redirecting traffic. */\nexport enum KnownFrontDoorRedirectType {\n /** Moved */\n Moved = \"Moved\",\n /** Found */\n Found = \"Found\",\n /** TemporaryRedirect */\n TemporaryRedirect = \"TemporaryRedirect\",\n /** PermanentRedirect */\n PermanentRedirect = \"PermanentRedirect\",\n}\n\n/**\n * The redirect type the rule will use when redirecting traffic. \\\n * {@link KnownFrontDoorRedirectType} can be used interchangeably with FrontDoorRedirectType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Moved**: Moved \\\n * **Found**: Found \\\n * **TemporaryRedirect**: TemporaryRedirect \\\n * **PermanentRedirect**: PermanentRedirect\n */\nexport type FrontDoorRedirectType = string;\n\n/** The protocol of the destination to where the traffic is redirected */\nexport enum KnownFrontDoorRedirectProtocol {\n /** HttpOnly */\n HttpOnly = \"HttpOnly\",\n /** HttpsOnly */\n HttpsOnly = \"HttpsOnly\",\n /** MatchRequest */\n MatchRequest = \"MatchRequest\",\n}\n\n/**\n * The protocol of the destination to where the traffic is redirected \\\n * {@link KnownFrontDoorRedirectProtocol} can be used interchangeably with FrontDoorRedirectProtocol,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HttpOnly**: HttpOnly \\\n * **HttpsOnly**: HttpsOnly \\\n * **MatchRequest**: MatchRequest\n */\nexport type FrontDoorRedirectProtocol = string;\n\nexport function rulesEngineMatchConditionArraySerializer(\n result: Array<RulesEngineMatchCondition>,\n): any[] {\n return result.map((item) => {\n return rulesEngineMatchConditionSerializer(item);\n });\n}\n\nexport function rulesEngineMatchConditionArrayDeserializer(\n result: Array<RulesEngineMatchCondition>,\n): any[] {\n return result.map((item) => {\n return rulesEngineMatchConditionDeserializer(item);\n });\n}\n\n/** Define a match condition */\nexport interface RulesEngineMatchCondition {\n /** Match Variable */\n rulesEngineMatchVariable: RulesEngineMatchVariable;\n /** Name of selector in RequestHeader or RequestBody to be matched */\n selector?: string;\n /** Describes operator to apply to the match condition. */\n rulesEngineOperator: RulesEngineOperator;\n /** Describes if this is negate condition or not */\n negateCondition?: boolean;\n /** 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. */\n rulesEngineMatchValue: string[];\n /** List of transforms */\n transforms?: Transform[];\n}\n\nexport function rulesEngineMatchConditionSerializer(item: RulesEngineMatchCondition): any {\n return {\n rulesEngineMatchVariable: item[\"rulesEngineMatchVariable\"],\n selector: item[\"selector\"],\n rulesEngineOperator: item[\"rulesEngineOperator\"],\n negateCondition: item[\"negateCondition\"],\n rulesEngineMatchValue: item[\"rulesEngineMatchValue\"].map((p: any) => {\n return p;\n }),\n transforms: !item[\"transforms\"]\n ? item[\"transforms\"]\n : item[\"transforms\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function rulesEngineMatchConditionDeserializer(item: any): RulesEngineMatchCondition {\n return {\n rulesEngineMatchVariable: item[\"rulesEngineMatchVariable\"],\n selector: item[\"selector\"],\n rulesEngineOperator: item[\"rulesEngineOperator\"],\n negateCondition: item[\"negateCondition\"],\n rulesEngineMatchValue: item[\"rulesEngineMatchValue\"].map((p: any) => {\n return p;\n }),\n transforms: !item[\"transforms\"]\n ? item[\"transforms\"]\n : item[\"transforms\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Match Variable */\nexport enum KnownRulesEngineMatchVariable {\n /** IsMobile */\n IsMobile = \"IsMobile\",\n /** RemoteAddr */\n RemoteAddr = \"RemoteAddr\",\n /** RequestMethod */\n RequestMethod = \"RequestMethod\",\n /** QueryString */\n QueryString = \"QueryString\",\n /** PostArgs */\n PostArgs = \"PostArgs\",\n /** RequestUri */\n RequestUri = \"RequestUri\",\n /** RequestPath */\n RequestPath = \"RequestPath\",\n /** RequestFilename */\n RequestFilename = \"RequestFilename\",\n /** RequestFilenameExtension */\n RequestFilenameExtension = \"RequestFilenameExtension\",\n /** RequestHeader */\n RequestHeader = \"RequestHeader\",\n /** RequestBody */\n RequestBody = \"RequestBody\",\n /** RequestScheme */\n RequestScheme = \"RequestScheme\",\n}\n\n/**\n * Match Variable \\\n * {@link KnownRulesEngineMatchVariable} can be used interchangeably with RulesEngineMatchVariable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **IsMobile**: IsMobile \\\n * **RemoteAddr**: RemoteAddr \\\n * **RequestMethod**: RequestMethod \\\n * **QueryString**: QueryString \\\n * **PostArgs**: PostArgs \\\n * **RequestUri**: RequestUri \\\n * **RequestPath**: RequestPath \\\n * **RequestFilename**: RequestFilename \\\n * **RequestFilenameExtension**: RequestFilenameExtension \\\n * **RequestHeader**: RequestHeader \\\n * **RequestBody**: RequestBody \\\n * **RequestScheme**: RequestScheme\n */\nexport type RulesEngineMatchVariable = string;\n\n/** Describes operator to apply to the match condition. */\nexport enum KnownRulesEngineOperator {\n /** Any */\n Any = \"Any\",\n /** IPMatch */\n IPMatch = \"IPMatch\",\n /** GeoMatch */\n GeoMatch = \"GeoMatch\",\n /** Equal */\n Equal = \"Equal\",\n /** Contains */\n Contains = \"Contains\",\n /** LessThan */\n LessThan = \"LessThan\",\n /** GreaterThan */\n GreaterThan = \"GreaterThan\",\n /** LessThanOrEqual */\n LessThanOrEqual = \"LessThanOrEqual\",\n /** GreaterThanOrEqual */\n GreaterThanOrEqual = \"GreaterThanOrEqual\",\n /** BeginsWith */\n BeginsWith = \"BeginsWith\",\n /** EndsWith */\n EndsWith = \"EndsWith\",\n}\n\n/**\n * Describes operator to apply to the match condition. \\\n * {@link KnownRulesEngineOperator} can be used interchangeably with RulesEngineOperator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Any**: Any \\\n * **IPMatch**: IPMatch \\\n * **GeoMatch**: GeoMatch \\\n * **Equal**: Equal \\\n * **Contains**: Contains \\\n * **LessThan**: LessThan \\\n * **GreaterThan**: GreaterThan \\\n * **LessThanOrEqual**: LessThanOrEqual \\\n * **GreaterThanOrEqual**: GreaterThanOrEqual \\\n * **BeginsWith**: BeginsWith \\\n * **EndsWith**: EndsWith\n */\nexport type RulesEngineOperator = string;\n\n/** Describes what transforms are applied before matching */\nexport enum KnownTransform {\n /** Lowercase */\n Lowercase = \"Lowercase\",\n /** Uppercase */\n Uppercase = \"Uppercase\",\n /** Trim */\n Trim = \"Trim\",\n /** UrlDecode */\n UrlDecode = \"UrlDecode\",\n /** UrlEncode */\n UrlEncode = \"UrlEncode\",\n /** RemoveNulls */\n RemoveNulls = \"RemoveNulls\",\n}\n\n/**\n * Describes what transforms are applied before matching \\\n * {@link KnownTransform} can be used interchangeably with Transform,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Lowercase**: Lowercase \\\n * **Uppercase**: Uppercase \\\n * **Trim**: Trim \\\n * **UrlDecode**: UrlDecode \\\n * **UrlEncode**: UrlEncode \\\n * **RemoveNulls**: RemoveNulls\n */\nexport type Transform = string;\n\n/** If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. */\nexport enum KnownMatchProcessingBehavior {\n /** Continue */\n Continue = \"Continue\",\n /** Stop */\n Stop = \"Stop\",\n}\n\n/**\n * If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. \\\n * {@link KnownMatchProcessingBehavior} can be used interchangeably with MatchProcessingBehavior,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Continue**: Continue \\\n * **Stop**: Stop\n */\nexport type MatchProcessingBehavior = string;\n\n/** Common resource representation. */\nexport interface BasicResource {\n /** Resource ID. */\n readonly id?: string;\n /** Resource name. */\n readonly name?: string;\n /** Resource type. */\n readonly type?: string;\n}\n\nexport function basicResourceSerializer(_item: BasicResource): any {\n return {};\n}\n\nexport function basicResourceDeserializer(item: any): BasicResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The properties needed to update a Front Door */\nexport interface FrontDoorUpdateParameters {\n /** A friendly name for the frontDoor */\n friendlyName?: string;\n /** Routing rules associated with this Front Door. */\n routingRules?: RoutingRule[];\n /** Load balancing settings associated with this Front Door instance. */\n loadBalancingSettings?: LoadBalancingSettingsModel[];\n /** Health probe settings associated with this Front Door instance. */\n healthProbeSettings?: HealthProbeSettingsModel[];\n /** Backend pools available to routing rules. */\n backendPools?: BackendPool[];\n /** Frontend endpoints available to routing rules. */\n frontendEndpoints?: FrontendEndpoint[];\n /** Settings for all backendPools */\n backendPoolsSettings?: BackendPoolsSettings;\n /** Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled' */\n enabledState?: FrontDoorEnabledState;\n}\n\nexport function frontDoorUpdateParametersSerializer(item: FrontDoorUpdateParameters): any {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArraySerializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArraySerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArraySerializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArraySerializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArraySerializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsSerializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function frontDoorUpdateParametersDeserializer(item: any): FrontDoorUpdateParameters {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArrayDeserializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArrayDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArrayDeserializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArrayDeserializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArrayDeserializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsDeserializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function routingRuleArraySerializer(result: Array<RoutingRule>): any[] {\n return result.map((item) => {\n return routingRuleSerializer(item);\n });\n}\n\nexport function routingRuleArrayDeserializer(result: Array<RoutingRule>): any[] {\n return result.map((item) => {\n return routingRuleDeserializer(item);\n });\n}\n\n/** A routing rule represents a specification for traffic to treat and where to send it, along with health probe information. */\nexport interface RoutingRule extends SubResource {\n /** Resource name. */\n name?: string;\n /** Resource type. */\n readonly type?: string;\n /** Frontend endpoints associated with this rule */\n frontendEndpoints?: SubResource[];\n /** Protocol schemes to match for this rule */\n acceptedProtocols?: FrontDoorProtocol[];\n /** The route patterns of the rule. */\n patternsToMatch?: string[];\n /** Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' */\n enabledState?: RoutingRuleEnabledState;\n /** A reference to the routing configuration. */\n routeConfiguration?: RouteConfigurationUnion;\n /** A reference to a specific Rules Engine Configuration to apply to this route. */\n rulesEngine?: SubResource;\n /** Defines the Web Application Firewall policy for each routing rule (if applicable) */\n webApplicationFirewallPolicyLink?: RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink;\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function routingRuleSerializer(item: RoutingRule): any {\n return {\n id: item[\"id\"],\n properties: areAllPropsUndefined(item, [\n \"frontendEndpoints\",\n \"acceptedProtocols\",\n \"patternsToMatch\",\n \"enabledState\",\n \"routeConfiguration\",\n \"rulesEngine\",\n \"webApplicationFirewallPolicyLink\",\n ])\n ? undefined\n : _routingRulePropertiesSerializer(item),\n name: item[\"name\"],\n };\n}\n\nexport function routingRuleDeserializer(item: any): RoutingRule {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _routingRulePropertiesDeserializer(item[\"properties\"])),\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The JSON object that contains the properties required to create a routing rule. */\nexport interface RoutingRuleProperties extends RoutingRuleUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function routingRulePropertiesSerializer(item: RoutingRuleProperties): any {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArraySerializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionSerializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceSerializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function routingRulePropertiesDeserializer(item: any): RoutingRuleProperties {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArrayDeserializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionDeserializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceDeserializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function loadBalancingSettingsModelArraySerializer(\n result: Array<LoadBalancingSettingsModel>,\n): any[] {\n return result.map((item) => {\n return loadBalancingSettingsModelSerializer(item);\n });\n}\n\nexport function loadBalancingSettingsModelArrayDeserializer(\n result: Array<LoadBalancingSettingsModel>,\n): any[] {\n return result.map((item) => {\n return loadBalancingSettingsModelDeserializer(item);\n });\n}\n\n/** Load balancing settings for a backend pool */\nexport interface LoadBalancingSettingsModel extends SubResource {\n /** Resource name. */\n name?: string;\n /** Resource type. */\n readonly type?: string;\n /** The number of samples to consider for load balancing decisions */\n sampleSize?: number;\n /** The number of samples within the sample period that must succeed */\n successfulSamplesRequired?: number;\n /** The additional latency in milliseconds for probes to fall into the lowest latency bucket */\n additionalLatencyMilliseconds?: number;\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function loadBalancingSettingsModelSerializer(item: LoadBalancingSettingsModel): any {\n return {\n id: item[\"id\"],\n properties: areAllPropsUndefined(item, [\n \"sampleSize\",\n \"successfulSamplesRequired\",\n \"additionalLatencyMilliseconds\",\n ])\n ? undefined\n : _loadBalancingSettingsModelPropertiesSerializer(item),\n name: item[\"name\"],\n };\n}\n\nexport function loadBalancingSettingsModelDeserializer(item: any): LoadBalancingSettingsModel {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _loadBalancingSettingsModelPropertiesDeserializer(item[\"properties\"])),\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The JSON object that contains the properties required to create load balancing settings */\nexport interface LoadBalancingSettingsProperties extends LoadBalancingSettingsUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function loadBalancingSettingsPropertiesSerializer(\n item: LoadBalancingSettingsProperties,\n): any {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n };\n}\n\nexport function loadBalancingSettingsPropertiesDeserializer(\n item: any,\n): LoadBalancingSettingsProperties {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function healthProbeSettingsModelArraySerializer(\n result: Array<HealthProbeSettingsModel>,\n): any[] {\n return result.map((item) => {\n return healthProbeSettingsModelSerializer(item);\n });\n}\n\nexport function healthProbeSettingsModelArrayDeserializer(\n result: Array<HealthProbeSettingsModel>,\n): any[] {\n return result.map((item) => {\n return healthProbeSettingsModelDeserializer(item);\n });\n}\n\n/** Load balancing settings for a backend pool */\nexport interface HealthProbeSettingsModel extends SubResource {\n /** Resource name. */\n name?: string;\n /** Resource type. */\n readonly type?: string;\n /** The path to use for the health probe. Default is / */\n path?: string;\n /** Protocol scheme to use for this probe */\n protocol?: FrontDoorProtocol;\n /** The number of seconds between health probes. */\n intervalInSeconds?: number;\n /** Configures which HTTP method to use to probe the backends defined under backendPools. */\n healthProbeMethod?: FrontDoorHealthProbeMethod;\n /** Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. */\n enabledState?: HealthProbeEnabled;\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function healthProbeSettingsModelSerializer(item: HealthProbeSettingsModel): any {\n return {\n id: item[\"id\"],\n properties: areAllPropsUndefined(item, [\n \"path\",\n \"protocol\",\n \"intervalInSeconds\",\n \"healthProbeMethod\",\n \"enabledState\",\n ])\n ? undefined\n : _healthProbeSettingsModelPropertiesSerializer(item),\n name: item[\"name\"],\n };\n}\n\nexport function healthProbeSettingsModelDeserializer(item: any): HealthProbeSettingsModel {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _healthProbeSettingsModelPropertiesDeserializer(item[\"properties\"])),\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The JSON object that contains the properties required to create a health probe settings. */\nexport interface HealthProbeSettingsProperties extends HealthProbeSettingsUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function healthProbeSettingsPropertiesSerializer(item: HealthProbeSettingsProperties): any {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function healthProbeSettingsPropertiesDeserializer(\n item: any,\n): HealthProbeSettingsProperties {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function backendPoolArraySerializer(result: Array<BackendPool>): any[] {\n return result.map((item) => {\n return backendPoolSerializer(item);\n });\n}\n\nexport function backendPoolArrayDeserializer(result: Array<BackendPool>): any[] {\n return result.map((item) => {\n return backendPoolDeserializer(item);\n });\n}\n\n/** A backend pool is a collection of backends that can be routed to. */\nexport interface BackendPool extends SubResource {\n /** Resource name. */\n name?: string;\n /** Resource type. */\n readonly type?: string;\n /** The set of backends for this pool */\n backends?: Backend[];\n /** Load balancing settings for a backend pool */\n loadBalancingSettings?: SubResource;\n /** L7 health probe settings for a backend pool */\n healthProbeSettings?: SubResource;\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function backendPoolSerializer(item: BackendPool): any {\n return {\n id: item[\"id\"],\n properties: areAllPropsUndefined(item, [\n \"backends\",\n \"loadBalancingSettings\",\n \"healthProbeSettings\",\n ])\n ? undefined\n : _backendPoolPropertiesSerializer(item),\n name: item[\"name\"],\n };\n}\n\nexport function backendPoolDeserializer(item: any): BackendPool {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _backendPoolPropertiesDeserializer(item[\"properties\"])),\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The JSON object that contains the properties required to create a Backend Pool. */\nexport interface BackendPoolProperties extends BackendPoolUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function backendPoolPropertiesSerializer(item: BackendPoolProperties): any {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArraySerializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceSerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceSerializer(item[\"healthProbeSettings\"]),\n };\n}\n\nexport function backendPoolPropertiesDeserializer(item: any): BackendPoolProperties {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArrayDeserializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceDeserializer(item[\"healthProbeSettings\"]),\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function frontendEndpointArraySerializer(result: Array<FrontendEndpoint>): any[] {\n return result.map((item) => {\n return frontendEndpointSerializer(item);\n });\n}\n\nexport function frontendEndpointArrayDeserializer(result: Array<FrontendEndpoint>): any[] {\n return result.map((item) => {\n return frontendEndpointDeserializer(item);\n });\n}\n\n/** A frontend endpoint used for routing. */\nexport interface FrontendEndpoint extends BasicResourceWithSettableIDName {\n /** The host name of the frontendEndpoint. Must be a domain name. */\n hostName?: string;\n /** Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled' */\n sessionAffinityEnabledState?: SessionAffinityEnabledState;\n /** UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if applicable. */\n sessionAffinityTtlSeconds?: number;\n /** Defines the Web Application Firewall policy for each host (if applicable) */\n webApplicationFirewallPolicyLink?: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink;\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n /** Provisioning status of Custom Https of the frontendEndpoint. */\n readonly customHttpsProvisioningState?: CustomHttpsProvisioningState;\n /** Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. */\n readonly customHttpsProvisioningSubstate?: CustomHttpsProvisioningSubstate;\n /** The configuration specifying how to enable HTTPS */\n readonly customHttpsConfiguration?: CustomHttpsConfiguration;\n}\n\nexport function frontendEndpointSerializer(item: FrontendEndpoint): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"hostName\",\n \"sessionAffinityEnabledState\",\n \"sessionAffinityTtlSeconds\",\n \"webApplicationFirewallPolicyLink\",\n ])\n ? undefined\n : _frontendEndpointPropertiesSerializer(item),\n };\n}\n\nexport function frontendEndpointDeserializer(item: any): FrontendEndpoint {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _frontendEndpointPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The JSON object that contains the properties required to create a frontend endpoint. */\nexport interface FrontendEndpointProperties extends FrontendEndpointUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n /** Provisioning status of Custom Https of the frontendEndpoint. */\n readonly customHttpsProvisioningState?: CustomHttpsProvisioningState;\n /** Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. */\n readonly customHttpsProvisioningSubstate?: CustomHttpsProvisioningSubstate;\n /** The configuration specifying how to enable HTTPS */\n readonly customHttpsConfiguration?: CustomHttpsConfiguration;\n}\n\nexport function frontendEndpointPropertiesSerializer(item: FrontendEndpointProperties): any {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function frontendEndpointPropertiesDeserializer(item: any): FrontendEndpointProperties {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n resourceState: item[\"resourceState\"],\n customHttpsProvisioningState: item[\"customHttpsProvisioningState\"],\n customHttpsProvisioningSubstate: item[\"customHttpsProvisioningSubstate\"],\n customHttpsConfiguration: !item[\"customHttpsConfiguration\"]\n ? item[\"customHttpsConfiguration\"]\n : customHttpsConfigurationDeserializer(item[\"customHttpsConfiguration\"]),\n };\n}\n\n/** Provisioning status of Custom Https of the frontendEndpoint. */\nexport enum KnownCustomHttpsProvisioningState {\n /** Enabling */\n Enabling = \"Enabling\",\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabling */\n Disabling = \"Disabling\",\n /** Disabled */\n Disabled = \"Disabled\",\n /** Failed */\n Failed = \"Failed\",\n}\n\n/**\n * Provisioning status of Custom Https of the frontendEndpoint. \\\n * {@link KnownCustomHttpsProvisioningState} can be used interchangeably with CustomHttpsProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabling**: Enabling \\\n * **Enabled**: Enabled \\\n * **Disabling**: Disabling \\\n * **Disabled**: Disabled \\\n * **Failed**: Failed\n */\nexport type CustomHttpsProvisioningState = string;\n\n/** Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. */\nexport enum KnownCustomHttpsProvisioningSubstate {\n /** SubmittingDomainControlValidationRequest */\n SubmittingDomainControlValidationRequest = \"SubmittingDomainControlValidationRequest\",\n /** PendingDomainControlValidationREquestApproval */\n PendingDomainControlValidationREquestApproval = \"PendingDomainControlValidationREquestApproval\",\n /** DomainControlValidationRequestApproved */\n DomainControlValidationRequestApproved = \"DomainControlValidationRequestApproved\",\n /** DomainControlValidationRequestRejected */\n DomainControlValidationRequestRejected = \"DomainControlValidationRequestRejected\",\n /** DomainControlValidationRequestTimedOut */\n DomainControlValidationRequestTimedOut = \"DomainControlValidationRequestTimedOut\",\n /** IssuingCertificate */\n IssuingCertificate = \"IssuingCertificate\",\n /** DeployingCertificate */\n DeployingCertificate = \"DeployingCertificate\",\n /** CertificateDeployed */\n CertificateDeployed = \"CertificateDeployed\",\n /** DeletingCertificate */\n DeletingCertificate = \"DeletingCertificate\",\n /** CertificateDeleted */\n CertificateDeleted = \"CertificateDeleted\",\n}\n\n/**\n * Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. \\\n * {@link KnownCustomHttpsProvisioningSubstate} can be used interchangeably with CustomHttpsProvisioningSubstate,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SubmittingDomainControlValidationRequest**: SubmittingDomainControlValidationRequest \\\n * **PendingDomainControlValidationREquestApproval**: PendingDomainControlValidationREquestApproval \\\n * **DomainControlValidationRequestApproved**: DomainControlValidationRequestApproved \\\n * **DomainControlValidationRequestRejected**: DomainControlValidationRequestRejected \\\n * **DomainControlValidationRequestTimedOut**: DomainControlValidationRequestTimedOut \\\n * **IssuingCertificate**: IssuingCertificate \\\n * **DeployingCertificate**: DeployingCertificate \\\n * **CertificateDeployed**: CertificateDeployed \\\n * **DeletingCertificate**: DeletingCertificate \\\n * **CertificateDeleted**: CertificateDeleted\n */\nexport type CustomHttpsProvisioningSubstate = string;\n\n/** Https settings for a domain */\nexport interface CustomHttpsConfiguration {\n /** Defines the source of the SSL certificate */\n certificateSource: FrontDoorCertificateSource;\n /** Defines the TLS extension protocol that is used for secure delivery */\n protocolType: FrontDoorTlsProtocolType;\n /** The minimum TLS version required from the clients to establish an SSL handshake with Front Door. */\n minimumTlsVersion: MinimumTLSVersion;\n /** The Key Vault containing the SSL certificate */\n vault?: KeyVaultCertificateSourceParametersVault;\n /** The name of the Key Vault secret representing the full certificate PFX */\n secretName?: string;\n /** The version of the Key Vault secret representing the full certificate PFX */\n secretVersion?: string;\n /** Defines the type of the certificate used for secure connections to a frontendEndpoint */\n certificateType?: FrontDoorCertificateType;\n}\n\nexport function customHttpsConfigurationSerializer(item: CustomHttpsConfiguration): any {\n return {\n certificateSource: item[\"certificateSource\"],\n protocolType: item[\"protocolType\"],\n minimumTlsVersion: item[\"minimumTlsVersion\"],\n keyVaultCertificateSourceParameters: areAllPropsUndefined(item, [\n \"vault\",\n \"secretName\",\n \"secretVersion\",\n ])\n ? undefined\n : _customHttpsConfigurationKeyVaultCertificateSourceParametersSerializer(item),\n frontDoorCertificateSourceParameters: areAllPropsUndefined(item, [\"certificateType\"])\n ? undefined\n : _customHttpsConfigurationFrontDoorCertificateSourceParametersSerializer(item),\n };\n}\n\nexport function customHttpsConfigurationDeserializer(item: any): CustomHttpsConfiguration {\n return {\n certificateSource: item[\"certificateSource\"],\n protocolType: item[\"protocolType\"],\n minimumTlsVersion: item[\"minimumTlsVersion\"],\n ...(!item[\"keyVaultCertificateSourceParameters\"]\n ? item[\"keyVaultCertificateSourceParameters\"]\n : _customHttpsConfigurationKeyVaultCertificateSourceParametersDeserializer(\n item[\"keyVaultCertificateSourceParameters\"],\n )),\n ...(!item[\"frontDoorCertificateSourceParameters\"]\n ? item[\"frontDoorCertificateSourceParameters\"]\n : _customHttpsConfigurationFrontDoorCertificateSourceParametersDeserializer(\n item[\"frontDoorCertificateSourceParameters\"],\n )),\n };\n}\n\n/** Defines the source of the SSL certificate */\nexport enum KnownFrontDoorCertificateSource {\n /** AzureKeyVault */\n AzureKeyVault = \"AzureKeyVault\",\n /** FrontDoor */\n FrontDoor = \"FrontDoor\",\n}\n\n/**\n * Defines the source of the SSL certificate \\\n * {@link KnownFrontDoorCertificateSource} can be used interchangeably with FrontDoorCertificateSource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AzureKeyVault**: AzureKeyVault \\\n * **FrontDoor**: FrontDoor\n */\nexport type FrontDoorCertificateSource = string;\n\n/** Defines the TLS extension protocol that is used for secure delivery */\nexport enum KnownFrontDoorTlsProtocolType {\n /** ServerNameIndication */\n ServerNameIndication = \"ServerNameIndication\",\n}\n\n/**\n * Defines the TLS extension protocol that is used for secure delivery \\\n * {@link KnownFrontDoorTlsProtocolType} can be used interchangeably with FrontDoorTlsProtocolType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ServerNameIndication**: ServerNameIndication\n */\nexport type FrontDoorTlsProtocolType = string;\n\n/** The minimum TLS version required from the clients to establish an SSL handshake with Front Door. */\nexport enum KnownMinimumTLSVersion {\n /** 1.0 */\n One0 = \"1.0\",\n /** 1.2 */\n One2 = \"1.2\",\n}\n\n/**\n * The minimum TLS version required from the clients to establish an SSL handshake with Front Door. \\\n * {@link KnownMinimumTLSVersion} can be used interchangeably with MinimumTLSVersion,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **1.0**: 1.0 \\\n * **1.2**: 1.2\n */\nexport type MinimumTLSVersion = string;\n\n/** Parameters required for bring-your-own-certification via Key Vault */\nexport interface KeyVaultCertificateSourceParameters {\n /** The Key Vault containing the SSL certificate */\n vault?: KeyVaultCertificateSourceParametersVault;\n /** The name of the Key Vault secret representing the full certificate PFX */\n secretName?: string;\n /** The version of the Key Vault secret representing the full certificate PFX */\n secretVersion?: string;\n}\n\nexport function keyVaultCertificateSourceParametersSerializer(\n item: KeyVaultCertificateSourceParameters,\n): any {\n return {\n vault: !item[\"vault\"]\n ? item[\"vault\"]\n : keyVaultCertificateSourceParametersVaultSerializer(item[\"vault\"]),\n secretName: item[\"secretName\"],\n secretVersion: item[\"secretVersion\"],\n };\n}\n\nexport function keyVaultCertificateSourceParametersDeserializer(\n item: any,\n): KeyVaultCertificateSourceParameters {\n return {\n vault: !item[\"vault\"]\n ? item[\"vault\"]\n : keyVaultCertificateSourceParametersVaultDeserializer(item[\"vault\"]),\n secretName: item[\"secretName\"],\n secretVersion: item[\"secretVersion\"],\n };\n}\n\n/** The Key Vault containing the SSL certificate */\nexport interface KeyVaultCertificateSourceParametersVault {\n /** Resource ID. */\n id?: string;\n}\n\nexport function keyVaultCertificateSourceParametersVaultSerializer(\n item: KeyVaultCertificateSourceParametersVault,\n): any {\n return { id: item[\"id\"] };\n}\n\nexport function keyVaultCertificateSourceParametersVaultDeserializer(\n item: any,\n): KeyVaultCertificateSourceParametersVault {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Parameters required for enabling SSL with Front Door-managed certificates */\nexport interface FrontDoorCertificateSourceParameters {\n /** Defines the type of the certificate used for secure connections to a frontendEndpoint */\n certificateType?: FrontDoorCertificateType;\n}\n\nexport function frontDoorCertificateSourceParametersSerializer(\n item: FrontDoorCertificateSourceParameters,\n): any {\n return { certificateType: item[\"certificateType\"] };\n}\n\nexport function frontDoorCertificateSourceParametersDeserializer(\n item: any,\n): FrontDoorCertificateSourceParameters {\n return {\n certificateType: item[\"certificateType\"],\n };\n}\n\n/** Defines the type of the certificate used for secure connections to a frontendEndpoint */\nexport enum KnownFrontDoorCertificateType {\n /** Dedicated */\n Dedicated = \"Dedicated\",\n}\n\n/**\n * Defines the type of the certificate used for secure connections to a frontendEndpoint \\\n * {@link KnownFrontDoorCertificateType} can be used interchangeably with FrontDoorCertificateType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Dedicated**: Dedicated\n */\nexport type FrontDoorCertificateType = string;\n\n/** Settings that apply to all backend pools. */\nexport interface BackendPoolsSettings {\n /** Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. */\n enforceCertificateNameCheck?: EnforceCertificateNameCheckEnabledState;\n /** Send and receive timeout on forwarding request to the backend. When timeout is reached, the request fails and returns. */\n sendRecvTimeoutSeconds?: number;\n}\n\nexport function backendPoolsSettingsSerializer(item: BackendPoolsSettings): any {\n return {\n enforceCertificateNameCheck: item[\"enforceCertificateNameCheck\"],\n sendRecvTimeoutSeconds: item[\"sendRecvTimeoutSeconds\"],\n };\n}\n\nexport function backendPoolsSettingsDeserializer(item: any): BackendPoolsSettings {\n return {\n enforceCertificateNameCheck: item[\"enforceCertificateNameCheck\"],\n sendRecvTimeoutSeconds: item[\"sendRecvTimeoutSeconds\"],\n };\n}\n\n/** Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. */\nexport enum KnownEnforceCertificateNameCheckEnabledState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. \\\n * {@link KnownEnforceCertificateNameCheckEnabledState} can be used interchangeably with EnforceCertificateNameCheckEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type EnforceCertificateNameCheckEnabledState = string;\n\n/** Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled' */\nexport enum KnownFrontDoorEnabledState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled' \\\n * {@link KnownFrontDoorEnabledState} can be used interchangeably with FrontDoorEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type FrontDoorEnabledState = string;\n\n/** Routing rules to apply to an endpoint */\nexport interface RoutingRuleUpdateParameters {\n /** Frontend endpoints associated with this rule */\n frontendEndpoints?: SubResource[];\n /** Protocol schemes to match for this rule */\n acceptedProtocols?: FrontDoorProtocol[];\n /** The route patterns of the rule. */\n patternsToMatch?: string[];\n /** Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' */\n enabledState?: RoutingRuleEnabledState;\n /** A reference to the routing configuration. */\n routeConfiguration?: RouteConfigurationUnion;\n /** A reference to a specific Rules Engine Configuration to apply to this route. */\n rulesEngine?: SubResource;\n /** Defines the Web Application Firewall policy for each routing rule (if applicable) */\n webApplicationFirewallPolicyLink?: RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink;\n}\n\nexport function routingRuleUpdateParametersSerializer(item: RoutingRuleUpdateParameters): any {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArraySerializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionSerializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceSerializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function routingRuleUpdateParametersDeserializer(item: any): RoutingRuleUpdateParameters {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArrayDeserializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionDeserializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceDeserializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function subResourceArraySerializer(result: Array<SubResource>): any[] {\n return result.map((item) => {\n return subResourceSerializer(item);\n });\n}\n\nexport function subResourceArrayDeserializer(result: Array<SubResource>): any[] {\n return result.map((item) => {\n return subResourceDeserializer(item);\n });\n}\n\n/** Accepted protocol schemes. */\nexport enum KnownFrontDoorProtocol {\n /** Http */\n Http = \"Http\",\n /** Https */\n Https = \"Https\",\n}\n\n/**\n * Accepted protocol schemes. \\\n * {@link KnownFrontDoorProtocol} can be used interchangeably with FrontDoorProtocol,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Http**: Http \\\n * **Https**: Https\n */\nexport type FrontDoorProtocol = string;\n\n/** Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' */\nexport enum KnownRoutingRuleEnabledState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' \\\n * {@link KnownRoutingRuleEnabledState} can be used interchangeably with RoutingRuleEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type RoutingRuleEnabledState = string;\n\n/** Defines the Web Application Firewall policy for each routing rule (if applicable) */\nexport interface RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink {\n /** Resource ID. */\n id?: string;\n}\n\nexport function routingRuleUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item: RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink,\n): any {\n return { id: item[\"id\"] };\n}\n\nexport function routingRuleUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item: any,\n): RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Round-Robin load balancing settings for a backend pool */\nexport interface LoadBalancingSettingsUpdateParameters {\n /** The number of samples to consider for load balancing decisions */\n sampleSize?: number;\n /** The number of samples within the sample period that must succeed */\n successfulSamplesRequired?: number;\n /** The additional latency in milliseconds for probes to fall into the lowest latency bucket */\n additionalLatencyMilliseconds?: number;\n}\n\nexport function loadBalancingSettingsUpdateParametersSerializer(\n item: LoadBalancingSettingsUpdateParameters,\n): any {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n };\n}\n\nexport function loadBalancingSettingsUpdateParametersDeserializer(\n item: any,\n): LoadBalancingSettingsUpdateParameters {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n };\n}\n\n/** L7 health probe settings for a backend pool */\nexport interface HealthProbeSettingsUpdateParameters {\n /** The path to use for the health probe. Default is / */\n path?: string;\n /** Protocol scheme to use for this probe */\n protocol?: FrontDoorProtocol;\n /** The number of seconds between health probes. */\n intervalInSeconds?: number;\n /** Configures which HTTP method to use to probe the backends defined under backendPools. */\n healthProbeMethod?: FrontDoorHealthProbeMethod;\n /** Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. */\n enabledState?: HealthProbeEnabled;\n}\n\nexport function healthProbeSettingsUpdateParametersSerializer(\n item: HealthProbeSettingsUpdateParameters,\n): any {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function healthProbeSettingsUpdateParametersDeserializer(\n item: any,\n): HealthProbeSettingsUpdateParameters {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\n/** Configures which HTTP method to use to probe the backends defined under backendPools. */\nexport enum KnownFrontDoorHealthProbeMethod {\n /** GET */\n GET = \"GET\",\n /** HEAD */\n Head = \"HEAD\",\n}\n\n/**\n * Configures which HTTP method to use to probe the backends defined under backendPools. \\\n * {@link KnownFrontDoorHealthProbeMethod} can be used interchangeably with FrontDoorHealthProbeMethod,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **GET**: GET \\\n * **HEAD**: HEAD\n */\nexport type FrontDoorHealthProbeMethod = string;\n\n/** Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. */\nexport enum KnownHealthProbeEnabled {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. \\\n * {@link KnownHealthProbeEnabled} can be used interchangeably with HealthProbeEnabled,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type HealthProbeEnabled = string;\n\n/** A collection of backends that can be routed to. */\nexport interface BackendPoolUpdateParameters {\n /** The set of backends for this pool */\n backends?: Backend[];\n /** Load balancing settings for a backend pool */\n loadBalancingSettings?: SubResource;\n /** L7 health probe settings for a backend pool */\n healthProbeSettings?: SubResource;\n}\n\nexport function backendPoolUpdateParametersSerializer(item: BackendPoolUpdateParameters): any {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArraySerializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceSerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceSerializer(item[\"healthProbeSettings\"]),\n };\n}\n\nexport function backendPoolUpdateParametersDeserializer(item: any): BackendPoolUpdateParameters {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArrayDeserializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceDeserializer(item[\"healthProbeSettings\"]),\n };\n}\n\nexport function backendArraySerializer(result: Array<Backend>): any[] {\n return result.map((item) => {\n return backendSerializer(item);\n });\n}\n\nexport function backendArrayDeserializer(result: Array<Backend>): any[] {\n return result.map((item) => {\n return backendDeserializer(item);\n });\n}\n\n/** Backend address of a frontDoor load balancer. */\nexport interface Backend {\n /** Location of the backend (IP address or FQDN) */\n address?: string;\n /** The Alias of the Private Link resource. Populating this optional field indicates that this backend is 'Private' */\n privateLinkAlias?: string;\n /** The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private' */\n privateLinkResourceId?: string;\n /** The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated */\n privateLinkLocation?: string;\n /** The Approval status for the connection to the Private Link */\n readonly privateEndpointStatus?: PrivateEndpointStatus;\n /** A custom message to be included in the approval request to connect to the Private Link */\n privateLinkApprovalMessage?: string;\n /** The HTTP TCP port number. Must be between 1 and 65535. */\n httpPort?: number;\n /** The HTTPS TCP port number. Must be between 1 and 65535. */\n httpsPort?: number;\n /** Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled' */\n enabledState?: BackendEnabledState;\n /** Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy. */\n priority?: number;\n /** Weight of this endpoint for load balancing purposes. */\n weight?: number;\n /** The value to use as the host header sent to the backend. If blank or unspecified, this defaults to the incoming host. */\n backendHostHeader?: string;\n}\n\nexport function backendSerializer(item: Backend): any {\n return {\n address: item[\"address\"],\n privateLinkAlias: item[\"privateLinkAlias\"],\n privateLinkResourceId: item[\"privateLinkResourceId\"],\n privateLinkLocation: item[\"privateLinkLocation\"],\n privateLinkApprovalMessage: item[\"privateLinkApprovalMessage\"],\n httpPort: item[\"httpPort\"],\n httpsPort: item[\"httpsPort\"],\n enabledState: item[\"enabledState\"],\n priority: item[\"priority\"],\n weight: item[\"weight\"],\n backendHostHeader: item[\"backendHostHeader\"],\n };\n}\n\nexport function backendDeserializer(item: any): Backend {\n return {\n address: item[\"address\"],\n privateLinkAlias: item[\"privateLinkAlias\"],\n privateLinkResourceId: item[\"privateLinkResourceId\"],\n privateLinkLocation: item[\"privateLinkLocation\"],\n privateEndpointStatus: item[\"privateEndpointStatus\"],\n privateLinkApprovalMessage: item[\"privateLinkApprovalMessage\"],\n httpPort: item[\"httpPort\"],\n httpsPort: item[\"httpsPort\"],\n enabledState: item[\"enabledState\"],\n priority: item[\"priority\"],\n weight: item[\"weight\"],\n backendHostHeader: item[\"backendHostHeader\"],\n };\n}\n\n/** The Approval status for the connection to the Private Link */\nexport enum KnownPrivateEndpointStatus {\n /** Pending */\n Pending = \"Pending\",\n /** Approved */\n Approved = \"Approved\",\n /** Rejected */\n Rejected = \"Rejected\",\n /** Disconnected */\n Disconnected = \"Disconnected\",\n /** Timeout */\n Timeout = \"Timeout\",\n}\n\n/**\n * The Approval status for the connection to the Private Link \\\n * {@link KnownPrivateEndpointStatus} can be used interchangeably with PrivateEndpointStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Pending**: Pending \\\n * **Approved**: Approved \\\n * **Rejected**: Rejected \\\n * **Disconnected**: Disconnected \\\n * **Timeout**: Timeout\n */\nexport type PrivateEndpointStatus = string;\n\n/** Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled' */\nexport enum KnownBackendEnabledState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled' \\\n * {@link KnownBackendEnabledState} can be used interchangeably with BackendEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type BackendEnabledState = string;\n\n/** Frontend endpoint used in routing rule */\nexport interface FrontendEndpointUpdateParameters {\n /** The host name of the frontendEndpoint. Must be a domain name. */\n hostName?: string;\n /** Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled' */\n sessionAffinityEnabledState?: SessionAffinityEnabledState;\n /** UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if applicable. */\n sessionAffinityTtlSeconds?: number;\n /** Defines the Web Application Firewall policy for each host (if applicable) */\n webApplicationFirewallPolicyLink?: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink;\n}\n\nexport function frontendEndpointUpdateParametersSerializer(\n item: FrontendEndpointUpdateParameters,\n): any {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function frontendEndpointUpdateParametersDeserializer(\n item: any,\n): FrontendEndpointUpdateParameters {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\n/** Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled' */\nexport enum KnownSessionAffinityEnabledState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled' \\\n * {@link KnownSessionAffinityEnabledState} can be used interchangeably with SessionAffinityEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type SessionAffinityEnabledState = string;\n\n/** Defines the Web Application Firewall policy for each host (if applicable) */\nexport interface FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink {\n /** Resource ID. */\n id?: string;\n}\n\nexport function frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n): any {\n return { id: item[\"id\"] };\n}\n\nexport function frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item: any,\n): FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Common resource representation. */\nexport interface BasicResourceWithSettableIDName {\n /** Resource ID. */\n id?: string;\n /** Resource name. */\n name?: string;\n /** Resource type. */\n readonly type?: string;\n}\n\nexport function basicResourceWithSettableIDNameSerializer(\n item: BasicResourceWithSettableIDName,\n): any {\n return { id: item[\"id\"], name: item[\"name\"] };\n}\n\nexport function basicResourceWithSettableIDNameDeserializer(\n item: any,\n): BasicResourceWithSettableIDName {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** Common resource representation. */\nexport interface Resource {\n /** Resource ID. */\n readonly id?: string;\n /** Resource name. */\n readonly name?: string;\n /** Resource type. */\n readonly type?: string;\n /** Resource location. */\n location?: string;\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\nexport function resourceSerializer(item: Resource): any {\n return { location: item[\"location\"], tags: item[\"tags\"] };\n}\n\nexport function resourceDeserializer(item: any): Resource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message. */\nexport interface ErrorResponse {\n /** Error code. */\n readonly code?: string;\n /** Error message indicating why the operation failed. */\n readonly message?: string;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Paged collection of FrontDoor items */\nexport interface _FrontDoorListResult {\n /** The FrontDoor items on this page */\n readonly value: FrontDoor[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _frontDoorListResultDeserializer(item: any): _FrontDoorListResult {\n return {\n value: frontDoorArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function frontDoorArraySerializer(result: Array<FrontDoor>): any[] {\n return result.map((item) => {\n return frontDoorSerializer(item);\n });\n}\n\nexport function frontDoorArrayDeserializer(result: Array<FrontDoor>): any[] {\n return result.map((item) => {\n return frontDoorDeserializer(item);\n });\n}\n\n/** Input of the custom domain to be validated for DNS mapping. */\nexport interface ValidateCustomDomainInput {\n /** The host name of the custom domain. Must be a domain name. */\n hostName: string;\n}\n\nexport function validateCustomDomainInputSerializer(item: ValidateCustomDomainInput): any {\n return { hostName: item[\"hostName\"] };\n}\n\n/** Output of custom domain validation. */\nexport interface ValidateCustomDomainOutput {\n /** Indicates whether the custom domain is valid or not. */\n readonly customDomainValidated?: boolean;\n /** The reason why the custom domain is not valid. */\n readonly reason?: string;\n /** Error message describing why the custom domain is not valid. */\n readonly message?: string;\n}\n\nexport function validateCustomDomainOutputDeserializer(item: any): ValidateCustomDomainOutput {\n return {\n customDomainValidated: item[\"customDomainValidated\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** Paged collection of FrontendEndpoint items */\nexport interface _FrontendEndpointsListResult {\n /** The FrontendEndpoint items on this page */\n readonly value: FrontendEndpoint[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _frontendEndpointsListResultDeserializer(item: any): _FrontendEndpointsListResult {\n return {\n value: frontendEndpointArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** Paged collection of RulesEngine items */\nexport interface _RulesEngineListResult {\n /** The RulesEngine items on this page */\n readonly value: RulesEngine[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _rulesEngineListResultDeserializer(item: any): _RulesEngineListResult {\n return {\n value: rulesEngineArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** Defines the properties of an Experiment */\nexport interface Experiment extends Resource {\n /** The description of the details or intents of the Experiment */\n description?: string;\n /** The endpoint A of an experiment */\n endpointA?: Endpoint;\n /** The endpoint B of an experiment */\n endpointB?: Endpoint;\n /** The state of the Experiment */\n enabledState?: State;\n /** Resource status. */\n readonly resourceState?: NetworkExperimentResourceState;\n /** The description of Experiment status from the server side */\n readonly status?: string;\n /** The uri to the Script used in the Experiment */\n readonly scriptFileUri?: string;\n}\n\nexport function experimentSerializer(item: Experiment): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\n \"description\",\n \"endpointA\",\n \"endpointB\",\n \"enabledState\",\n ])\n ? undefined\n : _experimentPropertiesSerializer(item),\n };\n}\n\nexport function experimentDeserializer(item: any): Experiment {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _experimentPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Defines the properties of an experiment */\nexport interface ExperimentProperties {\n /** The description of the details or intents of the Experiment */\n description?: string;\n /** The endpoint A of an experiment */\n endpointA?: Endpoint;\n /** The endpoint B of an experiment */\n endpointB?: Endpoint;\n /** The state of the Experiment */\n enabledState?: State;\n /** Resource status. */\n readonly resourceState?: NetworkExperimentResourceState;\n /** The description of Experiment status from the server side */\n readonly status?: string;\n /** The uri to the Script used in the Experiment */\n readonly scriptFileUri?: string;\n}\n\nexport function experimentPropertiesSerializer(item: ExperimentProperties): any {\n return {\n description: item[\"description\"],\n endpointA: !item[\"endpointA\"] ? item[\"endpointA\"] : endpointSerializer(item[\"endpointA\"]),\n endpointB: !item[\"endpointB\"] ? item[\"endpointB\"] : endpointSerializer(item[\"endpointB\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function experimentPropertiesDeserializer(item: any): ExperimentProperties {\n return {\n description: item[\"description\"],\n endpointA: !item[\"endpointA\"] ? item[\"endpointA\"] : endpointDeserializer(item[\"endpointA\"]),\n endpointB: !item[\"endpointB\"] ? item[\"endpointB\"] : endpointDeserializer(item[\"endpointB\"]),\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n status: item[\"status\"],\n scriptFileUri: item[\"scriptFileUri\"],\n };\n}\n\n/** Defines the endpoint properties */\nexport interface Endpoint {\n /** The name of the endpoint */\n name?: string;\n /** The endpoint URL */\n endpoint?: string;\n}\n\nexport function endpointSerializer(item: Endpoint): any {\n return { name: item[\"name\"], endpoint: item[\"endpoint\"] };\n}\n\nexport function endpointDeserializer(item: any): Endpoint {\n return {\n name: item[\"name\"],\n endpoint: item[\"endpoint\"],\n };\n}\n\n/** The state of the Experiment */\nexport enum KnownState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * The state of the Experiment \\\n * {@link KnownState} can be used interchangeably with State,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type State = string;\n\n/** Defines the server side resource status */\nexport enum KnownNetworkExperimentResourceState {\n /** Creating */\n Creating = \"Creating\",\n /** Enabling */\n Enabling = \"Enabling\",\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabling */\n Disabling = \"Disabling\",\n /** Disabled */\n Disabled = \"Disabled\",\n /** Deleting */\n Deleting = \"Deleting\",\n}\n\n/**\n * Defines the server side resource status \\\n * {@link KnownNetworkExperimentResourceState} can be used interchangeably with NetworkExperimentResourceState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Creating**: Creating \\\n * **Enabling**: Enabling \\\n * **Enabled**: Enabled \\\n * **Disabling**: Disabling \\\n * **Disabled**: Disabled \\\n * **Deleting**: Deleting\n */\nexport type NetworkExperimentResourceState = string;\n\n/** Defines modifiable attributes of an Experiment */\nexport interface ExperimentUpdateModel {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The description of the intent or details of the Experiment */\n description?: string;\n /** The state of the Experiment */\n enabledState?: State;\n}\n\nexport function experimentUpdateModelSerializer(item: ExperimentUpdateModel): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"description\", \"enabledState\"])\n ? undefined\n : _experimentUpdateModelPropertiesSerializer(item),\n };\n}\n\n/** Defines the properties of an experiment */\nexport interface ExperimentUpdateProperties {\n /** The description of the intent or details of the Experiment */\n description?: string;\n /** The state of the Experiment */\n enabledState?: State;\n}\n\nexport function experimentUpdatePropertiesSerializer(item: ExperimentUpdateProperties): any {\n return { description: item[\"description\"], enabledState: item[\"enabledState\"] };\n}\n\n/** Defines a list of Experiments. It contains a list of Experiment objects and a URL link to get the next set of results. */\nexport interface _ExperimentList {\n /** The Experiment items on this page */\n readonly value: Experiment[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _experimentListDeserializer(item: any): _ExperimentList {\n return {\n value: experimentArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function experimentArraySerializer(result: Array<Experiment>): any[] {\n return result.map((item) => {\n return experimentSerializer(item);\n });\n}\n\nexport function experimentArrayDeserializer(result: Array<Experiment>): any[] {\n return result.map((item) => {\n return experimentDeserializer(item);\n });\n}\n\n/** Defines web application firewall policy. */\nexport interface WebApplicationFirewallPolicy extends Resource {\n /** Gets a unique read-only string that changes whenever the resource is updated. */\n etag?: string;\n /** The pricing tier of web application firewall policy. Defaults to Classic_AzureFrontDoor if not specified. */\n sku?: Sku;\n /** Describes settings for the policy. */\n policySettings?: PolicySettings;\n /** Describes custom rules inside the policy. */\n customRules?: CustomRuleList;\n /** Describes managed rules inside the policy. */\n managedRules?: ManagedRuleSetList;\n /** Describes Frontend Endpoints associated with this Web Application Firewall policy. */\n readonly frontendEndpointLinks?: FrontendEndpointLink[];\n /** Describes Routing Rules associated with this Web Application Firewall policy. */\n readonly routingRuleLinks?: RoutingRuleLink[];\n /** Describes Security Policy associated with this Web Application Firewall policy. */\n readonly securityPolicyLinks?: SecurityPolicyLink[];\n /** Provisioning state of the policy. */\n readonly provisioningState?: string;\n /** Resource status of the policy. */\n readonly resourceState?: PolicyResourceState;\n}\n\nexport function webApplicationFirewallPolicySerializer(item: WebApplicationFirewallPolicy): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"policySettings\", \"customRules\", \"managedRules\"])\n ? undefined\n : _webApplicationFirewallPolicyPropertiesSerializer(item),\n etag: item[\"etag\"],\n sku: !item[\"sku\"] ? item[\"sku\"] : skuSerializer(item[\"sku\"]),\n };\n}\n\nexport function webApplicationFirewallPolicyDeserializer(item: any): WebApplicationFirewallPolicy {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _webApplicationFirewallPolicyPropertiesDeserializer(item[\"properties\"])),\n etag: item[\"etag\"],\n sku: !item[\"sku\"] ? item[\"sku\"] : skuDeserializer(item[\"sku\"]),\n };\n}\n\n/** Defines web application firewall policy properties. */\nexport interface WebApplicationFirewallPolicyProperties {\n /** Describes settings for the policy. */\n policySettings?: PolicySettings;\n /** Describes custom rules inside the policy. */\n customRules?: CustomRuleList;\n /** Describes managed rules inside the policy. */\n managedRules?: ManagedRuleSetList;\n /** Describes Frontend Endpoints associated with this Web Application Firewall policy. */\n readonly frontendEndpointLinks?: FrontendEndpointLink[];\n /** Describes Routing Rules associated with this Web Application Firewall policy. */\n readonly routingRuleLinks?: RoutingRuleLink[];\n /** Describes Security Policy associated with this Web Application Firewall policy. */\n readonly securityPolicyLinks?: SecurityPolicyLink[];\n /** Provisioning state of the policy. */\n readonly provisioningState?: string;\n /** Resource status of the policy. */\n readonly resourceState?: PolicyResourceState;\n}\n\nexport function webApplicationFirewallPolicyPropertiesSerializer(\n item: WebApplicationFirewallPolicyProperties,\n): any {\n return {\n policySettings: !item[\"policySettings\"]\n ? item[\"policySettings\"]\n : policySettingsSerializer(item[\"policySettings\"]),\n customRules: !item[\"customRules\"]\n ? item[\"customRules\"]\n : customRuleListSerializer(item[\"customRules\"]),\n managedRules: !item[\"managedRules\"]\n ? item[\"managedRules\"]\n : managedRuleSetListSerializer(item[\"managedRules\"]),\n };\n}\n\nexport function webApplicationFirewallPolicyPropertiesDeserializer(\n item: any,\n): WebApplicationFirewallPolicyProperties {\n return {\n policySettings: !item[\"policySettings\"]\n ? item[\"policySettings\"]\n : policySettingsDeserializer(item[\"policySettings\"]),\n customRules: !item[\"customRules\"]\n ? item[\"customRules\"]\n : customRuleListDeserializer(item[\"customRules\"]),\n managedRules: !item[\"managedRules\"]\n ? item[\"managedRules\"]\n : managedRuleSetListDeserializer(item[\"managedRules\"]),\n frontendEndpointLinks: !item[\"frontendEndpointLinks\"]\n ? item[\"frontendEndpointLinks\"]\n : frontendEndpointLinkArrayDeserializer(item[\"frontendEndpointLinks\"]),\n routingRuleLinks: !item[\"routingRuleLinks\"]\n ? item[\"routingRuleLinks\"]\n : routingRuleLinkArrayDeserializer(item[\"routingRuleLinks\"]),\n securityPolicyLinks: !item[\"securityPolicyLinks\"]\n ? item[\"securityPolicyLinks\"]\n : securityPolicyLinkArrayDeserializer(item[\"securityPolicyLinks\"]),\n provisioningState: item[\"provisioningState\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\n/** Defines top-level WebApplicationFirewallPolicy configuration settings. */\nexport interface PolicySettings {\n /** Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. */\n enabledState?: PolicyEnabledState;\n /** Describes if it is in detection mode or prevention mode at policy level. */\n mode?: PolicyMode;\n /** If action type is redirect, this field represents redirect URL for the client. */\n redirectUrl?: string;\n /** If the action type is block, customer can override the response status code. */\n customBlockResponseStatusCode?: number;\n /** If the action type is block, customer can override the response body. The body must be specified in base64 encoding. */\n customBlockResponseBody?: string;\n /** Describes if policy managed rules will inspect the request body content. */\n requestBodyCheck?: PolicyRequestBodyCheck;\n /** Defines the JavaScript challenge cookie validity lifetime in minutes. This setting is only applicable to Premium_AzureFrontDoor. Value must be an integer between 5 and 1440 with the default value being 30. */\n javascriptChallengeExpirationInMinutes?: number;\n /** Defines the Captcha cookie validity lifetime in minutes. This setting is only applicable to Premium_AzureFrontDoor. Value must be an integer between 5 and 1440 with the default value being 30. */\n captchaExpirationInMinutes?: number;\n /** State of the log scrubbing config. Default value is Enabled. */\n state?: WebApplicationFirewallScrubbingState;\n /** List of log scrubbing rules applied to the Web Application Firewall logs. */\n scrubbingRules?: WebApplicationFirewallScrubbingRules[];\n}\n\nexport function policySettingsSerializer(item: PolicySettings): any {\n return {\n enabledState: item[\"enabledState\"],\n mode: item[\"mode\"],\n redirectUrl: item[\"redirectUrl\"],\n customBlockResponseStatusCode: item[\"customBlockResponseStatusCode\"],\n customBlockResponseBody: item[\"customBlockResponseBody\"],\n requestBodyCheck: item[\"requestBodyCheck\"],\n javascriptChallengeExpirationInMinutes: item[\"javascriptChallengeExpirationInMinutes\"],\n captchaExpirationInMinutes: item[\"captchaExpirationInMinutes\"],\n logScrubbing: areAllPropsUndefined(item, [\"state\", \"scrubbingRules\"])\n ? undefined\n : _policySettingsLogScrubbingSerializer(item),\n };\n}\n\nexport function policySettingsDeserializer(item: any): PolicySettings {\n return {\n enabledState: item[\"enabledState\"],\n mode: item[\"mode\"],\n redirectUrl: item[\"redirectUrl\"],\n customBlockResponseStatusCode: item[\"customBlockResponseStatusCode\"],\n customBlockResponseBody: item[\"customBlockResponseBody\"],\n requestBodyCheck: item[\"requestBodyCheck\"],\n javascriptChallengeExpirationInMinutes: item[\"javascriptChallengeExpirationInMinutes\"],\n captchaExpirationInMinutes: item[\"captchaExpirationInMinutes\"],\n ...(!item[\"logScrubbing\"]\n ? item[\"logScrubbing\"]\n : _policySettingsLogScrubbingDeserializer(item[\"logScrubbing\"])),\n };\n}\n\n/** Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. */\nexport enum KnownPolicyEnabledState {\n /** Disabled */\n Disabled = \"Disabled\",\n /** Enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. \\\n * {@link KnownPolicyEnabledState} can be used interchangeably with PolicyEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Disabled \\\n * **Enabled**: Enabled\n */\nexport type PolicyEnabledState = string;\n\n/** Describes if it is in detection mode or prevention mode at policy level. */\nexport enum KnownPolicyMode {\n /** Prevention */\n Prevention = \"Prevention\",\n /** Detection */\n Detection = \"Detection\",\n}\n\n/**\n * Describes if it is in detection mode or prevention mode at policy level. \\\n * {@link KnownPolicyMode} can be used interchangeably with PolicyMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Prevention**: Prevention \\\n * **Detection**: Detection\n */\nexport type PolicyMode = string;\n\n/** Describes if policy managed rules will inspect the request body content. */\nexport enum KnownPolicyRequestBodyCheck {\n /** Disabled */\n Disabled = \"Disabled\",\n /** Enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describes if policy managed rules will inspect the request body content. \\\n * {@link KnownPolicyRequestBodyCheck} can be used interchangeably with PolicyRequestBodyCheck,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Disabled \\\n * **Enabled**: Enabled\n */\nexport type PolicyRequestBodyCheck = string;\n\n/** Defines rules that scrub sensitive fields in the Web Application Firewall logs. */\nexport interface PolicySettingsLogScrubbing {\n /** State of the log scrubbing config. Default value is Enabled. */\n state?: WebApplicationFirewallScrubbingState;\n /** List of log scrubbing rules applied to the Web Application Firewall logs. */\n scrubbingRules?: WebApplicationFirewallScrubbingRules[];\n}\n\nexport function policySettingsLogScrubbingSerializer(item: PolicySettingsLogScrubbing): any {\n return {\n state: item[\"state\"],\n scrubbingRules: !item[\"scrubbingRules\"]\n ? item[\"scrubbingRules\"]\n : webApplicationFirewallScrubbingRulesArraySerializer(item[\"scrubbingRules\"]),\n };\n}\n\nexport function policySettingsLogScrubbingDeserializer(item: any): PolicySettingsLogScrubbing {\n return {\n state: item[\"state\"],\n scrubbingRules: !item[\"scrubbingRules\"]\n ? item[\"scrubbingRules\"]\n : webApplicationFirewallScrubbingRulesArrayDeserializer(item[\"scrubbingRules\"]),\n };\n}\n\n/** State of the log scrubbing config. Default value is Enabled. */\nexport enum KnownWebApplicationFirewallScrubbingState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * State of the log scrubbing config. Default value is Enabled. \\\n * {@link KnownWebApplicationFirewallScrubbingState} can be used interchangeably with WebApplicationFirewallScrubbingState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type WebApplicationFirewallScrubbingState = string;\n\nexport function webApplicationFirewallScrubbingRulesArraySerializer(\n result: Array<WebApplicationFirewallScrubbingRules>,\n): any[] {\n return result.map((item) => {\n return webApplicationFirewallScrubbingRulesSerializer(item);\n });\n}\n\nexport function webApplicationFirewallScrubbingRulesArrayDeserializer(\n result: Array<WebApplicationFirewallScrubbingRules>,\n): any[] {\n return result.map((item) => {\n return webApplicationFirewallScrubbingRulesDeserializer(item);\n });\n}\n\n/** Defines the contents of the log scrubbing rules. */\nexport interface WebApplicationFirewallScrubbingRules {\n /** The variable to be scrubbed from the logs. */\n matchVariable: ScrubbingRuleEntryMatchVariable;\n /** When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to. */\n selectorMatchOperator: ScrubbingRuleEntryMatchOperator;\n /** When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to. */\n selector?: string;\n /** Defines the state of a log scrubbing rule. Default value is enabled. */\n state?: ScrubbingRuleEntryState;\n}\n\nexport function webApplicationFirewallScrubbingRulesSerializer(\n item: WebApplicationFirewallScrubbingRules,\n): any {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n state: item[\"state\"],\n };\n}\n\nexport function webApplicationFirewallScrubbingRulesDeserializer(\n item: any,\n): WebApplicationFirewallScrubbingRules {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n state: item[\"state\"],\n };\n}\n\n/** The variable to be scrubbed from the logs. */\nexport enum KnownScrubbingRuleEntryMatchVariable {\n /** RequestIPAddress */\n RequestIPAddress = \"RequestIPAddress\",\n /** RequestUri */\n RequestUri = \"RequestUri\",\n /** QueryStringArgNames */\n QueryStringArgNames = \"QueryStringArgNames\",\n /** RequestHeaderNames */\n RequestHeaderNames = \"RequestHeaderNames\",\n /** RequestCookieNames */\n RequestCookieNames = \"RequestCookieNames\",\n /** RequestBodyPostArgNames */\n RequestBodyPostArgNames = \"RequestBodyPostArgNames\",\n /** RequestBodyJsonArgNames */\n RequestBodyJsonArgNames = \"RequestBodyJsonArgNames\",\n}\n\n/**\n * The variable to be scrubbed from the logs. \\\n * {@link KnownScrubbingRuleEntryMatchVariable} can be used interchangeably with ScrubbingRuleEntryMatchVariable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **RequestIPAddress**: RequestIPAddress \\\n * **RequestUri**: RequestUri \\\n * **QueryStringArgNames**: QueryStringArgNames \\\n * **RequestHeaderNames**: RequestHeaderNames \\\n * **RequestCookieNames**: RequestCookieNames \\\n * **RequestBodyPostArgNames**: RequestBodyPostArgNames \\\n * **RequestBodyJsonArgNames**: RequestBodyJsonArgNames\n */\nexport type ScrubbingRuleEntryMatchVariable = string;\n\n/** When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to. */\nexport enum KnownScrubbingRuleEntryMatchOperator {\n /** EqualsAny */\n EqualsAny = \"EqualsAny\",\n /** Equals */\n Equals = \"Equals\",\n}\n\n/**\n * When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to. \\\n * {@link KnownScrubbingRuleEntryMatchOperator} can be used interchangeably with ScrubbingRuleEntryMatchOperator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **EqualsAny**: EqualsAny \\\n * **Equals**: Equals\n */\nexport type ScrubbingRuleEntryMatchOperator = string;\n\n/** Defines the state of a log scrubbing rule. Default value is enabled. */\nexport enum KnownScrubbingRuleEntryState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Defines the state of a log scrubbing rule. Default value is enabled. \\\n * {@link KnownScrubbingRuleEntryState} can be used interchangeably with ScrubbingRuleEntryState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type ScrubbingRuleEntryState = string;\n\n/** Defines contents of custom rules */\nexport interface CustomRuleList {\n /** List of rules */\n rules?: CustomRule[];\n}\n\nexport function customRuleListSerializer(item: CustomRuleList): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : customRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function customRuleListDeserializer(item: any): CustomRuleList {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : customRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function customRuleArraySerializer(result: Array<CustomRule>): any[] {\n return result.map((item) => {\n return customRuleSerializer(item);\n });\n}\n\nexport function customRuleArrayDeserializer(result: Array<CustomRule>): any[] {\n return result.map((item) => {\n return customRuleDeserializer(item);\n });\n}\n\n/** Defines contents of a web application rule */\nexport interface CustomRule {\n /** Describes the name of the rule. */\n name?: string;\n /** Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. */\n priority: number;\n /** Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified. */\n enabledState?: CustomRuleEnabledState;\n /** Describes type of rule. */\n ruleType: RuleType;\n /** Time window for resetting the rate limit count. Default is 1 minute. */\n rateLimitDurationInMinutes?: number;\n /** Number of allowed requests per client within the time window. */\n rateLimitThreshold?: number;\n /** Describes the list of variables to group the rate limit requests */\n groupBy?: GroupByVariable[];\n /** List of match conditions. */\n matchConditions: MatchCondition[];\n /** Describes what action to be applied when rule matches. */\n action: ActionType;\n}\n\nexport function customRuleSerializer(item: CustomRule): any {\n return {\n name: item[\"name\"],\n priority: item[\"priority\"],\n enabledState: item[\"enabledState\"],\n ruleType: item[\"ruleType\"],\n rateLimitDurationInMinutes: item[\"rateLimitDurationInMinutes\"],\n rateLimitThreshold: item[\"rateLimitThreshold\"],\n groupBy: !item[\"groupBy\"] ? item[\"groupBy\"] : groupByVariableArraySerializer(item[\"groupBy\"]),\n matchConditions: matchConditionArraySerializer(item[\"matchConditions\"]),\n action: item[\"action\"],\n };\n}\n\nexport function customRuleDeserializer(item: any): CustomRule {\n return {\n name: item[\"name\"],\n priority: item[\"priority\"],\n enabledState: item[\"enabledState\"],\n ruleType: item[\"ruleType\"],\n rateLimitDurationInMinutes: item[\"rateLimitDurationInMinutes\"],\n rateLimitThreshold: item[\"rateLimitThreshold\"],\n groupBy: !item[\"groupBy\"] ? item[\"groupBy\"] : groupByVariableArrayDeserializer(item[\"groupBy\"]),\n matchConditions: matchConditionArrayDeserializer(item[\"matchConditions\"]),\n action: item[\"action\"],\n };\n}\n\n/** Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified. */\nexport enum KnownCustomRuleEnabledState {\n /** Disabled */\n Disabled = \"Disabled\",\n /** Enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified. \\\n * {@link KnownCustomRuleEnabledState} can be used interchangeably with CustomRuleEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Disabled \\\n * **Enabled**: Enabled\n */\nexport type CustomRuleEnabledState = string;\n\n/** Describes type of rule. */\nexport enum KnownRuleType {\n /** MatchRule */\n MatchRule = \"MatchRule\",\n /** RateLimitRule */\n RateLimitRule = \"RateLimitRule\",\n}\n\n/**\n * Describes type of rule. \\\n * {@link KnownRuleType} can be used interchangeably with RuleType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **MatchRule**: MatchRule \\\n * **RateLimitRule**: RateLimitRule\n */\nexport type RuleType = string;\n\nexport function groupByVariableArraySerializer(result: Array<GroupByVariable>): any[] {\n return result.map((item) => {\n return groupByVariableSerializer(item);\n });\n}\n\nexport function groupByVariableArrayDeserializer(result: Array<GroupByVariable>): any[] {\n return result.map((item) => {\n return groupByVariableDeserializer(item);\n });\n}\n\n/** Describes the variables available to group the rate limit requests */\nexport interface GroupByVariable {\n /** Describes the supported variable for group by */\n variableName: VariableName;\n}\n\nexport function groupByVariableSerializer(item: GroupByVariable): any {\n return { variableName: item[\"variableName\"] };\n}\n\nexport function groupByVariableDeserializer(item: any): GroupByVariable {\n return {\n variableName: item[\"variableName\"],\n };\n}\n\n/** Describes the supported variable for group by */\nexport enum KnownVariableName {\n /** SocketAddr */\n SocketAddr = \"SocketAddr\",\n /** GeoLocation */\n GeoLocation = \"GeoLocation\",\n /** None */\n None = \"None\",\n}\n\n/**\n * Describes the supported variable for group by \\\n * {@link KnownVariableName} can be used interchangeably with VariableName,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SocketAddr**: SocketAddr \\\n * **GeoLocation**: GeoLocation \\\n * **None**: None\n */\nexport type VariableName = string;\n\nexport function matchConditionArraySerializer(result: Array<MatchCondition>): any[] {\n return result.map((item) => {\n return matchConditionSerializer(item);\n });\n}\n\nexport function matchConditionArrayDeserializer(result: Array<MatchCondition>): any[] {\n return result.map((item) => {\n return matchConditionDeserializer(item);\n });\n}\n\n/** Define a match condition. */\nexport interface MatchCondition {\n /** Request variable to compare with. */\n matchVariable: MatchVariable;\n /** Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null. */\n selector?: string;\n /** Comparison type to use for matching with the variable value. */\n operator: Operator;\n /** Describes if the result of this condition should be negated. */\n negateCondition?: boolean;\n /** List of possible match values. */\n matchValue: string[];\n /** List of transforms. */\n transforms?: TransformType[];\n}\n\nexport function matchConditionSerializer(item: MatchCondition): any {\n return {\n matchVariable: item[\"matchVariable\"],\n selector: item[\"selector\"],\n operator: item[\"operator\"],\n negateCondition: item[\"negateCondition\"],\n matchValue: item[\"matchValue\"].map((p: any) => {\n return p;\n }),\n transforms: !item[\"transforms\"]\n ? item[\"transforms\"]\n : item[\"transforms\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function matchConditionDeserializer(item: any): MatchCondition {\n return {\n matchVariable: item[\"matchVariable\"],\n selector: item[\"selector\"],\n operator: item[\"operator\"],\n negateCondition: item[\"negateCondition\"],\n matchValue: item[\"matchValue\"].map((p: any) => {\n return p;\n }),\n transforms: !item[\"transforms\"]\n ? item[\"transforms\"]\n : item[\"transforms\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Request variable to compare with. */\nexport enum KnownMatchVariable {\n /** RemoteAddr */\n RemoteAddr = \"RemoteAddr\",\n /** RequestMethod */\n RequestMethod = \"RequestMethod\",\n /** QueryString */\n QueryString = \"QueryString\",\n /** PostArgs */\n PostArgs = \"PostArgs\",\n /** RequestUri */\n RequestUri = \"RequestUri\",\n /** RequestHeader */\n RequestHeader = \"RequestHeader\",\n /** RequestBody */\n RequestBody = \"RequestBody\",\n /** Cookies */\n Cookies = \"Cookies\",\n /** SocketAddr */\n SocketAddr = \"SocketAddr\",\n /** JA4 Match Variable */\n JA4 = \"JA4\",\n}\n\n/**\n * Request variable to compare with. \\\n * {@link KnownMatchVariable} can be used interchangeably with MatchVariable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **RemoteAddr**: RemoteAddr \\\n * **RequestMethod**: RequestMethod \\\n * **QueryString**: QueryString \\\n * **PostArgs**: PostArgs \\\n * **RequestUri**: RequestUri \\\n * **RequestHeader**: RequestHeader \\\n * **RequestBody**: RequestBody \\\n * **Cookies**: Cookies \\\n * **SocketAddr**: SocketAddr \\\n * **JA4**: JA4 Match Variable\n */\nexport type MatchVariable = string;\n\n/** Comparison type to use for matching with the variable value. */\nexport enum KnownOperator {\n /** Any */\n Any = \"Any\",\n /** IPMatch */\n IPMatch = \"IPMatch\",\n /** GeoMatch */\n GeoMatch = \"GeoMatch\",\n /** Equal */\n Equal = \"Equal\",\n /** Contains */\n Contains = \"Contains\",\n /** LessThan */\n LessThan = \"LessThan\",\n /** GreaterThan */\n GreaterThan = \"GreaterThan\",\n /** LessThanOrEqual */\n LessThanOrEqual = \"LessThanOrEqual\",\n /** GreaterThanOrEqual */\n GreaterThanOrEqual = \"GreaterThanOrEqual\",\n /** BeginsWith */\n BeginsWith = \"BeginsWith\",\n /** EndsWith */\n EndsWith = \"EndsWith\",\n /** RegEx */\n RegEx = \"RegEx\",\n /** ServiceTagMatch */\n ServiceTagMatch = \"ServiceTagMatch\",\n /** Autonomous System Number Match Operator */\n AsnMatch = \"AsnMatch\",\n /** Client Finger print Operator */\n ClientFingerprint = \"ClientFingerprint\",\n}\n\n/**\n * Comparison type to use for matching with the variable value. \\\n * {@link KnownOperator} can be used interchangeably with Operator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Any**: Any \\\n * **IPMatch**: IPMatch \\\n * **GeoMatch**: GeoMatch \\\n * **Equal**: Equal \\\n * **Contains**: Contains \\\n * **LessThan**: LessThan \\\n * **GreaterThan**: GreaterThan \\\n * **LessThanOrEqual**: LessThanOrEqual \\\n * **GreaterThanOrEqual**: GreaterThanOrEqual \\\n * **BeginsWith**: BeginsWith \\\n * **EndsWith**: EndsWith \\\n * **RegEx**: RegEx \\\n * **ServiceTagMatch**: ServiceTagMatch \\\n * **AsnMatch**: Autonomous System Number Match Operator \\\n * **ClientFingerprint**: Client Finger print Operator\n */\nexport type Operator = string;\n\n/** Describes what transforms applied before matching. */\nexport enum KnownTransformType {\n /** Lowercase */\n Lowercase = \"Lowercase\",\n /** Uppercase */\n Uppercase = \"Uppercase\",\n /** Trim */\n Trim = \"Trim\",\n /** UrlDecode */\n UrlDecode = \"UrlDecode\",\n /** UrlEncode */\n UrlEncode = \"UrlEncode\",\n /** RemoveNulls */\n RemoveNulls = \"RemoveNulls\",\n}\n\n/**\n * Describes what transforms applied before matching. \\\n * {@link KnownTransformType} can be used interchangeably with TransformType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Lowercase**: Lowercase \\\n * **Uppercase**: Uppercase \\\n * **Trim**: Trim \\\n * **UrlDecode**: UrlDecode \\\n * **UrlEncode**: UrlEncode \\\n * **RemoveNulls**: RemoveNulls\n */\nexport type TransformType = string;\n\n/** Defines the action to take on rule match. */\nexport enum KnownActionType {\n /** Allow */\n Allow = \"Allow\",\n /** Block */\n Block = \"Block\",\n /** Log */\n Log = \"Log\",\n /** Redirect */\n Redirect = \"Redirect\",\n /** AnomalyScoring */\n AnomalyScoring = \"AnomalyScoring\",\n /** JSChallenge */\n JSChallenge = \"JSChallenge\",\n /** CAPTCHA */\n Captcha = \"CAPTCHA\",\n}\n\n/**\n * Defines the action to take on rule match. \\\n * {@link KnownActionType} can be used interchangeably with ActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Allow**: Allow \\\n * **Block**: Block \\\n * **Log**: Log \\\n * **Redirect**: Redirect \\\n * **AnomalyScoring**: AnomalyScoring \\\n * **JSChallenge**: JSChallenge \\\n * **CAPTCHA**: CAPTCHA\n */\nexport type ActionType = string;\n\n/** Defines the list of managed rule sets for the policy. */\nexport interface ManagedRuleSetList {\n /** List of rule sets. */\n managedRuleSets?: ManagedRuleSet[];\n /** List of exceptions applied on the managed rule sets. */\n exceptionsList?: ManagedRuleSetExceptionList;\n}\n\nexport function managedRuleSetListSerializer(item: ManagedRuleSetList): any {\n return {\n managedRuleSets: !item[\"managedRuleSets\"]\n ? item[\"managedRuleSets\"]\n : managedRuleSetArraySerializer(item[\"managedRuleSets\"]),\n exceptionsList: !item[\"exceptionsList\"]\n ? item[\"exceptionsList\"]\n : managedRuleSetExceptionListSerializer(item[\"exceptionsList\"]),\n };\n}\n\nexport function managedRuleSetListDeserializer(item: any): ManagedRuleSetList {\n return {\n managedRuleSets: !item[\"managedRuleSets\"]\n ? item[\"managedRuleSets\"]\n : managedRuleSetArrayDeserializer(item[\"managedRuleSets\"]),\n exceptionsList: !item[\"exceptionsList\"]\n ? item[\"exceptionsList\"]\n : managedRuleSetExceptionListDeserializer(item[\"exceptionsList\"]),\n };\n}\n\nexport function managedRuleSetArraySerializer(result: Array<ManagedRuleSet>): any[] {\n return result.map((item) => {\n return managedRuleSetSerializer(item);\n });\n}\n\nexport function managedRuleSetArrayDeserializer(result: Array<ManagedRuleSet>): any[] {\n return result.map((item) => {\n return managedRuleSetDeserializer(item);\n });\n}\n\n/** Defines a managed rule set. */\nexport interface ManagedRuleSet {\n /** Defines the rule set type to use. */\n ruleSetType: string;\n /** Defines the version of the rule set to use. */\n ruleSetVersion: string;\n /** Defines the rule set action. */\n ruleSetAction?: ManagedRuleSetActionType;\n /** Describes the exclusions that are applied to all rules in the set. */\n exclusions?: ManagedRuleExclusion[];\n /** Defines the rule group overrides to apply to the rule set. */\n ruleGroupOverrides?: ManagedRuleGroupOverride[];\n}\n\nexport function managedRuleSetSerializer(item: ManagedRuleSet): any {\n return {\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleSetAction: item[\"ruleSetAction\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArraySerializer(item[\"exclusions\"]),\n ruleGroupOverrides: !item[\"ruleGroupOverrides\"]\n ? item[\"ruleGroupOverrides\"]\n : managedRuleGroupOverrideArraySerializer(item[\"ruleGroupOverrides\"]),\n };\n}\n\nexport function managedRuleSetDeserializer(item: any): ManagedRuleSet {\n return {\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleSetAction: item[\"ruleSetAction\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArrayDeserializer(item[\"exclusions\"]),\n ruleGroupOverrides: !item[\"ruleGroupOverrides\"]\n ? item[\"ruleGroupOverrides\"]\n : managedRuleGroupOverrideArrayDeserializer(item[\"ruleGroupOverrides\"]),\n };\n}\n\n/** Defines the action to take when a managed rule set score threshold is met. */\nexport enum KnownManagedRuleSetActionType {\n /** Block */\n Block = \"Block\",\n /** Log */\n Log = \"Log\",\n /** Redirect */\n Redirect = \"Redirect\",\n}\n\n/**\n * Defines the action to take when a managed rule set score threshold is met. \\\n * {@link KnownManagedRuleSetActionType} can be used interchangeably with ManagedRuleSetActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Block**: Block \\\n * **Log**: Log \\\n * **Redirect**: Redirect\n */\nexport type ManagedRuleSetActionType = string;\n\nexport function managedRuleExclusionArraySerializer(result: Array<ManagedRuleExclusion>): any[] {\n return result.map((item) => {\n return managedRuleExclusionSerializer(item);\n });\n}\n\nexport function managedRuleExclusionArrayDeserializer(result: Array<ManagedRuleExclusion>): any[] {\n return result.map((item) => {\n return managedRuleExclusionDeserializer(item);\n });\n}\n\n/** Exclude variables from managed rule evaluation. */\nexport interface ManagedRuleExclusion {\n /** The variable type to be excluded. */\n matchVariable: ManagedRuleExclusionMatchVariable;\n /** Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. */\n selectorMatchOperator: ManagedRuleExclusionSelectorMatchOperator;\n /** Selector value for which elements in the collection this exclusion applies to. */\n selector: string;\n}\n\nexport function managedRuleExclusionSerializer(item: ManagedRuleExclusion): any {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n };\n}\n\nexport function managedRuleExclusionDeserializer(item: any): ManagedRuleExclusion {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n };\n}\n\n/** The variable type to be excluded. */\nexport enum KnownManagedRuleExclusionMatchVariable {\n /** RequestHeaderNames */\n RequestHeaderNames = \"RequestHeaderNames\",\n /** RequestCookieNames */\n RequestCookieNames = \"RequestCookieNames\",\n /** QueryStringArgNames */\n QueryStringArgNames = \"QueryStringArgNames\",\n /** RequestBodyPostArgNames */\n RequestBodyPostArgNames = \"RequestBodyPostArgNames\",\n /** RequestBodyJsonArgNames */\n RequestBodyJsonArgNames = \"RequestBodyJsonArgNames\",\n}\n\n/**\n * The variable type to be excluded. \\\n * {@link KnownManagedRuleExclusionMatchVariable} can be used interchangeably with ManagedRuleExclusionMatchVariable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **RequestHeaderNames**: RequestHeaderNames \\\n * **RequestCookieNames**: RequestCookieNames \\\n * **QueryStringArgNames**: QueryStringArgNames \\\n * **RequestBodyPostArgNames**: RequestBodyPostArgNames \\\n * **RequestBodyJsonArgNames**: RequestBodyJsonArgNames\n */\nexport type ManagedRuleExclusionMatchVariable = string;\n\n/** Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. */\nexport enum KnownManagedRuleExclusionSelectorMatchOperator {\n /** Equals */\n Equals = \"Equals\",\n /** Contains */\n Contains = \"Contains\",\n /** StartsWith */\n StartsWith = \"StartsWith\",\n /** EndsWith */\n EndsWith = \"EndsWith\",\n /** EqualsAny */\n EqualsAny = \"EqualsAny\",\n}\n\n/**\n * Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. \\\n * {@link KnownManagedRuleExclusionSelectorMatchOperator} can be used interchangeably with ManagedRuleExclusionSelectorMatchOperator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Equals**: Equals \\\n * **Contains**: Contains \\\n * **StartsWith**: StartsWith \\\n * **EndsWith**: EndsWith \\\n * **EqualsAny**: EqualsAny\n */\nexport type ManagedRuleExclusionSelectorMatchOperator = string;\n\nexport function managedRuleGroupOverrideArraySerializer(\n result: Array<ManagedRuleGroupOverride>,\n): any[] {\n return result.map((item) => {\n return managedRuleGroupOverrideSerializer(item);\n });\n}\n\nexport function managedRuleGroupOverrideArrayDeserializer(\n result: Array<ManagedRuleGroupOverride>,\n): any[] {\n return result.map((item) => {\n return managedRuleGroupOverrideDeserializer(item);\n });\n}\n\n/** Defines a managed rule group override setting. */\nexport interface ManagedRuleGroupOverride {\n /** Describes the managed rule group to override. */\n ruleGroupName: string;\n /** Describes the exclusions that are applied to all rules in the group. */\n exclusions?: ManagedRuleExclusion[];\n /** List of rules that will be disabled. If none specified, all rules in the group will be disabled. */\n rules?: ManagedRuleOverride[];\n}\n\nexport function managedRuleGroupOverrideSerializer(item: ManagedRuleGroupOverride): any {\n return {\n ruleGroupName: item[\"ruleGroupName\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArraySerializer(item[\"exclusions\"]),\n rules: !item[\"rules\"] ? item[\"rules\"] : managedRuleOverrideArraySerializer(item[\"rules\"]),\n };\n}\n\nexport function managedRuleGroupOverrideDeserializer(item: any): ManagedRuleGroupOverride {\n return {\n ruleGroupName: item[\"ruleGroupName\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArrayDeserializer(item[\"exclusions\"]),\n rules: !item[\"rules\"] ? item[\"rules\"] : managedRuleOverrideArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function managedRuleOverrideArraySerializer(result: Array<ManagedRuleOverride>): any[] {\n return result.map((item) => {\n return managedRuleOverrideSerializer(item);\n });\n}\n\nexport function managedRuleOverrideArrayDeserializer(result: Array<ManagedRuleOverride>): any[] {\n return result.map((item) => {\n return managedRuleOverrideDeserializer(item);\n });\n}\n\n/** Defines a managed rule group override setting. */\nexport interface ManagedRuleOverride {\n /** Identifier for the managed rule. */\n ruleId: string;\n /** Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified. */\n enabledState?: ManagedRuleEnabledState;\n /** Describes the override action to be applied when rule matches. */\n action?: ActionType;\n /** Describes the override sensitivity to be applied when rule matches. */\n sensitivity?: SensitivityType;\n /** Describes the exclusions that are applied to this specific rule. */\n exclusions?: ManagedRuleExclusion[];\n}\n\nexport function managedRuleOverrideSerializer(item: ManagedRuleOverride): any {\n return {\n ruleId: item[\"ruleId\"],\n enabledState: item[\"enabledState\"],\n action: item[\"action\"],\n sensitivity: item[\"sensitivity\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArraySerializer(item[\"exclusions\"]),\n };\n}\n\nexport function managedRuleOverrideDeserializer(item: any): ManagedRuleOverride {\n return {\n ruleId: item[\"ruleId\"],\n enabledState: item[\"enabledState\"],\n action: item[\"action\"],\n sensitivity: item[\"sensitivity\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArrayDeserializer(item[\"exclusions\"]),\n };\n}\n\n/** Describes if the managed rule is in enabled or disabled state. */\nexport enum KnownManagedRuleEnabledState {\n /** Disabled */\n Disabled = \"Disabled\",\n /** Enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describes if the managed rule is in enabled or disabled state. \\\n * {@link KnownManagedRuleEnabledState} can be used interchangeably with ManagedRuleEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Disabled \\\n * **Enabled**: Enabled\n */\nexport type ManagedRuleEnabledState = string;\n\n/** Defines the sensitivity for the rule. */\nexport enum KnownSensitivityType {\n /** Low Sensitivity - triggers the rule by larger spikes in traffic */\n Low = \"Low\",\n /** Medium Sensitivity - triggers the rule by moderate spikes in traffic */\n Medium = \"Medium\",\n /** High Sensitivity - triggers the rule by smaller spikes in traffic */\n High = \"High\",\n}\n\n/**\n * Defines the sensitivity for the rule. \\\n * {@link KnownSensitivityType} can be used interchangeably with SensitivityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Low**: Low Sensitivity - triggers the rule by larger spikes in traffic \\\n * **Medium**: Medium Sensitivity - triggers the rule by moderate spikes in traffic \\\n * **High**: High Sensitivity - triggers the rule by smaller spikes in traffic\n */\nexport type SensitivityType = string;\n\n/** Defines the list of exceptions for the managed rule sets. */\nexport interface ManagedRuleSetExceptionList {\n /** List of exceptions. */\n exceptions?: ManagedRuleSetException[];\n}\n\nexport function managedRuleSetExceptionListSerializer(item: ManagedRuleSetExceptionList): any {\n return {\n exceptions: !item[\"exceptions\"]\n ? item[\"exceptions\"]\n : managedRuleSetExceptionArraySerializer(item[\"exceptions\"]),\n };\n}\n\nexport function managedRuleSetExceptionListDeserializer(item: any): ManagedRuleSetExceptionList {\n return {\n exceptions: !item[\"exceptions\"]\n ? item[\"exceptions\"]\n : managedRuleSetExceptionArrayDeserializer(item[\"exceptions\"]),\n };\n}\n\nexport function managedRuleSetExceptionArraySerializer(\n result: Array<ManagedRuleSetException>,\n): any[] {\n return result.map((item) => {\n return managedRuleSetExceptionSerializer(item);\n });\n}\n\nexport function managedRuleSetExceptionArrayDeserializer(\n result: Array<ManagedRuleSetException>,\n): any[] {\n return result.map((item) => {\n return managedRuleSetExceptionDeserializer(item);\n });\n}\n\n/** Excludes whole requests from managed rule evaluation according to match conditions. */\nexport interface ManagedRuleSetException {\n /** The variable to be evaluated for excluding the request. */\n matchVariable: ExceptionMatchVariable;\n /**\n * Comparison operator to apply to the selector when specifying which elements\n * in the collection this exception applies to.\n */\n selectorMatchOperator?: ExceptionSelectorMatchOperator;\n /**\n * When matchVariable is a collection, operator used to specify which elements\n * in the collection this exception applies to.\n * Currently supported only for RequestHeaderNames.\n */\n selector?: string;\n /** Comparison operator to apply to the value to be matched. */\n valueMatchOperator: ExceptionValueMatchOperator;\n /** List of values to be matched with. */\n matchValues: string[];\n /** Scope(s) of the exception. */\n scopes: ManagedRuleSetScope[];\n}\n\nexport function managedRuleSetExceptionSerializer(item: ManagedRuleSetException): any {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n valueMatchOperator: item[\"valueMatchOperator\"],\n matchValues: item[\"matchValues\"].map((p: any) => {\n return p;\n }),\n scopes: managedRuleSetScopeArraySerializer(item[\"scopes\"]),\n };\n}\n\nexport function managedRuleSetExceptionDeserializer(item: any): ManagedRuleSetException {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n valueMatchOperator: item[\"valueMatchOperator\"],\n matchValues: item[\"matchValues\"].map((p: any) => {\n return p;\n }),\n scopes: managedRuleSetScopeArrayDeserializer(item[\"scopes\"]),\n };\n}\n\n/** The variable to be evaluated for excluding the request. */\nexport enum KnownExceptionMatchVariable {\n /** Request Uri Exception Match Variable */\n RequestUri = \"RequestUri\",\n /** Socket Address Exception Match Variable */\n SocketAddr = \"SocketAddr\",\n /** Request Header Names Exception Match Variable */\n RequestHeaderNames = \"RequestHeaderNames\",\n}\n\n/**\n * The variable to be evaluated for excluding the request. \\\n * {@link KnownExceptionMatchVariable} can be used interchangeably with ExceptionMatchVariable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **RequestUri**: Request Uri Exception Match Variable \\\n * **SocketAddr**: Socket Address Exception Match Variable \\\n * **RequestHeaderNames**: Request Header Names Exception Match Variable\n */\nexport type ExceptionMatchVariable = string;\n\n/** Comparison operator to apply to the selector when specifying which elements in the collection this exception applies to.. */\nexport enum KnownExceptionSelectorMatchOperator {\n /** Equals Selector Match Operator */\n Equals = \"Equals\",\n}\n\n/**\n * Comparison operator to apply to the selector when specifying which elements in the collection this exception applies to.. \\\n * {@link KnownExceptionSelectorMatchOperator} can be used interchangeably with ExceptionSelectorMatchOperator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Equals**: Equals Selector Match Operator\n */\nexport type ExceptionSelectorMatchOperator = string;\n\n/** Comparison operator to apply to the value to be matched.. */\nexport enum KnownExceptionValueMatchOperator {\n /** Equals Exception Value Match Operator */\n Equals = \"Equals\",\n /** Contains Exception Value Match Operator */\n Contains = \"Contains\",\n /** StartsWith Exception Value Match Operator */\n StartsWith = \"StartsWith\",\n /** EndsWith Exception Value Match Operator */\n EndsWith = \"EndsWith\",\n /** EqualsAny Exception Value Match Operator */\n EqualsAny = \"EqualsAny\",\n /** IPMatch Exception Value Match Operator */\n IPMatch = \"IPMatch\",\n}\n\n/**\n * Comparison operator to apply to the value to be matched.. \\\n * {@link KnownExceptionValueMatchOperator} can be used interchangeably with ExceptionValueMatchOperator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Equals**: Equals Exception Value Match Operator \\\n * **Contains**: Contains Exception Value Match Operator \\\n * **StartsWith**: StartsWith Exception Value Match Operator \\\n * **EndsWith**: EndsWith Exception Value Match Operator \\\n * **EqualsAny**: EqualsAny Exception Value Match Operator \\\n * **IPMatch**: IPMatch Exception Value Match Operator\n */\nexport type ExceptionValueMatchOperator = string;\n\nexport function managedRuleSetScopeArraySerializer(result: Array<ManagedRuleSetScope>): any[] {\n return result.map((item) => {\n return managedRuleSetScopeSerializer(item);\n });\n}\n\nexport function managedRuleSetScopeArrayDeserializer(result: Array<ManagedRuleSetScope>): any[] {\n return result.map((item) => {\n return managedRuleSetScopeDeserializer(item);\n });\n}\n\n/** Defines the scope of the managed rules. */\nexport interface ManagedRuleSetScope {\n /**\n * Defines the rule set type.\n * Examples: DefaultRuleSet, Microsoft_DefaultRuleSet,\n * Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, BotProtection\n */\n ruleSetType: string;\n /** Defines the version of the rule set. */\n ruleSetVersion: string;\n /** List of rule group scopes. */\n ruleGroupScopes?: RuleGroupScope[];\n}\n\nexport function managedRuleSetScopeSerializer(item: ManagedRuleSetScope): any {\n return {\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleGroupScopes: !item[\"ruleGroupScopes\"]\n ? item[\"ruleGroupScopes\"]\n : ruleGroupScopeArraySerializer(item[\"ruleGroupScopes\"]),\n };\n}\n\nexport function managedRuleSetScopeDeserializer(item: any): ManagedRuleSetScope {\n return {\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleGroupScopes: !item[\"ruleGroupScopes\"]\n ? item[\"ruleGroupScopes\"]\n : ruleGroupScopeArrayDeserializer(item[\"ruleGroupScopes\"]),\n };\n}\n\nexport function ruleGroupScopeArraySerializer(result: Array<RuleGroupScope>): any[] {\n return result.map((item) => {\n return ruleGroupScopeSerializer(item);\n });\n}\n\nexport function ruleGroupScopeArrayDeserializer(result: Array<RuleGroupScope>): any[] {\n return result.map((item) => {\n return ruleGroupScopeDeserializer(item);\n });\n}\n\n/** Defines the scope of the rule group. */\nexport interface RuleGroupScope {\n /** Defines the rule group name. */\n ruleGroupName: string;\n /** List of rule scopes. */\n ruleScopes?: RuleScope[];\n}\n\nexport function ruleGroupScopeSerializer(item: RuleGroupScope): any {\n return {\n ruleGroupName: item[\"ruleGroupName\"],\n ruleScopes: !item[\"ruleScopes\"]\n ? item[\"ruleScopes\"]\n : ruleScopeArraySerializer(item[\"ruleScopes\"]),\n };\n}\n\nexport function ruleGroupScopeDeserializer(item: any): RuleGroupScope {\n return {\n ruleGroupName: item[\"ruleGroupName\"],\n ruleScopes: !item[\"ruleScopes\"]\n ? item[\"ruleScopes\"]\n : ruleScopeArrayDeserializer(item[\"ruleScopes\"]),\n };\n}\n\nexport function ruleScopeArraySerializer(result: Array<RuleScope>): any[] {\n return result.map((item) => {\n return ruleScopeSerializer(item);\n });\n}\n\nexport function ruleScopeArrayDeserializer(result: Array<RuleScope>): any[] {\n return result.map((item) => {\n return ruleScopeDeserializer(item);\n });\n}\n\n/** Defines the scope of the rule. */\nexport interface RuleScope {\n /** Defines the rule id. */\n ruleId: string;\n}\n\nexport function ruleScopeSerializer(item: RuleScope): any {\n return { ruleId: item[\"ruleId\"] };\n}\n\nexport function ruleScopeDeserializer(item: any): RuleScope {\n return {\n ruleId: item[\"ruleId\"],\n };\n}\n\nexport function frontendEndpointLinkArrayDeserializer(result: Array<FrontendEndpointLink>): any[] {\n return result.map((item) => {\n return frontendEndpointLinkDeserializer(item);\n });\n}\n\n/** Defines the Resource ID for a Frontend Endpoint. */\nexport interface FrontendEndpointLink {\n /** Resource ID. */\n id?: string;\n}\n\nexport function frontendEndpointLinkDeserializer(item: any): FrontendEndpointLink {\n return {\n id: item[\"id\"],\n };\n}\n\nexport function routingRuleLinkArrayDeserializer(result: Array<RoutingRuleLink>): any[] {\n return result.map((item) => {\n return routingRuleLinkDeserializer(item);\n });\n}\n\n/** Defines the Resource ID for a Routing Rule. */\nexport interface RoutingRuleLink {\n /** Resource ID. */\n id?: string;\n}\n\nexport function routingRuleLinkDeserializer(item: any): RoutingRuleLink {\n return {\n id: item[\"id\"],\n };\n}\n\nexport function securityPolicyLinkArrayDeserializer(result: Array<SecurityPolicyLink>): any[] {\n return result.map((item) => {\n return securityPolicyLinkDeserializer(item);\n });\n}\n\n/** Defines the Resource ID for a Security Policy. */\nexport interface SecurityPolicyLink {\n /** Resource ID. */\n id?: string;\n}\n\nexport function securityPolicyLinkDeserializer(item: any): SecurityPolicyLink {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Resource status of the policy. */\nexport enum KnownPolicyResourceState {\n /** Creating */\n Creating = \"Creating\",\n /** Enabling */\n Enabling = \"Enabling\",\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabling */\n Disabling = \"Disabling\",\n /** Disabled */\n Disabled = \"Disabled\",\n /** Deleting */\n Deleting = \"Deleting\",\n}\n\n/**\n * Resource status of the policy. \\\n * {@link KnownPolicyResourceState} can be used interchangeably with PolicyResourceState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Creating**: Creating \\\n * **Enabling**: Enabling \\\n * **Enabled**: Enabled \\\n * **Disabling**: Disabling \\\n * **Disabled**: Disabled \\\n * **Deleting**: Deleting\n */\nexport type PolicyResourceState = string;\n\n/** The pricing tier of the web application firewall policy. */\nexport interface Sku {\n /** Name of the pricing tier. */\n name?: SkuName;\n}\n\nexport function skuSerializer(item: Sku): any {\n return { name: item[\"name\"] };\n}\n\nexport function skuDeserializer(item: any): Sku {\n return {\n name: item[\"name\"],\n };\n}\n\n/** Name of the pricing tier. */\nexport enum KnownSkuName {\n /** Classic_AzureFrontDoor */\n ClassicAzureFrontDoor = \"Classic_AzureFrontDoor\",\n /** Standard_AzureFrontDoor */\n StandardAzureFrontDoor = \"Standard_AzureFrontDoor\",\n /** Premium_AzureFrontDoor */\n PremiumAzureFrontDoor = \"Premium_AzureFrontDoor\",\n}\n\n/**\n * Name of the pricing tier. \\\n * {@link KnownSkuName} can be used interchangeably with SkuName,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Classic_AzureFrontDoor**: Classic_AzureFrontDoor \\\n * **Standard_AzureFrontDoor**: Standard_AzureFrontDoor \\\n * **Premium_AzureFrontDoor**: Premium_AzureFrontDoor\n */\nexport type SkuName = string;\n\n/** Tags object for patch operations. */\nexport interface TagsObject {\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\nexport function tagsObjectSerializer(item: TagsObject): any {\n return { tags: item[\"tags\"] };\n}\n\n/** Defines a list of WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results. */\nexport interface _WebApplicationFirewallPolicyList {\n /** The WebApplicationFirewallPolicy items on this page */\n readonly value: WebApplicationFirewallPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _webApplicationFirewallPolicyListDeserializer(\n item: any,\n): _WebApplicationFirewallPolicyList {\n return {\n value: webApplicationFirewallPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function webApplicationFirewallPolicyArraySerializer(\n result: Array<WebApplicationFirewallPolicy>,\n): any[] {\n return result.map((item) => {\n return webApplicationFirewallPolicySerializer(item);\n });\n}\n\nexport function webApplicationFirewallPolicyArrayDeserializer(\n result: Array<WebApplicationFirewallPolicy>,\n): any[] {\n return result.map((item) => {\n return webApplicationFirewallPolicyDeserializer(item);\n });\n}\n\n/** Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message. */\nexport interface DefaultErrorResponse {\n /** Error model. */\n error?: DefaultErrorResponseError;\n}\n\nexport function defaultErrorResponseDeserializer(item: any): DefaultErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : defaultErrorResponseErrorDeserializer(item[\"error\"]),\n };\n}\n\n/** Error model. */\nexport interface DefaultErrorResponseError {\n /** Error code. */\n readonly code?: string;\n /** Error message indicating why the operation failed. */\n readonly message?: string;\n}\n\nexport function defaultErrorResponseErrorDeserializer(item: any): DefaultErrorResponseError {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Parameters required for content purge. */\nexport interface PurgeParameters {\n /** The path to the content to be purged. Can describe a file path or a wild card directory. */\n contentPaths: string[];\n}\n\nexport function purgeParametersSerializer(item: PurgeParameters): any {\n return {\n contentPaths: item[\"contentPaths\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Defines an Network Experiment Profile and lists of Experiments */\nexport interface Profile extends ResourcewithSettableName {\n /** Gets a unique read-only string that changes whenever the resource is updated. */\n etag?: string;\n /** Resource status. */\n readonly resourceState?: NetworkExperimentResourceState;\n /** The state of the Experiment */\n enabledState?: State;\n}\n\nexport function profileSerializer(item: Profile): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"enabledState\"])\n ? undefined\n : _profilePropertiesSerializer(item),\n etag: item[\"etag\"],\n };\n}\n\nexport function profileDeserializer(item: any): Profile {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _profilePropertiesDeserializer(item[\"properties\"])),\n etag: item[\"etag\"],\n };\n}\n\n/** Defines the properties of an experiment */\nexport interface ProfileProperties {\n /** Resource status. */\n readonly resourceState?: NetworkExperimentResourceState;\n /** The state of the Experiment */\n enabledState?: State;\n}\n\nexport function profilePropertiesSerializer(item: ProfileProperties): any {\n return { enabledState: item[\"enabledState\"] };\n}\n\nexport function profilePropertiesDeserializer(item: any): ProfileProperties {\n return {\n resourceState: item[\"resourceState\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\n/** Common resource representation. */\nexport interface ResourcewithSettableName {\n /** Resource ID. */\n readonly id?: string;\n /** Resource name. */\n readonly name?: string;\n /** Resource type. */\n readonly type?: string;\n /** Resource location. */\n location?: string;\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\nexport function resourcewithSettableNameSerializer(item: ResourcewithSettableName): any {\n return { location: item[\"location\"], tags: item[\"tags\"] };\n}\n\nexport function resourcewithSettableNameDeserializer(item: any): ResourcewithSettableName {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Defines modifiable attributes of a Profile */\nexport interface ProfileUpdateModel {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The enabled state of the Profile */\n enabledState?: State;\n}\n\nexport function profileUpdateModelSerializer(item: ProfileUpdateModel): any {\n return {\n properties: areAllPropsUndefined(item, [\"enabledState\"])\n ? undefined\n : _profileUpdateModelPropertiesSerializer(item),\n tags: item[\"tags\"],\n };\n}\n\n/** Defines the properties of an experiment */\nexport interface ProfileUpdateProperties {\n /** The enabled state of the Profile */\n enabledState?: State;\n}\n\nexport function profileUpdatePropertiesSerializer(item: ProfileUpdateProperties): any {\n return { enabledState: item[\"enabledState\"] };\n}\n\n/** Defines a list of Profiles. It contains a list of Profile objects and a URL link to get the next set of results. */\nexport interface _ProfileList {\n /** The Profile items on this page */\n readonly value: Profile[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _profileListDeserializer(item: any): _ProfileList {\n return {\n value: profileArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function profileArraySerializer(result: Array<Profile>): any[] {\n return result.map((item) => {\n return profileSerializer(item);\n });\n}\n\nexport function profileArrayDeserializer(result: Array<Profile>): any[] {\n return result.map((item) => {\n return profileDeserializer(item);\n });\n}\n\n/** Defines a list of preconfigured endpoints. */\nexport interface _PreconfiguredEndpointList {\n /** The PreconfiguredEndpoint items on this page */\n readonly value: PreconfiguredEndpoint[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _preconfiguredEndpointListDeserializer(item: any): _PreconfiguredEndpointList {\n return {\n value: preconfiguredEndpointArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function preconfiguredEndpointArrayDeserializer(\n result: Array<PreconfiguredEndpoint>,\n): any[] {\n return result.map((item) => {\n return preconfiguredEndpointDeserializer(item);\n });\n}\n\n/** Defines the properties of a preconfigured endpoint */\nexport interface PreconfiguredEndpoint extends ResourcewithSettableName {\n /** The description of the endpoint */\n description?: string;\n /** The endpoint that is preconfigured */\n endpoint?: string;\n /** The type of endpoint */\n endpointType?: EndpointType;\n /** The preconfigured endpoint backend */\n backend?: string;\n}\n\nexport function preconfiguredEndpointDeserializer(item: any): PreconfiguredEndpoint {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _preconfiguredEndpointPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Defines the properties of a preconfigured endpoint */\nexport interface PreconfiguredEndpointProperties {\n /** The description of the endpoint */\n description?: string;\n /** The endpoint that is preconfigured */\n endpoint?: string;\n /** The type of endpoint */\n endpointType?: EndpointType;\n /** The preconfigured endpoint backend */\n backend?: string;\n}\n\nexport function preconfiguredEndpointPropertiesDeserializer(\n item: any,\n): PreconfiguredEndpointProperties {\n return {\n description: item[\"description\"],\n endpoint: item[\"endpoint\"],\n endpointType: item[\"endpointType\"],\n backend: item[\"backend\"],\n };\n}\n\n/** The type of endpoint */\nexport enum KnownEndpointType {\n /** AFD */\n AFD = \"AFD\",\n /** AzureRegion */\n AzureRegion = \"AzureRegion\",\n /** CDN */\n CDN = \"CDN\",\n /** ATM */\n ATM = \"ATM\",\n}\n\n/**\n * The type of endpoint \\\n * {@link KnownEndpointType} can be used interchangeably with EndpointType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AFD**: AFD \\\n * **AzureRegion**: AzureRegion \\\n * **CDN**: CDN \\\n * **ATM**: ATM\n */\nexport type EndpointType = string;\n\n/** Defines the LatencyScorecard */\nexport interface LatencyScorecard extends Resource {\n /** The unique identifier of the Latency Scorecard */\n readonly idPropertiesId?: string;\n /** The name of the Latency Scorecard */\n readonly namePropertiesName?: string;\n /** The description of the Latency Scorecard */\n readonly description?: string;\n /** The A endpoint in the scorecard */\n readonly endpointA?: string;\n /** The B endpoint in the scorecard */\n readonly endpointB?: string;\n /** The start time of the Latency Scorecard in UTC */\n readonly startDateTimeUTC?: Date;\n /** The end time of the Latency Scorecard in UTC */\n readonly endDateTimeUTC?: Date;\n /** The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html */\n readonly country?: string;\n /** The latency metrics of the Latency Scorecard */\n latencyMetrics?: LatencyMetric[];\n}\n\nexport function latencyScorecardDeserializer(item: any): LatencyScorecard {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _latencyScorecardPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Defines a the properties of a Latency Scorecard */\nexport interface LatencyScorecardProperties {\n /** The unique identifier of the Latency Scorecard */\n readonly id?: string;\n /** The name of the Latency Scorecard */\n readonly name?: string;\n /** The description of the Latency Scorecard */\n readonly description?: string;\n /** The A endpoint in the scorecard */\n readonly endpointA?: string;\n /** The B endpoint in the scorecard */\n readonly endpointB?: string;\n /** The start time of the Latency Scorecard in UTC */\n readonly startDateTimeUTC?: Date;\n /** The end time of the Latency Scorecard in UTC */\n readonly endDateTimeUTC?: Date;\n /** The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html */\n readonly country?: string;\n /** The latency metrics of the Latency Scorecard */\n latencyMetrics?: LatencyMetric[];\n}\n\nexport function latencyScorecardPropertiesDeserializer(item: any): LatencyScorecardProperties {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n endpointA: item[\"endpointA\"],\n endpointB: item[\"endpointB\"],\n startDateTimeUTC: !item[\"startDateTimeUTC\"]\n ? item[\"startDateTimeUTC\"]\n : new Date(item[\"startDateTimeUTC\"]),\n endDateTimeUTC: !item[\"endDateTimeUTC\"]\n ? item[\"endDateTimeUTC\"]\n : new Date(item[\"endDateTimeUTC\"]),\n country: item[\"country\"],\n latencyMetrics: !item[\"latencyMetrics\"]\n ? item[\"latencyMetrics\"]\n : latencyMetricArrayDeserializer(item[\"latencyMetrics\"]),\n };\n}\n\nexport function latencyMetricArrayDeserializer(result: Array<LatencyMetric>): any[] {\n return result.map((item) => {\n return latencyMetricDeserializer(item);\n });\n}\n\n/** Defines the properties of a latency metric used in the latency scorecard */\nexport interface LatencyMetric {\n /** The name of the Latency Metric */\n readonly name?: string;\n /** The end time of the Latency Scorecard in UTC */\n readonly endDateTimeUTC?: string;\n /** The metric value of the A endpoint */\n readonly aValue?: number;\n /** The metric value of the B endpoint */\n readonly bValue?: number;\n /** The difference in value between endpoint A and B */\n readonly delta?: number;\n /** The percent difference between endpoint A and B */\n readonly deltaPercent?: number;\n /** The lower end of the 95% confidence interval for endpoint A */\n readonly aCLower95CI?: number;\n /** The upper end of the 95% confidence interval for endpoint A */\n readonly aHUpper95CI?: number;\n /** The lower end of the 95% confidence interval for endpoint B */\n readonly bCLower95CI?: number;\n /** The upper end of the 95% confidence interval for endpoint B */\n readonly bUpper95CI?: number;\n}\n\nexport function latencyMetricDeserializer(item: any): LatencyMetric {\n return {\n name: item[\"name\"],\n endDateTimeUTC: item[\"endDateTimeUTC\"],\n aValue: item[\"aValue\"],\n bValue: item[\"bValue\"],\n delta: item[\"delta\"],\n deltaPercent: item[\"deltaPercent\"],\n aCLower95CI: item[\"aCLower95CI\"],\n aHUpper95CI: item[\"aHUpper95CI\"],\n bCLower95CI: item[\"bCLower95CI\"],\n bUpper95CI: item[\"bUpper95CI\"],\n };\n}\n\n/** Defines the Timeseries */\nexport interface Timeseries extends Resource {\n /** The endpoint associated with the Timeseries data point */\n endpoint?: string;\n /** The start DateTime of the Timeseries in UTC */\n startDateTimeUTC?: string;\n /** The end DateTime of the Timeseries in UTC */\n endDateTimeUTC?: string;\n /** The aggregation interval of the Timeseries */\n aggregationInterval?: AggregationInterval;\n /** The type of Timeseries */\n timeseriesType?: TimeseriesType;\n /** The country associated with the Timeseries. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html */\n country?: string;\n /** The set of data points for the timeseries */\n timeseriesData?: TimeseriesDataPoint[];\n}\n\nexport function timeseriesDeserializer(item: any): Timeseries {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _timeseriesPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Defines the properties of a timeseries */\nexport interface TimeseriesProperties {\n /** The endpoint associated with the Timeseries data point */\n endpoint?: string;\n /** The start DateTime of the Timeseries in UTC */\n startDateTimeUTC?: string;\n /** The end DateTime of the Timeseries in UTC */\n endDateTimeUTC?: string;\n /** The aggregation interval of the Timeseries */\n aggregationInterval?: AggregationInterval;\n /** The type of Timeseries */\n timeseriesType?: TimeseriesType;\n /** The country associated with the Timeseries. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html */\n country?: string;\n /** The set of data points for the timeseries */\n timeseriesData?: TimeseriesDataPoint[];\n}\n\nexport function timeseriesPropertiesDeserializer(item: any): TimeseriesProperties {\n return {\n endpoint: item[\"endpoint\"],\n startDateTimeUTC: item[\"startDateTimeUTC\"],\n endDateTimeUTC: item[\"endDateTimeUTC\"],\n aggregationInterval: item[\"aggregationInterval\"],\n timeseriesType: item[\"timeseriesType\"],\n country: item[\"country\"],\n timeseriesData: !item[\"timeseriesData\"]\n ? item[\"timeseriesData\"]\n : timeseriesDataPointArrayDeserializer(item[\"timeseriesData\"]),\n };\n}\n\n/** The aggregation interval of the Timeseries */\nexport enum KnownAggregationInterval {\n /** Hourly */\n Hourly = \"Hourly\",\n /** Daily */\n Daily = \"Daily\",\n}\n\n/**\n * The aggregation interval of the Timeseries \\\n * {@link KnownAggregationInterval} can be used interchangeably with AggregationInterval,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Hourly**: Hourly \\\n * **Daily**: Daily\n */\nexport type AggregationInterval = string;\n\n/** The type of Timeseries */\nexport enum KnownTimeseriesType {\n /** MeasurementCounts */\n MeasurementCounts = \"MeasurementCounts\",\n /** LatencyP50 */\n LatencyP50 = \"LatencyP50\",\n /** LatencyP75 */\n LatencyP75 = \"LatencyP75\",\n /** LatencyP95 */\n LatencyP95 = \"LatencyP95\",\n}\n\n/**\n * The type of Timeseries \\\n * {@link KnownTimeseriesType} can be used interchangeably with TimeseriesType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **MeasurementCounts**: MeasurementCounts \\\n * **LatencyP50**: LatencyP50 \\\n * **LatencyP75**: LatencyP75 \\\n * **LatencyP95**: LatencyP95\n */\nexport type TimeseriesType = string;\n\nexport function timeseriesDataPointArrayDeserializer(result: Array<TimeseriesDataPoint>): any[] {\n return result.map((item) => {\n return timeseriesDataPointDeserializer(item);\n });\n}\n\n/** Defines a timeseries datapoint used in a timeseries */\nexport interface TimeseriesDataPoint {\n /** The DateTime of the Timeseries data point in UTC */\n dateTimeUTC?: string;\n /** The Value of the Timeseries data point */\n value?: number;\n}\n\nexport function timeseriesDataPointDeserializer(item: any): TimeseriesDataPoint {\n return {\n dateTimeUTC: item[\"dateTimeUTC\"],\n value: item[\"value\"],\n };\n}\n\n/** List of managed rule set definitions available for use in a policy. */\nexport interface _ManagedRuleSetDefinitionList {\n /** The ManagedRuleSetDefinition items on this page */\n readonly value: ManagedRuleSetDefinition[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _managedRuleSetDefinitionListDeserializer(\n item: any,\n): _ManagedRuleSetDefinitionList {\n return {\n value: managedRuleSetDefinitionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function managedRuleSetDefinitionArrayDeserializer(\n result: Array<ManagedRuleSetDefinition>,\n): any[] {\n return result.map((item) => {\n return managedRuleSetDefinitionDeserializer(item);\n });\n}\n\n/** Describes the a managed rule set definition. */\nexport interface ManagedRuleSetDefinition extends Resource {\n /** Provisioning state of the managed rule set. */\n readonly provisioningState?: string;\n /** Id of the managed rule set. */\n readonly ruleSetId?: string;\n /** Type of the managed rule set. */\n readonly ruleSetType?: string;\n /** Version of the managed rule set type. */\n readonly ruleSetVersion?: string;\n /** Rule groups of the managed rule set. */\n readonly ruleGroups?: ManagedRuleGroupDefinition[];\n}\n\nexport function managedRuleSetDefinitionDeserializer(item: any): ManagedRuleSetDefinition {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _managedRuleSetDefinitionPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties for a managed rule set definition. */\nexport interface ManagedRuleSetDefinitionProperties {\n /** Provisioning state of the managed rule set. */\n readonly provisioningState?: string;\n /** Id of the managed rule set. */\n readonly ruleSetId?: string;\n /** Type of the managed rule set. */\n readonly ruleSetType?: string;\n /** Version of the managed rule set type. */\n readonly ruleSetVersion?: string;\n /** Rule groups of the managed rule set. */\n readonly ruleGroups?: ManagedRuleGroupDefinition[];\n}\n\nexport function managedRuleSetDefinitionPropertiesDeserializer(\n item: any,\n): ManagedRuleSetDefinitionProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n ruleSetId: item[\"ruleSetId\"],\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleGroups: !item[\"ruleGroups\"]\n ? item[\"ruleGroups\"]\n : managedRuleGroupDefinitionArrayDeserializer(item[\"ruleGroups\"]),\n };\n}\n\nexport function managedRuleGroupDefinitionArrayDeserializer(\n result: Array<ManagedRuleGroupDefinition>,\n): any[] {\n return result.map((item) => {\n return managedRuleGroupDefinitionDeserializer(item);\n });\n}\n\n/** Describes a managed rule group. */\nexport interface ManagedRuleGroupDefinition {\n /** Name of the managed rule group. */\n readonly ruleGroupName?: string;\n /** Description of the managed rule group. */\n readonly description?: string;\n /** List of rules within the managed rule group. */\n readonly rules?: ManagedRuleDefinition[];\n}\n\nexport function managedRuleGroupDefinitionDeserializer(item: any): ManagedRuleGroupDefinition {\n return {\n ruleGroupName: item[\"ruleGroupName\"],\n description: item[\"description\"],\n rules: !item[\"rules\"] ? item[\"rules\"] : managedRuleDefinitionArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function managedRuleDefinitionArrayDeserializer(\n result: Array<ManagedRuleDefinition>,\n): any[] {\n return result.map((item) => {\n return managedRuleDefinitionDeserializer(item);\n });\n}\n\n/** Describes a managed rule definition. */\nexport interface ManagedRuleDefinition {\n /** Identifier for the managed rule. */\n readonly ruleId?: string;\n /** Describes the default state for the managed rule. */\n readonly defaultState?: ManagedRuleEnabledState;\n /** Describes the default action to be applied when the managed rule matches. */\n readonly defaultAction?: ActionType;\n /** Describes the default sensitivity to be applied when the managed rule matches. */\n readonly defaultSensitivity?: SensitivityType;\n /** Describes the functionality of the managed rule. */\n readonly description?: string;\n}\n\nexport function managedRuleDefinitionDeserializer(item: any): ManagedRuleDefinition {\n return {\n ruleId: item[\"ruleId\"],\n defaultState: item[\"defaultState\"],\n defaultAction: item[\"defaultAction\"],\n defaultSensitivity: item[\"defaultSensitivity\"],\n description: item[\"description\"],\n };\n}\n\n/** Input of CheckNameAvailability API. */\nexport interface CheckNameAvailabilityInput {\n /** The resource name to validate. */\n name: string;\n /** The type of the resource whose name is to be validated. */\n type: ResourceType;\n}\n\nexport function checkNameAvailabilityInputSerializer(item: CheckNameAvailabilityInput): any {\n return { name: item[\"name\"], type: item[\"type\"] };\n}\n\n/** Type of Front Door resource used in CheckNameAvailability. */\nexport type ResourceType =\n | \"Microsoft.Network/frontDoors\"\n | \"Microsoft.Network/frontDoors/frontendEndpoints\";\n\n/** Output of check name availability API. */\nexport interface CheckNameAvailabilityOutput {\n /** Indicates whether the name is available. */\n readonly nameAvailability?: Availability;\n /** The reason why the name is not available. */\n readonly reason?: string;\n /** The detailed error message describing why the name is not available. */\n readonly message?: string;\n}\n\nexport function checkNameAvailabilityOutputDeserializer(item: any): CheckNameAvailabilityOutput {\n return {\n nameAvailability: item[\"nameAvailability\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** Indicates whether the name is available. */\nexport enum KnownAvailability {\n /** Available */\n Available = \"Available\",\n /** Unavailable */\n Unavailable = \"Unavailable\",\n}\n\n/**\n * Indicates whether the name is available. \\\n * {@link KnownAvailability} can be used interchangeably with Availability,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Available**: Available \\\n * **Unavailable**: Unavailable\n */\nexport type Availability = string;\n\n/** Known values of {@link LatencyScorecardAggregationInterval} that the service accepts. */\nexport enum KnownLatencyScorecardAggregationInterval {\n /** Daily */\n Daily = \"Daily\",\n /** Weekly */\n Weekly = \"Weekly\",\n /** Monthly */\n Monthly = \"Monthly\",\n}\n\n/** Type of LatencyScorecardAggregationInterval */\nexport type LatencyScorecardAggregationInterval = string;\n\n/** Known values of {@link TimeseriesAggregationInterval} that the service accepts. */\nexport enum KnownTimeseriesAggregationInterval {\n /** Hourly */\n Hourly = \"Hourly\",\n /** Daily */\n Daily = \"Daily\",\n}\n\n/** Type of TimeseriesAggregationInterval */\nexport type TimeseriesAggregationInterval = string;\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2025-10-01 API version. */\n V20251001 = \"2025-10-01\",\n /** The 2025-11-01 API version. */\n V20251101 = \"2025-11-01\",\n}\n\nexport function _rulesEnginePropertiesSerializer(item: RulesEngine): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function _rulesEnginePropertiesDeserializer(item: any) {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArrayDeserializer(item[\"rules\"]),\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _frontDoorPropertiesSerializer(item: FrontDoor): any {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArraySerializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArraySerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArraySerializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArraySerializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArraySerializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsSerializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function _frontDoorPropertiesDeserializer(item: any) {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArrayDeserializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArrayDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArrayDeserializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArrayDeserializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArrayDeserializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsDeserializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n provisioningState: item[\"provisioningState\"],\n cname: item[\"cname\"],\n frontdoorId: item[\"frontdoorId\"],\n rulesEngines: !item[\"rulesEngines\"]\n ? item[\"rulesEngines\"]\n : rulesEngineArrayDeserializer(item[\"rulesEngines\"]),\n extendedProperties: !item[\"extendedProperties\"]\n ? item[\"extendedProperties\"]\n : Object.fromEntries(\n Object.entries(item[\"extendedProperties\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\nexport function _routingRulePropertiesSerializer(item: RoutingRule): any {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArraySerializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionSerializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceSerializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function _routingRulePropertiesDeserializer(item: any) {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArrayDeserializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionDeserializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceDeserializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _loadBalancingSettingsModelPropertiesSerializer(\n item: LoadBalancingSettingsModel,\n): any {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n };\n}\n\nexport function _loadBalancingSettingsModelPropertiesDeserializer(item: any) {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _healthProbeSettingsModelPropertiesSerializer(item: HealthProbeSettingsModel): any {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function _healthProbeSettingsModelPropertiesDeserializer(item: any) {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _backendPoolPropertiesSerializer(item: BackendPool): any {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArraySerializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceSerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceSerializer(item[\"healthProbeSettings\"]),\n };\n}\n\nexport function _backendPoolPropertiesDeserializer(item: any) {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArrayDeserializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceDeserializer(item[\"healthProbeSettings\"]),\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _customHttpsConfigurationKeyVaultCertificateSourceParametersSerializer(\n item: CustomHttpsConfiguration,\n): any {\n return {\n vault: !item[\"vault\"]\n ? item[\"vault\"]\n : keyVaultCertificateSourceParametersVaultSerializer(item[\"vault\"]),\n secretName: item[\"secretName\"],\n secretVersion: item[\"secretVersion\"],\n };\n}\n\nexport function _customHttpsConfigurationKeyVaultCertificateSourceParametersDeserializer(\n item: any,\n) {\n return {\n vault: !item[\"vault\"]\n ? item[\"vault\"]\n : keyVaultCertificateSourceParametersVaultDeserializer(item[\"vault\"]),\n secretName: item[\"secretName\"],\n secretVersion: item[\"secretVersion\"],\n };\n}\n\nexport function _customHttpsConfigurationFrontDoorCertificateSourceParametersSerializer(\n item: CustomHttpsConfiguration,\n): any {\n return { certificateType: item[\"certificateType\"] };\n}\n\nexport function _customHttpsConfigurationFrontDoorCertificateSourceParametersDeserializer(\n item: any,\n) {\n return {\n certificateType: item[\"certificateType\"],\n };\n}\n\nexport function _frontendEndpointPropertiesSerializer(item: FrontendEndpoint): any {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function _frontendEndpointPropertiesDeserializer(item: any) {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n resourceState: item[\"resourceState\"],\n customHttpsProvisioningState: item[\"customHttpsProvisioningState\"],\n customHttpsProvisioningSubstate: item[\"customHttpsProvisioningSubstate\"],\n customHttpsConfiguration: !item[\"customHttpsConfiguration\"]\n ? item[\"customHttpsConfiguration\"]\n : customHttpsConfigurationDeserializer(item[\"customHttpsConfiguration\"]),\n };\n}\n\nexport function _experimentPropertiesSerializer(item: Experiment): any {\n return {\n description: item[\"description\"],\n endpointA: !item[\"endpointA\"] ? item[\"endpointA\"] : endpointSerializer(item[\"endpointA\"]),\n endpointB: !item[\"endpointB\"] ? item[\"endpointB\"] : endpointSerializer(item[\"endpointB\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function _experimentPropertiesDeserializer(item: any) {\n return {\n description: item[\"description\"],\n endpointA: !item[\"endpointA\"] ? item[\"endpointA\"] : endpointDeserializer(item[\"endpointA\"]),\n endpointB: !item[\"endpointB\"] ? item[\"endpointB\"] : endpointDeserializer(item[\"endpointB\"]),\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n status: item[\"status\"],\n scriptFileUri: item[\"scriptFileUri\"],\n };\n}\n\nexport function _experimentUpdateModelPropertiesSerializer(item: ExperimentUpdateModel): any {\n return { description: item[\"description\"], enabledState: item[\"enabledState\"] };\n}\n\nexport function _policySettingsLogScrubbingSerializer(item: PolicySettings): any {\n return {\n state: item[\"state\"],\n scrubbingRules: !item[\"scrubbingRules\"]\n ? item[\"scrubbingRules\"]\n : webApplicationFirewallScrubbingRulesArraySerializer(item[\"scrubbingRules\"]),\n };\n}\n\nexport function _policySettingsLogScrubbingDeserializer(item: any) {\n return {\n state: item[\"state\"],\n scrubbingRules: !item[\"scrubbingRules\"]\n ? item[\"scrubbingRules\"]\n : webApplicationFirewallScrubbingRulesArrayDeserializer(item[\"scrubbingRules\"]),\n };\n}\n\nexport function _webApplicationFirewallPolicyPropertiesSerializer(\n item: WebApplicationFirewallPolicy,\n): any {\n return {\n policySettings: !item[\"policySettings\"]\n ? item[\"policySettings\"]\n : policySettingsSerializer(item[\"policySettings\"]),\n customRules: !item[\"customRules\"]\n ? item[\"customRules\"]\n : customRuleListSerializer(item[\"customRules\"]),\n managedRules: !item[\"managedRules\"]\n ? item[\"managedRules\"]\n : managedRuleSetListSerializer(item[\"managedRules\"]),\n };\n}\n\nexport function _webApplicationFirewallPolicyPropertiesDeserializer(item: any) {\n return {\n policySettings: !item[\"policySettings\"]\n ? item[\"policySettings\"]\n : policySettingsDeserializer(item[\"policySettings\"]),\n customRules: !item[\"customRules\"]\n ? item[\"customRules\"]\n : customRuleListDeserializer(item[\"customRules\"]),\n managedRules: !item[\"managedRules\"]\n ? item[\"managedRules\"]\n : managedRuleSetListDeserializer(item[\"managedRules\"]),\n frontendEndpointLinks: !item[\"frontendEndpointLinks\"]\n ? item[\"frontendEndpointLinks\"]\n : frontendEndpointLinkArrayDeserializer(item[\"frontendEndpointLinks\"]),\n routingRuleLinks: !item[\"routingRuleLinks\"]\n ? item[\"routingRuleLinks\"]\n : routingRuleLinkArrayDeserializer(item[\"routingRuleLinks\"]),\n securityPolicyLinks: !item[\"securityPolicyLinks\"]\n ? item[\"securityPolicyLinks\"]\n : securityPolicyLinkArrayDeserializer(item[\"securityPolicyLinks\"]),\n provisioningState: item[\"provisioningState\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _profilePropertiesSerializer(item: Profile): any {\n return { enabledState: item[\"enabledState\"] };\n}\n\nexport function _profilePropertiesDeserializer(item: any) {\n return {\n resourceState: item[\"resourceState\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function _profileUpdateModelPropertiesSerializer(item: ProfileUpdateModel): any {\n return { enabledState: item[\"enabledState\"] };\n}\n\nexport function _preconfiguredEndpointPropertiesDeserializer(item: any) {\n return {\n description: item[\"description\"],\n endpoint: item[\"endpoint\"],\n endpointType: item[\"endpointType\"],\n backend: item[\"backend\"],\n };\n}\n\nexport function _latencyScorecardPropertiesDeserializer(item: any) {\n return {\n idPropertiesId: item[\"id\"],\n namePropertiesName: item[\"name\"],\n description: item[\"description\"],\n endpointA: item[\"endpointA\"],\n endpointB: item[\"endpointB\"],\n startDateTimeUTC: !item[\"startDateTimeUTC\"]\n ? item[\"startDateTimeUTC\"]\n : new Date(item[\"startDateTimeUTC\"]),\n endDateTimeUTC: !item[\"endDateTimeUTC\"]\n ? item[\"endDateTimeUTC\"]\n : new Date(item[\"endDateTimeUTC\"]),\n country: item[\"country\"],\n latencyMetrics: !item[\"latencyMetrics\"]\n ? item[\"latencyMetrics\"]\n : latencyMetricArrayDeserializer(item[\"latencyMetrics\"]),\n };\n}\n\nexport function _timeseriesPropertiesDeserializer(item: any) {\n return {\n endpoint: item[\"endpoint\"],\n startDateTimeUTC: item[\"startDateTimeUTC\"],\n endDateTimeUTC: item[\"endDateTimeUTC\"],\n aggregationInterval: item[\"aggregationInterval\"],\n timeseriesType: item[\"timeseriesType\"],\n country: item[\"country\"],\n timeseriesData: !item[\"timeseriesData\"]\n ? item[\"timeseriesData\"]\n : timeseriesDataPointArrayDeserializer(item[\"timeseriesData\"]),\n };\n}\n\nexport function _managedRuleSetDefinitionPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n ruleSetId: item[\"ruleSetId\"],\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleGroups: !item[\"ruleGroups\"]\n ? item[\"ruleGroups\"]\n : managedRuleGroupDefinitionArrayDeserializer(item[\"ruleGroups\"]),\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { areAllPropsUndefined } from \"../static-helpers/serialization/check-prop-undefined.js\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** Front Door represents a collection of backend endpoints to route traffic to along with rules that specify how traffic is sent there. */\nexport interface FrontDoor extends Resource {\n /** A friendly name for the frontDoor */\n friendlyName?: string;\n /** Routing rules associated with this Front Door. */\n routingRules?: RoutingRule[];\n /** Load balancing settings associated with this Front Door instance. */\n loadBalancingSettings?: LoadBalancingSettingsModel[];\n /** Health probe settings associated with this Front Door instance. */\n healthProbeSettings?: HealthProbeSettingsModel[];\n /** Backend pools available to routing rules. */\n backendPools?: BackendPool[];\n /** Frontend endpoints available to routing rules. */\n frontendEndpoints?: FrontendEndpoint[];\n /** Settings for all backendPools */\n backendPoolsSettings?: BackendPoolsSettings;\n /** Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled' */\n enabledState?: FrontDoorEnabledState;\n /** Resource status of the Front Door. */\n readonly resourceState?: FrontDoorResourceState;\n /** Provisioning state of the Front Door. */\n readonly provisioningState?: string;\n /** The host that each frontendEndpoint must CNAME to. */\n readonly cname?: string;\n /** The Id of the frontdoor. */\n readonly frontdoorId?: string;\n /** Rules Engine Configurations available to routing rules. */\n readonly rulesEngines?: RulesEngine[];\n /** Key-Value pair representing additional properties for frontdoor. */\n readonly extendedProperties?: Record<string, string>;\n}\n\nexport function frontDoorSerializer(item: FrontDoor): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\n \"friendlyName\",\n \"routingRules\",\n \"loadBalancingSettings\",\n \"healthProbeSettings\",\n \"backendPools\",\n \"frontendEndpoints\",\n \"backendPoolsSettings\",\n \"enabledState\",\n ])\n ? undefined\n : _frontDoorPropertiesSerializer(item),\n };\n}\n\nexport function frontDoorDeserializer(item: any): FrontDoor {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _frontDoorPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The JSON object that contains the properties required to create an endpoint. */\nexport interface FrontDoorProperties extends FrontDoorUpdateParameters {\n /** Resource status of the Front Door. */\n readonly resourceState?: FrontDoorResourceState;\n /** Provisioning state of the Front Door. */\n readonly provisioningState?: string;\n /** The host that each frontendEndpoint must CNAME to. */\n readonly cname?: string;\n /** The Id of the frontdoor. */\n readonly frontdoorId?: string;\n /** Rules Engine Configurations available to routing rules. */\n readonly rulesEngines?: RulesEngine[];\n /** Key-Value pair representing additional properties for frontdoor. */\n readonly extendedProperties?: Record<string, string>;\n}\n\nexport function frontDoorPropertiesSerializer(item: FrontDoorProperties): any {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArraySerializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArraySerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArraySerializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArraySerializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArraySerializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsSerializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function frontDoorPropertiesDeserializer(item: any): FrontDoorProperties {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArrayDeserializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArrayDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArrayDeserializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArrayDeserializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArrayDeserializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsDeserializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n provisioningState: item[\"provisioningState\"],\n cname: item[\"cname\"],\n frontdoorId: item[\"frontdoorId\"],\n rulesEngines: !item[\"rulesEngines\"]\n ? item[\"rulesEngines\"]\n : rulesEngineArrayDeserializer(item[\"rulesEngines\"]),\n extendedProperties: !item[\"extendedProperties\"]\n ? item[\"extendedProperties\"]\n : Object.fromEntries(\n Object.entries(item[\"extendedProperties\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\n/** Resource status of the Front Door or Front Door SubResource. */\nexport enum KnownFrontDoorResourceState {\n /** Creating */\n Creating = \"Creating\",\n /** Enabling */\n Enabling = \"Enabling\",\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabling */\n Disabling = \"Disabling\",\n /** Disabled */\n Disabled = \"Disabled\",\n /** Deleting */\n Deleting = \"Deleting\",\n /** Migrating */\n Migrating = \"Migrating\",\n /** Migrated */\n Migrated = \"Migrated\",\n}\n\n/**\n * Resource status of the Front Door or Front Door SubResource. \\\n * {@link KnownFrontDoorResourceState} can be used interchangeably with FrontDoorResourceState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Creating**: Creating \\\n * **Enabling**: Enabling \\\n * **Enabled**: Enabled \\\n * **Disabling**: Disabling \\\n * **Disabled**: Disabled \\\n * **Deleting**: Deleting \\\n * **Migrating**: Migrating \\\n * **Migrated**: Migrated\n */\nexport type FrontDoorResourceState = string;\n\nexport function rulesEngineArraySerializer(result: Array<RulesEngine>): any[] {\n return result.map((item) => {\n return rulesEngineSerializer(item);\n });\n}\n\nexport function rulesEngineArrayDeserializer(result: Array<RulesEngine>): any[] {\n return result.map((item) => {\n return rulesEngineDeserializer(item);\n });\n}\n\n/** A rules engine configuration containing a list of rules that will run to modify the runtime behavior of the request and response. */\nexport interface RulesEngine extends BasicResource {\n /** A list of rules that define a particular Rules Engine Configuration. */\n rules?: RulesEngineRule[];\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function rulesEngineSerializer(item: RulesEngine): any {\n return {\n properties: areAllPropsUndefined(item, [\"rules\"])\n ? undefined\n : _rulesEnginePropertiesSerializer(item),\n };\n}\n\nexport function rulesEngineDeserializer(item: any): RulesEngine {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _rulesEnginePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The JSON object that contains the properties required to create a Rules Engine Configuration. */\nexport interface RulesEngineProperties extends RulesEngineUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function rulesEnginePropertiesSerializer(item: RulesEngineProperties): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function rulesEnginePropertiesDeserializer(item: any): RulesEngineProperties {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArrayDeserializer(item[\"rules\"]),\n resourceState: item[\"resourceState\"],\n };\n}\n\n/** Rules Engine Configuration to apply to a Routing Rule. */\nexport interface RulesEngineUpdateParameters {\n /** A list of rules that define a particular Rules Engine Configuration. */\n rules?: RulesEngineRule[];\n}\n\nexport function rulesEngineUpdateParametersSerializer(item: RulesEngineUpdateParameters): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function rulesEngineUpdateParametersDeserializer(item: any): RulesEngineUpdateParameters {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function rulesEngineRuleArraySerializer(result: Array<RulesEngineRule>): any[] {\n return result.map((item) => {\n return rulesEngineRuleSerializer(item);\n });\n}\n\nexport function rulesEngineRuleArrayDeserializer(result: Array<RulesEngineRule>): any[] {\n return result.map((item) => {\n return rulesEngineRuleDeserializer(item);\n });\n}\n\n/** Contains a list of match conditions, and an action on how to modify the request/response. If multiple rules match, the actions from one rule that conflict with a previous rule overwrite for a singular action, or append in the case of headers manipulation. */\nexport interface RulesEngineRule {\n /** A name to refer to this specific rule. */\n name: string;\n /** A priority assigned to this rule. */\n priority: number;\n /** Actions to perform on the request and response if all of the match conditions are met. */\n action: RulesEngineAction;\n /** A list of match conditions that must meet in order for the actions of this rule to run. Having no match conditions means the actions will always run. */\n matchConditions?: RulesEngineMatchCondition[];\n /** If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. */\n matchProcessingBehavior?: MatchProcessingBehavior;\n}\n\nexport function rulesEngineRuleSerializer(item: RulesEngineRule): any {\n return {\n name: item[\"name\"],\n priority: item[\"priority\"],\n action: rulesEngineActionSerializer(item[\"action\"]),\n matchConditions: !item[\"matchConditions\"]\n ? item[\"matchConditions\"]\n : rulesEngineMatchConditionArraySerializer(item[\"matchConditions\"]),\n matchProcessingBehavior: item[\"matchProcessingBehavior\"],\n };\n}\n\nexport function rulesEngineRuleDeserializer(item: any): RulesEngineRule {\n return {\n name: item[\"name\"],\n priority: item[\"priority\"],\n action: rulesEngineActionDeserializer(item[\"action\"]),\n matchConditions: !item[\"matchConditions\"]\n ? item[\"matchConditions\"]\n : rulesEngineMatchConditionArrayDeserializer(item[\"matchConditions\"]),\n matchProcessingBehavior: item[\"matchProcessingBehavior\"],\n };\n}\n\n/** One or more actions that will execute, modifying the request and/or response. */\nexport interface RulesEngineAction {\n /** A list of header actions to apply from the request from AFD to the origin. */\n requestHeaderActions?: HeaderAction[];\n /** A list of header actions to apply from the response from AFD to the client. */\n responseHeaderActions?: HeaderAction[];\n /** Override the route configuration. */\n routeConfigurationOverride?: RouteConfigurationUnion;\n}\n\nexport function rulesEngineActionSerializer(item: RulesEngineAction): any {\n return {\n requestHeaderActions: !item[\"requestHeaderActions\"]\n ? item[\"requestHeaderActions\"]\n : headerActionArraySerializer(item[\"requestHeaderActions\"]),\n responseHeaderActions: !item[\"responseHeaderActions\"]\n ? item[\"responseHeaderActions\"]\n : headerActionArraySerializer(item[\"responseHeaderActions\"]),\n routeConfigurationOverride: !item[\"routeConfigurationOverride\"]\n ? item[\"routeConfigurationOverride\"]\n : routeConfigurationUnionSerializer(item[\"routeConfigurationOverride\"]),\n };\n}\n\nexport function rulesEngineActionDeserializer(item: any): RulesEngineAction {\n return {\n requestHeaderActions: !item[\"requestHeaderActions\"]\n ? item[\"requestHeaderActions\"]\n : headerActionArrayDeserializer(item[\"requestHeaderActions\"]),\n responseHeaderActions: !item[\"responseHeaderActions\"]\n ? item[\"responseHeaderActions\"]\n : headerActionArrayDeserializer(item[\"responseHeaderActions\"]),\n routeConfigurationOverride: !item[\"routeConfigurationOverride\"]\n ? item[\"routeConfigurationOverride\"]\n : routeConfigurationUnionDeserializer(item[\"routeConfigurationOverride\"]),\n };\n}\n\nexport function headerActionArraySerializer(result: Array<HeaderAction>): any[] {\n return result.map((item) => {\n return headerActionSerializer(item);\n });\n}\n\nexport function headerActionArrayDeserializer(result: Array<HeaderAction>): any[] {\n return result.map((item) => {\n return headerActionDeserializer(item);\n });\n}\n\n/** An action that can manipulate an http header. */\nexport interface HeaderAction {\n /** Which type of manipulation to apply to the header. */\n headerActionType: HeaderActionType;\n /** The name of the header this action will apply to. */\n headerName: string;\n /** The value to update the given header name with. This value is not used if the actionType is Delete. */\n value?: string;\n}\n\nexport function headerActionSerializer(item: HeaderAction): any {\n return {\n headerActionType: item[\"headerActionType\"],\n headerName: item[\"headerName\"],\n value: item[\"value\"],\n };\n}\n\nexport function headerActionDeserializer(item: any): HeaderAction {\n return {\n headerActionType: item[\"headerActionType\"],\n headerName: item[\"headerName\"],\n value: item[\"value\"],\n };\n}\n\n/** Which type of manipulation to apply to the header. */\nexport enum KnownHeaderActionType {\n /** Append */\n Append = \"Append\",\n /** Delete */\n Delete = \"Delete\",\n /** Overwrite */\n Overwrite = \"Overwrite\",\n}\n\n/**\n * Which type of manipulation to apply to the header. \\\n * {@link KnownHeaderActionType} can be used interchangeably with HeaderActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Append**: Append \\\n * **Delete**: Delete \\\n * **Overwrite**: Overwrite\n */\nexport type HeaderActionType = string;\n\n/** Base class for all types of Route. */\nexport interface RouteConfiguration {\n odataType: string;\n}\n\nexport function routeConfigurationSerializer(item: RouteConfiguration): any {\n return { \"@odata.type\": item[\"odataType\"] };\n}\n\nexport function routeConfigurationDeserializer(item: any): RouteConfiguration {\n return {\n odataType: item[\"@odata.type\"],\n };\n}\n\n/** Alias for RouteConfigurationUnion */\nexport type RouteConfigurationUnion =\n ForwardingConfiguration | RedirectConfiguration | RouteConfiguration;\n\nexport function routeConfigurationUnionSerializer(item: RouteConfigurationUnion): any {\n switch (item.odataType) {\n case \"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\":\n return forwardingConfigurationSerializer(item as ForwardingConfiguration);\n\n case \"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\":\n return redirectConfigurationSerializer(item as RedirectConfiguration);\n\n default:\n return routeConfigurationSerializer(item);\n }\n}\n\nexport function routeConfigurationUnionDeserializer(item: any): RouteConfigurationUnion {\n switch (item[\"@odata.type\"]) {\n case \"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\":\n return forwardingConfigurationDeserializer(item as ForwardingConfiguration);\n\n case \"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\":\n return redirectConfigurationDeserializer(item as RedirectConfiguration);\n\n default:\n return routeConfigurationDeserializer(item);\n }\n}\n\n/** Describes Forwarding Route. */\nexport interface ForwardingConfiguration extends RouteConfiguration {\n /** A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path. */\n customForwardingPath?: string;\n /** Protocol this rule will use when forwarding traffic to backends. */\n forwardingProtocol?: FrontDoorForwardingProtocol;\n /** The caching configuration associated with this rule. */\n cacheConfiguration?: CacheConfiguration;\n /** A reference to the BackendPool which this rule routes to. */\n backendPool?: SubResource;\n odataType: \"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\";\n}\n\nexport function forwardingConfigurationSerializer(item: ForwardingConfiguration): any {\n return {\n \"@odata.type\": item[\"odataType\"],\n customForwardingPath: item[\"customForwardingPath\"],\n forwardingProtocol: item[\"forwardingProtocol\"],\n cacheConfiguration: !item[\"cacheConfiguration\"]\n ? item[\"cacheConfiguration\"]\n : cacheConfigurationSerializer(item[\"cacheConfiguration\"]),\n backendPool: !item[\"backendPool\"]\n ? item[\"backendPool\"]\n : subResourceSerializer(item[\"backendPool\"]),\n };\n}\n\nexport function forwardingConfigurationDeserializer(item: any): ForwardingConfiguration {\n return {\n odataType: item[\"@odata.type\"],\n customForwardingPath: item[\"customForwardingPath\"],\n forwardingProtocol: item[\"forwardingProtocol\"],\n cacheConfiguration: !item[\"cacheConfiguration\"]\n ? item[\"cacheConfiguration\"]\n : cacheConfigurationDeserializer(item[\"cacheConfiguration\"]),\n backendPool: !item[\"backendPool\"]\n ? item[\"backendPool\"]\n : subResourceDeserializer(item[\"backendPool\"]),\n };\n}\n\n/** Protocol this rule will use when forwarding traffic to backends. */\nexport enum KnownFrontDoorForwardingProtocol {\n /** HttpOnly */\n HttpOnly = \"HttpOnly\",\n /** HttpsOnly */\n HttpsOnly = \"HttpsOnly\",\n /** MatchRequest */\n MatchRequest = \"MatchRequest\",\n}\n\n/**\n * Protocol this rule will use when forwarding traffic to backends. \\\n * {@link KnownFrontDoorForwardingProtocol} can be used interchangeably with FrontDoorForwardingProtocol,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HttpOnly**: HttpOnly \\\n * **HttpsOnly**: HttpsOnly \\\n * **MatchRequest**: MatchRequest\n */\nexport type FrontDoorForwardingProtocol = string;\n\n/** Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. */\nexport interface CacheConfiguration {\n /** Treatment of URL query terms when forming the cache key. */\n queryParameterStripDirective?: FrontDoorQuery;\n /** query parameters to include or exclude (comma separated). */\n queryParameters?: string;\n /** Whether to use dynamic compression for cached content */\n dynamicCompression?: DynamicCompressionEnabled;\n /** The duration for which the content needs to be cached. Allowed format is in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than a year */\n cacheDuration?: string;\n}\n\nexport function cacheConfigurationSerializer(item: CacheConfiguration): any {\n return {\n queryParameterStripDirective: item[\"queryParameterStripDirective\"],\n queryParameters: item[\"queryParameters\"],\n dynamicCompression: item[\"dynamicCompression\"],\n cacheDuration: item[\"cacheDuration\"],\n };\n}\n\nexport function cacheConfigurationDeserializer(item: any): CacheConfiguration {\n return {\n queryParameterStripDirective: item[\"queryParameterStripDirective\"],\n queryParameters: item[\"queryParameters\"],\n dynamicCompression: item[\"dynamicCompression\"],\n cacheDuration: item[\"cacheDuration\"],\n };\n}\n\n/** Treatment of URL query terms when forming the cache key. */\nexport enum KnownFrontDoorQuery {\n /** StripNone */\n StripNone = \"StripNone\",\n /** StripAll */\n StripAll = \"StripAll\",\n /** StripOnly */\n StripOnly = \"StripOnly\",\n /** StripAllExcept */\n StripAllExcept = \"StripAllExcept\",\n}\n\n/**\n * Treatment of URL query terms when forming the cache key. \\\n * {@link KnownFrontDoorQuery} can be used interchangeably with FrontDoorQuery,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **StripNone**: StripNone \\\n * **StripAll**: StripAll \\\n * **StripOnly**: StripOnly \\\n * **StripAllExcept**: StripAllExcept\n */\nexport type FrontDoorQuery = string;\n\n/** Whether to use dynamic compression for cached content */\nexport enum KnownDynamicCompressionEnabled {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to use dynamic compression for cached content \\\n * {@link KnownDynamicCompressionEnabled} can be used interchangeably with DynamicCompressionEnabled,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type DynamicCompressionEnabled = string;\n\n/** Reference to another subresource. */\nexport interface SubResource {\n /** Resource ID. */\n id?: string;\n}\n\nexport function subResourceSerializer(item: SubResource): any {\n return { id: item[\"id\"] };\n}\n\nexport function subResourceDeserializer(item: any): SubResource {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Describes Redirect Route. */\nexport interface RedirectConfiguration extends RouteConfiguration {\n /** The redirect type the rule will use when redirecting traffic. */\n redirectType?: FrontDoorRedirectType;\n /** The protocol of the destination to where the traffic is redirected */\n redirectProtocol?: FrontDoorRedirectProtocol;\n /** Host to redirect. Leave empty to use the incoming host as the destination host. */\n customHost?: string;\n /** The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path. */\n customPath?: string;\n /** Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #. */\n customFragment?: string;\n /** 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. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &. */\n customQueryString?: string;\n odataType: \"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\";\n}\n\nexport function redirectConfigurationSerializer(item: RedirectConfiguration): any {\n return {\n \"@odata.type\": item[\"odataType\"],\n redirectType: item[\"redirectType\"],\n redirectProtocol: item[\"redirectProtocol\"],\n customHost: item[\"customHost\"],\n customPath: item[\"customPath\"],\n customFragment: item[\"customFragment\"],\n customQueryString: item[\"customQueryString\"],\n };\n}\n\nexport function redirectConfigurationDeserializer(item: any): RedirectConfiguration {\n return {\n odataType: item[\"@odata.type\"],\n redirectType: item[\"redirectType\"],\n redirectProtocol: item[\"redirectProtocol\"],\n customHost: item[\"customHost\"],\n customPath: item[\"customPath\"],\n customFragment: item[\"customFragment\"],\n customQueryString: item[\"customQueryString\"],\n };\n}\n\n/** The redirect type the rule will use when redirecting traffic. */\nexport enum KnownFrontDoorRedirectType {\n /** Moved */\n Moved = \"Moved\",\n /** Found */\n Found = \"Found\",\n /** TemporaryRedirect */\n TemporaryRedirect = \"TemporaryRedirect\",\n /** PermanentRedirect */\n PermanentRedirect = \"PermanentRedirect\",\n}\n\n/**\n * The redirect type the rule will use when redirecting traffic. \\\n * {@link KnownFrontDoorRedirectType} can be used interchangeably with FrontDoorRedirectType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Moved**: Moved \\\n * **Found**: Found \\\n * **TemporaryRedirect**: TemporaryRedirect \\\n * **PermanentRedirect**: PermanentRedirect\n */\nexport type FrontDoorRedirectType = string;\n\n/** The protocol of the destination to where the traffic is redirected */\nexport enum KnownFrontDoorRedirectProtocol {\n /** HttpOnly */\n HttpOnly = \"HttpOnly\",\n /** HttpsOnly */\n HttpsOnly = \"HttpsOnly\",\n /** MatchRequest */\n MatchRequest = \"MatchRequest\",\n}\n\n/**\n * The protocol of the destination to where the traffic is redirected \\\n * {@link KnownFrontDoorRedirectProtocol} can be used interchangeably with FrontDoorRedirectProtocol,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HttpOnly**: HttpOnly \\\n * **HttpsOnly**: HttpsOnly \\\n * **MatchRequest**: MatchRequest\n */\nexport type FrontDoorRedirectProtocol = string;\n\nexport function rulesEngineMatchConditionArraySerializer(\n result: Array<RulesEngineMatchCondition>,\n): any[] {\n return result.map((item) => {\n return rulesEngineMatchConditionSerializer(item);\n });\n}\n\nexport function rulesEngineMatchConditionArrayDeserializer(\n result: Array<RulesEngineMatchCondition>,\n): any[] {\n return result.map((item) => {\n return rulesEngineMatchConditionDeserializer(item);\n });\n}\n\n/** Define a match condition */\nexport interface RulesEngineMatchCondition {\n /** Match Variable */\n rulesEngineMatchVariable: RulesEngineMatchVariable;\n /** Name of selector in RequestHeader or RequestBody to be matched */\n selector?: string;\n /** Describes operator to apply to the match condition. */\n rulesEngineOperator: RulesEngineOperator;\n /** Describes if this is negate condition or not */\n negateCondition?: boolean;\n /** 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. */\n rulesEngineMatchValue: string[];\n /** List of transforms */\n transforms?: Transform[];\n}\n\nexport function rulesEngineMatchConditionSerializer(item: RulesEngineMatchCondition): any {\n return {\n rulesEngineMatchVariable: item[\"rulesEngineMatchVariable\"],\n selector: item[\"selector\"],\n rulesEngineOperator: item[\"rulesEngineOperator\"],\n negateCondition: item[\"negateCondition\"],\n rulesEngineMatchValue: item[\"rulesEngineMatchValue\"].map((p: any) => {\n return p;\n }),\n transforms: !item[\"transforms\"]\n ? item[\"transforms\"]\n : item[\"transforms\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function rulesEngineMatchConditionDeserializer(item: any): RulesEngineMatchCondition {\n return {\n rulesEngineMatchVariable: item[\"rulesEngineMatchVariable\"],\n selector: item[\"selector\"],\n rulesEngineOperator: item[\"rulesEngineOperator\"],\n negateCondition: item[\"negateCondition\"],\n rulesEngineMatchValue: item[\"rulesEngineMatchValue\"].map((p: any) => {\n return p;\n }),\n transforms: !item[\"transforms\"]\n ? item[\"transforms\"]\n : item[\"transforms\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Match Variable */\nexport enum KnownRulesEngineMatchVariable {\n /** IsMobile */\n IsMobile = \"IsMobile\",\n /** RemoteAddr */\n RemoteAddr = \"RemoteAddr\",\n /** RequestMethod */\n RequestMethod = \"RequestMethod\",\n /** QueryString */\n QueryString = \"QueryString\",\n /** PostArgs */\n PostArgs = \"PostArgs\",\n /** RequestUri */\n RequestUri = \"RequestUri\",\n /** RequestPath */\n RequestPath = \"RequestPath\",\n /** RequestFilename */\n RequestFilename = \"RequestFilename\",\n /** RequestFilenameExtension */\n RequestFilenameExtension = \"RequestFilenameExtension\",\n /** RequestHeader */\n RequestHeader = \"RequestHeader\",\n /** RequestBody */\n RequestBody = \"RequestBody\",\n /** RequestScheme */\n RequestScheme = \"RequestScheme\",\n}\n\n/**\n * Match Variable \\\n * {@link KnownRulesEngineMatchVariable} can be used interchangeably with RulesEngineMatchVariable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **IsMobile**: IsMobile \\\n * **RemoteAddr**: RemoteAddr \\\n * **RequestMethod**: RequestMethod \\\n * **QueryString**: QueryString \\\n * **PostArgs**: PostArgs \\\n * **RequestUri**: RequestUri \\\n * **RequestPath**: RequestPath \\\n * **RequestFilename**: RequestFilename \\\n * **RequestFilenameExtension**: RequestFilenameExtension \\\n * **RequestHeader**: RequestHeader \\\n * **RequestBody**: RequestBody \\\n * **RequestScheme**: RequestScheme\n */\nexport type RulesEngineMatchVariable = string;\n\n/** Describes operator to apply to the match condition. */\nexport enum KnownRulesEngineOperator {\n /** Any */\n Any = \"Any\",\n /** IPMatch */\n IPMatch = \"IPMatch\",\n /** GeoMatch */\n GeoMatch = \"GeoMatch\",\n /** Equal */\n Equal = \"Equal\",\n /** Contains */\n Contains = \"Contains\",\n /** LessThan */\n LessThan = \"LessThan\",\n /** GreaterThan */\n GreaterThan = \"GreaterThan\",\n /** LessThanOrEqual */\n LessThanOrEqual = \"LessThanOrEqual\",\n /** GreaterThanOrEqual */\n GreaterThanOrEqual = \"GreaterThanOrEqual\",\n /** BeginsWith */\n BeginsWith = \"BeginsWith\",\n /** EndsWith */\n EndsWith = \"EndsWith\",\n}\n\n/**\n * Describes operator to apply to the match condition. \\\n * {@link KnownRulesEngineOperator} can be used interchangeably with RulesEngineOperator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Any**: Any \\\n * **IPMatch**: IPMatch \\\n * **GeoMatch**: GeoMatch \\\n * **Equal**: Equal \\\n * **Contains**: Contains \\\n * **LessThan**: LessThan \\\n * **GreaterThan**: GreaterThan \\\n * **LessThanOrEqual**: LessThanOrEqual \\\n * **GreaterThanOrEqual**: GreaterThanOrEqual \\\n * **BeginsWith**: BeginsWith \\\n * **EndsWith**: EndsWith\n */\nexport type RulesEngineOperator = string;\n\n/** Describes what transforms are applied before matching */\nexport enum KnownTransform {\n /** Lowercase */\n Lowercase = \"Lowercase\",\n /** Uppercase */\n Uppercase = \"Uppercase\",\n /** Trim */\n Trim = \"Trim\",\n /** UrlDecode */\n UrlDecode = \"UrlDecode\",\n /** UrlEncode */\n UrlEncode = \"UrlEncode\",\n /** RemoveNulls */\n RemoveNulls = \"RemoveNulls\",\n}\n\n/**\n * Describes what transforms are applied before matching \\\n * {@link KnownTransform} can be used interchangeably with Transform,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Lowercase**: Lowercase \\\n * **Uppercase**: Uppercase \\\n * **Trim**: Trim \\\n * **UrlDecode**: UrlDecode \\\n * **UrlEncode**: UrlEncode \\\n * **RemoveNulls**: RemoveNulls\n */\nexport type Transform = string;\n\n/** If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. */\nexport enum KnownMatchProcessingBehavior {\n /** Continue */\n Continue = \"Continue\",\n /** Stop */\n Stop = \"Stop\",\n}\n\n/**\n * If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue. \\\n * {@link KnownMatchProcessingBehavior} can be used interchangeably with MatchProcessingBehavior,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Continue**: Continue \\\n * **Stop**: Stop\n */\nexport type MatchProcessingBehavior = string;\n\n/** Common resource representation. */\nexport interface BasicResource {\n /** Resource ID. */\n readonly id?: string;\n /** Resource name. */\n readonly name?: string;\n /** Resource type. */\n readonly type?: string;\n}\n\nexport function basicResourceSerializer(_item: BasicResource): any {\n return {};\n}\n\nexport function basicResourceDeserializer(item: any): BasicResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The properties needed to update a Front Door */\nexport interface FrontDoorUpdateParameters {\n /** A friendly name for the frontDoor */\n friendlyName?: string;\n /** Routing rules associated with this Front Door. */\n routingRules?: RoutingRule[];\n /** Load balancing settings associated with this Front Door instance. */\n loadBalancingSettings?: LoadBalancingSettingsModel[];\n /** Health probe settings associated with this Front Door instance. */\n healthProbeSettings?: HealthProbeSettingsModel[];\n /** Backend pools available to routing rules. */\n backendPools?: BackendPool[];\n /** Frontend endpoints available to routing rules. */\n frontendEndpoints?: FrontendEndpoint[];\n /** Settings for all backendPools */\n backendPoolsSettings?: BackendPoolsSettings;\n /** Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled' */\n enabledState?: FrontDoorEnabledState;\n}\n\nexport function frontDoorUpdateParametersSerializer(item: FrontDoorUpdateParameters): any {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArraySerializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArraySerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArraySerializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArraySerializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArraySerializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsSerializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function frontDoorUpdateParametersDeserializer(item: any): FrontDoorUpdateParameters {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArrayDeserializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArrayDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArrayDeserializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArrayDeserializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArrayDeserializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsDeserializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function routingRuleArraySerializer(result: Array<RoutingRule>): any[] {\n return result.map((item) => {\n return routingRuleSerializer(item);\n });\n}\n\nexport function routingRuleArrayDeserializer(result: Array<RoutingRule>): any[] {\n return result.map((item) => {\n return routingRuleDeserializer(item);\n });\n}\n\n/** A routing rule represents a specification for traffic to treat and where to send it, along with health probe information. */\nexport interface RoutingRule extends SubResource {\n /** Resource name. */\n name?: string;\n /** Resource type. */\n readonly type?: string;\n /** Frontend endpoints associated with this rule */\n frontendEndpoints?: SubResource[];\n /** Protocol schemes to match for this rule */\n acceptedProtocols?: FrontDoorProtocol[];\n /** The route patterns of the rule. */\n patternsToMatch?: string[];\n /** Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' */\n enabledState?: RoutingRuleEnabledState;\n /** A reference to the routing configuration. */\n routeConfiguration?: RouteConfigurationUnion;\n /** A reference to a specific Rules Engine Configuration to apply to this route. */\n rulesEngine?: SubResource;\n /** Defines the Web Application Firewall policy for each routing rule (if applicable) */\n webApplicationFirewallPolicyLink?: RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink;\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function routingRuleSerializer(item: RoutingRule): any {\n return {\n id: item[\"id\"],\n properties: areAllPropsUndefined(item, [\n \"frontendEndpoints\",\n \"acceptedProtocols\",\n \"patternsToMatch\",\n \"enabledState\",\n \"routeConfiguration\",\n \"rulesEngine\",\n \"webApplicationFirewallPolicyLink\",\n ])\n ? undefined\n : _routingRulePropertiesSerializer(item),\n name: item[\"name\"],\n };\n}\n\nexport function routingRuleDeserializer(item: any): RoutingRule {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _routingRulePropertiesDeserializer(item[\"properties\"])),\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The JSON object that contains the properties required to create a routing rule. */\nexport interface RoutingRuleProperties extends RoutingRuleUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function routingRulePropertiesSerializer(item: RoutingRuleProperties): any {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArraySerializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionSerializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceSerializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function routingRulePropertiesDeserializer(item: any): RoutingRuleProperties {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArrayDeserializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionDeserializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceDeserializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function loadBalancingSettingsModelArraySerializer(\n result: Array<LoadBalancingSettingsModel>,\n): any[] {\n return result.map((item) => {\n return loadBalancingSettingsModelSerializer(item);\n });\n}\n\nexport function loadBalancingSettingsModelArrayDeserializer(\n result: Array<LoadBalancingSettingsModel>,\n): any[] {\n return result.map((item) => {\n return loadBalancingSettingsModelDeserializer(item);\n });\n}\n\n/** Load balancing settings for a backend pool */\nexport interface LoadBalancingSettingsModel extends SubResource {\n /** Resource name. */\n name?: string;\n /** Resource type. */\n readonly type?: string;\n /** The number of samples to consider for load balancing decisions */\n sampleSize?: number;\n /** The number of samples within the sample period that must succeed */\n successfulSamplesRequired?: number;\n /** The additional latency in milliseconds for probes to fall into the lowest latency bucket */\n additionalLatencyMilliseconds?: number;\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function loadBalancingSettingsModelSerializer(item: LoadBalancingSettingsModel): any {\n return {\n id: item[\"id\"],\n properties: areAllPropsUndefined(item, [\n \"sampleSize\",\n \"successfulSamplesRequired\",\n \"additionalLatencyMilliseconds\",\n ])\n ? undefined\n : _loadBalancingSettingsModelPropertiesSerializer(item),\n name: item[\"name\"],\n };\n}\n\nexport function loadBalancingSettingsModelDeserializer(item: any): LoadBalancingSettingsModel {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _loadBalancingSettingsModelPropertiesDeserializer(item[\"properties\"])),\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The JSON object that contains the properties required to create load balancing settings */\nexport interface LoadBalancingSettingsProperties extends LoadBalancingSettingsUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function loadBalancingSettingsPropertiesSerializer(\n item: LoadBalancingSettingsProperties,\n): any {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n };\n}\n\nexport function loadBalancingSettingsPropertiesDeserializer(\n item: any,\n): LoadBalancingSettingsProperties {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function healthProbeSettingsModelArraySerializer(\n result: Array<HealthProbeSettingsModel>,\n): any[] {\n return result.map((item) => {\n return healthProbeSettingsModelSerializer(item);\n });\n}\n\nexport function healthProbeSettingsModelArrayDeserializer(\n result: Array<HealthProbeSettingsModel>,\n): any[] {\n return result.map((item) => {\n return healthProbeSettingsModelDeserializer(item);\n });\n}\n\n/** Load balancing settings for a backend pool */\nexport interface HealthProbeSettingsModel extends SubResource {\n /** Resource name. */\n name?: string;\n /** Resource type. */\n readonly type?: string;\n /** The path to use for the health probe. Default is / */\n path?: string;\n /** Protocol scheme to use for this probe */\n protocol?: FrontDoorProtocol;\n /** The number of seconds between health probes. */\n intervalInSeconds?: number;\n /** Configures which HTTP method to use to probe the backends defined under backendPools. */\n healthProbeMethod?: FrontDoorHealthProbeMethod;\n /** Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. */\n enabledState?: HealthProbeEnabled;\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function healthProbeSettingsModelSerializer(item: HealthProbeSettingsModel): any {\n return {\n id: item[\"id\"],\n properties: areAllPropsUndefined(item, [\n \"path\",\n \"protocol\",\n \"intervalInSeconds\",\n \"healthProbeMethod\",\n \"enabledState\",\n ])\n ? undefined\n : _healthProbeSettingsModelPropertiesSerializer(item),\n name: item[\"name\"],\n };\n}\n\nexport function healthProbeSettingsModelDeserializer(item: any): HealthProbeSettingsModel {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _healthProbeSettingsModelPropertiesDeserializer(item[\"properties\"])),\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The JSON object that contains the properties required to create a health probe settings. */\nexport interface HealthProbeSettingsProperties extends HealthProbeSettingsUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function healthProbeSettingsPropertiesSerializer(item: HealthProbeSettingsProperties): any {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function healthProbeSettingsPropertiesDeserializer(\n item: any,\n): HealthProbeSettingsProperties {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function backendPoolArraySerializer(result: Array<BackendPool>): any[] {\n return result.map((item) => {\n return backendPoolSerializer(item);\n });\n}\n\nexport function backendPoolArrayDeserializer(result: Array<BackendPool>): any[] {\n return result.map((item) => {\n return backendPoolDeserializer(item);\n });\n}\n\n/** A backend pool is a collection of backends that can be routed to. */\nexport interface BackendPool extends SubResource {\n /** Resource name. */\n name?: string;\n /** Resource type. */\n readonly type?: string;\n /** The set of backends for this pool */\n backends?: Backend[];\n /** Load balancing settings for a backend pool */\n loadBalancingSettings?: SubResource;\n /** L7 health probe settings for a backend pool */\n healthProbeSettings?: SubResource;\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function backendPoolSerializer(item: BackendPool): any {\n return {\n id: item[\"id\"],\n properties: areAllPropsUndefined(item, [\n \"backends\",\n \"loadBalancingSettings\",\n \"healthProbeSettings\",\n ])\n ? undefined\n : _backendPoolPropertiesSerializer(item),\n name: item[\"name\"],\n };\n}\n\nexport function backendPoolDeserializer(item: any): BackendPool {\n return {\n id: item[\"id\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _backendPoolPropertiesDeserializer(item[\"properties\"])),\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** The JSON object that contains the properties required to create a Backend Pool. */\nexport interface BackendPoolProperties extends BackendPoolUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n}\n\nexport function backendPoolPropertiesSerializer(item: BackendPoolProperties): any {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArraySerializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceSerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceSerializer(item[\"healthProbeSettings\"]),\n };\n}\n\nexport function backendPoolPropertiesDeserializer(item: any): BackendPoolProperties {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArrayDeserializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceDeserializer(item[\"healthProbeSettings\"]),\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function frontendEndpointArraySerializer(result: Array<FrontendEndpoint>): any[] {\n return result.map((item) => {\n return frontendEndpointSerializer(item);\n });\n}\n\nexport function frontendEndpointArrayDeserializer(result: Array<FrontendEndpoint>): any[] {\n return result.map((item) => {\n return frontendEndpointDeserializer(item);\n });\n}\n\n/** A frontend endpoint used for routing. */\nexport interface FrontendEndpoint extends BasicResourceWithSettableIDName {\n /** The host name of the frontendEndpoint. Must be a domain name. */\n hostName?: string;\n /** Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled' */\n sessionAffinityEnabledState?: SessionAffinityEnabledState;\n /** UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if applicable. */\n sessionAffinityTtlSeconds?: number;\n /** Defines the Web Application Firewall policy for each host (if applicable) */\n webApplicationFirewallPolicyLink?: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink;\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n /** Provisioning status of Custom Https of the frontendEndpoint. */\n readonly customHttpsProvisioningState?: CustomHttpsProvisioningState;\n /** Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. */\n readonly customHttpsProvisioningSubstate?: CustomHttpsProvisioningSubstate;\n /** The configuration specifying how to enable HTTPS */\n readonly customHttpsConfiguration?: CustomHttpsConfiguration;\n}\n\nexport function frontendEndpointSerializer(item: FrontendEndpoint): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n properties: areAllPropsUndefined(item, [\n \"hostName\",\n \"sessionAffinityEnabledState\",\n \"sessionAffinityTtlSeconds\",\n \"webApplicationFirewallPolicyLink\",\n ])\n ? undefined\n : _frontendEndpointPropertiesSerializer(item),\n };\n}\n\nexport function frontendEndpointDeserializer(item: any): FrontendEndpoint {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _frontendEndpointPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** The JSON object that contains the properties required to create a frontend endpoint. */\nexport interface FrontendEndpointProperties extends FrontendEndpointUpdateParameters {\n /** Resource status. */\n readonly resourceState?: FrontDoorResourceState;\n /** Provisioning status of Custom Https of the frontendEndpoint. */\n readonly customHttpsProvisioningState?: CustomHttpsProvisioningState;\n /** Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. */\n readonly customHttpsProvisioningSubstate?: CustomHttpsProvisioningSubstate;\n /** The configuration specifying how to enable HTTPS */\n readonly customHttpsConfiguration?: CustomHttpsConfiguration;\n}\n\nexport function frontendEndpointPropertiesSerializer(item: FrontendEndpointProperties): any {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function frontendEndpointPropertiesDeserializer(item: any): FrontendEndpointProperties {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n resourceState: item[\"resourceState\"],\n customHttpsProvisioningState: item[\"customHttpsProvisioningState\"],\n customHttpsProvisioningSubstate: item[\"customHttpsProvisioningSubstate\"],\n customHttpsConfiguration: !item[\"customHttpsConfiguration\"]\n ? item[\"customHttpsConfiguration\"]\n : customHttpsConfigurationDeserializer(item[\"customHttpsConfiguration\"]),\n };\n}\n\n/** Provisioning status of Custom Https of the frontendEndpoint. */\nexport enum KnownCustomHttpsProvisioningState {\n /** Enabling */\n Enabling = \"Enabling\",\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabling */\n Disabling = \"Disabling\",\n /** Disabled */\n Disabled = \"Disabled\",\n /** Failed */\n Failed = \"Failed\",\n}\n\n/**\n * Provisioning status of Custom Https of the frontendEndpoint. \\\n * {@link KnownCustomHttpsProvisioningState} can be used interchangeably with CustomHttpsProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabling**: Enabling \\\n * **Enabled**: Enabled \\\n * **Disabling**: Disabling \\\n * **Disabled**: Disabled \\\n * **Failed**: Failed\n */\nexport type CustomHttpsProvisioningState = string;\n\n/** Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. */\nexport enum KnownCustomHttpsProvisioningSubstate {\n /** SubmittingDomainControlValidationRequest */\n SubmittingDomainControlValidationRequest = \"SubmittingDomainControlValidationRequest\",\n /** PendingDomainControlValidationREquestApproval */\n PendingDomainControlValidationREquestApproval = \"PendingDomainControlValidationREquestApproval\",\n /** DomainControlValidationRequestApproved */\n DomainControlValidationRequestApproved = \"DomainControlValidationRequestApproved\",\n /** DomainControlValidationRequestRejected */\n DomainControlValidationRequestRejected = \"DomainControlValidationRequestRejected\",\n /** DomainControlValidationRequestTimedOut */\n DomainControlValidationRequestTimedOut = \"DomainControlValidationRequestTimedOut\",\n /** IssuingCertificate */\n IssuingCertificate = \"IssuingCertificate\",\n /** DeployingCertificate */\n DeployingCertificate = \"DeployingCertificate\",\n /** CertificateDeployed */\n CertificateDeployed = \"CertificateDeployed\",\n /** DeletingCertificate */\n DeletingCertificate = \"DeletingCertificate\",\n /** CertificateDeleted */\n CertificateDeleted = \"CertificateDeleted\",\n}\n\n/**\n * Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. \\\n * {@link KnownCustomHttpsProvisioningSubstate} can be used interchangeably with CustomHttpsProvisioningSubstate,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SubmittingDomainControlValidationRequest**: SubmittingDomainControlValidationRequest \\\n * **PendingDomainControlValidationREquestApproval**: PendingDomainControlValidationREquestApproval \\\n * **DomainControlValidationRequestApproved**: DomainControlValidationRequestApproved \\\n * **DomainControlValidationRequestRejected**: DomainControlValidationRequestRejected \\\n * **DomainControlValidationRequestTimedOut**: DomainControlValidationRequestTimedOut \\\n * **IssuingCertificate**: IssuingCertificate \\\n * **DeployingCertificate**: DeployingCertificate \\\n * **CertificateDeployed**: CertificateDeployed \\\n * **DeletingCertificate**: DeletingCertificate \\\n * **CertificateDeleted**: CertificateDeleted\n */\nexport type CustomHttpsProvisioningSubstate = string;\n\n/** Https settings for a domain */\nexport interface CustomHttpsConfiguration {\n /** Defines the source of the SSL certificate */\n certificateSource: FrontDoorCertificateSource;\n /** Defines the TLS extension protocol that is used for secure delivery */\n protocolType: FrontDoorTlsProtocolType;\n /** The minimum TLS version required from the clients to establish an SSL handshake with Front Door. */\n minimumTlsVersion: MinimumTLSVersion;\n /** The Key Vault containing the SSL certificate */\n vault?: KeyVaultCertificateSourceParametersVault;\n /** The name of the Key Vault secret representing the full certificate PFX */\n secretName?: string;\n /** The version of the Key Vault secret representing the full certificate PFX */\n secretVersion?: string;\n /** Defines the type of the certificate used for secure connections to a frontendEndpoint */\n certificateType?: FrontDoorCertificateType;\n}\n\nexport function customHttpsConfigurationSerializer(item: CustomHttpsConfiguration): any {\n return {\n certificateSource: item[\"certificateSource\"],\n protocolType: item[\"protocolType\"],\n minimumTlsVersion: item[\"minimumTlsVersion\"],\n keyVaultCertificateSourceParameters: areAllPropsUndefined(item, [\n \"vault\",\n \"secretName\",\n \"secretVersion\",\n ])\n ? undefined\n : _customHttpsConfigurationKeyVaultCertificateSourceParametersSerializer(item),\n frontDoorCertificateSourceParameters: areAllPropsUndefined(item, [\"certificateType\"])\n ? undefined\n : _customHttpsConfigurationFrontDoorCertificateSourceParametersSerializer(item),\n };\n}\n\nexport function customHttpsConfigurationDeserializer(item: any): CustomHttpsConfiguration {\n return {\n certificateSource: item[\"certificateSource\"],\n protocolType: item[\"protocolType\"],\n minimumTlsVersion: item[\"minimumTlsVersion\"],\n ...(!item[\"keyVaultCertificateSourceParameters\"]\n ? item[\"keyVaultCertificateSourceParameters\"]\n : _customHttpsConfigurationKeyVaultCertificateSourceParametersDeserializer(\n item[\"keyVaultCertificateSourceParameters\"],\n )),\n ...(!item[\"frontDoorCertificateSourceParameters\"]\n ? item[\"frontDoorCertificateSourceParameters\"]\n : _customHttpsConfigurationFrontDoorCertificateSourceParametersDeserializer(\n item[\"frontDoorCertificateSourceParameters\"],\n )),\n };\n}\n\n/** Defines the source of the SSL certificate */\nexport enum KnownFrontDoorCertificateSource {\n /** AzureKeyVault */\n AzureKeyVault = \"AzureKeyVault\",\n /** FrontDoor */\n FrontDoor = \"FrontDoor\",\n}\n\n/**\n * Defines the source of the SSL certificate \\\n * {@link KnownFrontDoorCertificateSource} can be used interchangeably with FrontDoorCertificateSource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AzureKeyVault**: AzureKeyVault \\\n * **FrontDoor**: FrontDoor\n */\nexport type FrontDoorCertificateSource = string;\n\n/** Defines the TLS extension protocol that is used for secure delivery */\nexport enum KnownFrontDoorTlsProtocolType {\n /** ServerNameIndication */\n ServerNameIndication = \"ServerNameIndication\",\n}\n\n/**\n * Defines the TLS extension protocol that is used for secure delivery \\\n * {@link KnownFrontDoorTlsProtocolType} can be used interchangeably with FrontDoorTlsProtocolType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ServerNameIndication**: ServerNameIndication\n */\nexport type FrontDoorTlsProtocolType = string;\n\n/** The minimum TLS version required from the clients to establish an SSL handshake with Front Door. */\nexport enum KnownMinimumTLSVersion {\n /** 1.0 */\n One0 = \"1.0\",\n /** 1.2 */\n One2 = \"1.2\",\n}\n\n/**\n * The minimum TLS version required from the clients to establish an SSL handshake with Front Door. \\\n * {@link KnownMinimumTLSVersion} can be used interchangeably with MinimumTLSVersion,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **1.0**: 1.0 \\\n * **1.2**: 1.2\n */\nexport type MinimumTLSVersion = string;\n\n/** Parameters required for bring-your-own-certification via Key Vault */\nexport interface KeyVaultCertificateSourceParameters {\n /** The Key Vault containing the SSL certificate */\n vault?: KeyVaultCertificateSourceParametersVault;\n /** The name of the Key Vault secret representing the full certificate PFX */\n secretName?: string;\n /** The version of the Key Vault secret representing the full certificate PFX */\n secretVersion?: string;\n}\n\nexport function keyVaultCertificateSourceParametersSerializer(\n item: KeyVaultCertificateSourceParameters,\n): any {\n return {\n vault: !item[\"vault\"]\n ? item[\"vault\"]\n : keyVaultCertificateSourceParametersVaultSerializer(item[\"vault\"]),\n secretName: item[\"secretName\"],\n secretVersion: item[\"secretVersion\"],\n };\n}\n\nexport function keyVaultCertificateSourceParametersDeserializer(\n item: any,\n): KeyVaultCertificateSourceParameters {\n return {\n vault: !item[\"vault\"]\n ? item[\"vault\"]\n : keyVaultCertificateSourceParametersVaultDeserializer(item[\"vault\"]),\n secretName: item[\"secretName\"],\n secretVersion: item[\"secretVersion\"],\n };\n}\n\n/** The Key Vault containing the SSL certificate */\nexport interface KeyVaultCertificateSourceParametersVault {\n /** Resource ID. */\n id?: string;\n}\n\nexport function keyVaultCertificateSourceParametersVaultSerializer(\n item: KeyVaultCertificateSourceParametersVault,\n): any {\n return { id: item[\"id\"] };\n}\n\nexport function keyVaultCertificateSourceParametersVaultDeserializer(\n item: any,\n): KeyVaultCertificateSourceParametersVault {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Parameters required for enabling SSL with Front Door-managed certificates */\nexport interface FrontDoorCertificateSourceParameters {\n /** Defines the type of the certificate used for secure connections to a frontendEndpoint */\n certificateType?: FrontDoorCertificateType;\n}\n\nexport function frontDoorCertificateSourceParametersSerializer(\n item: FrontDoorCertificateSourceParameters,\n): any {\n return { certificateType: item[\"certificateType\"] };\n}\n\nexport function frontDoorCertificateSourceParametersDeserializer(\n item: any,\n): FrontDoorCertificateSourceParameters {\n return {\n certificateType: item[\"certificateType\"],\n };\n}\n\n/** Defines the type of the certificate used for secure connections to a frontendEndpoint */\nexport enum KnownFrontDoorCertificateType {\n /** Dedicated */\n Dedicated = \"Dedicated\",\n}\n\n/**\n * Defines the type of the certificate used for secure connections to a frontendEndpoint \\\n * {@link KnownFrontDoorCertificateType} can be used interchangeably with FrontDoorCertificateType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Dedicated**: Dedicated\n */\nexport type FrontDoorCertificateType = string;\n\n/** Settings that apply to all backend pools. */\nexport interface BackendPoolsSettings {\n /** Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. */\n enforceCertificateNameCheck?: EnforceCertificateNameCheckEnabledState;\n /** Send and receive timeout on forwarding request to the backend. When timeout is reached, the request fails and returns. */\n sendRecvTimeoutSeconds?: number;\n}\n\nexport function backendPoolsSettingsSerializer(item: BackendPoolsSettings): any {\n return {\n enforceCertificateNameCheck: item[\"enforceCertificateNameCheck\"],\n sendRecvTimeoutSeconds: item[\"sendRecvTimeoutSeconds\"],\n };\n}\n\nexport function backendPoolsSettingsDeserializer(item: any): BackendPoolsSettings {\n return {\n enforceCertificateNameCheck: item[\"enforceCertificateNameCheck\"],\n sendRecvTimeoutSeconds: item[\"sendRecvTimeoutSeconds\"],\n };\n}\n\n/** Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. */\nexport enum KnownEnforceCertificateNameCheckEnabledState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. \\\n * {@link KnownEnforceCertificateNameCheckEnabledState} can be used interchangeably with EnforceCertificateNameCheckEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type EnforceCertificateNameCheckEnabledState = string;\n\n/** Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled' */\nexport enum KnownFrontDoorEnabledState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled' \\\n * {@link KnownFrontDoorEnabledState} can be used interchangeably with FrontDoorEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type FrontDoorEnabledState = string;\n\n/** Routing rules to apply to an endpoint */\nexport interface RoutingRuleUpdateParameters {\n /** Frontend endpoints associated with this rule */\n frontendEndpoints?: SubResource[];\n /** Protocol schemes to match for this rule */\n acceptedProtocols?: FrontDoorProtocol[];\n /** The route patterns of the rule. */\n patternsToMatch?: string[];\n /** Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' */\n enabledState?: RoutingRuleEnabledState;\n /** A reference to the routing configuration. */\n routeConfiguration?: RouteConfigurationUnion;\n /** A reference to a specific Rules Engine Configuration to apply to this route. */\n rulesEngine?: SubResource;\n /** Defines the Web Application Firewall policy for each routing rule (if applicable) */\n webApplicationFirewallPolicyLink?: RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink;\n}\n\nexport function routingRuleUpdateParametersSerializer(item: RoutingRuleUpdateParameters): any {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArraySerializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionSerializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceSerializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function routingRuleUpdateParametersDeserializer(item: any): RoutingRuleUpdateParameters {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArrayDeserializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionDeserializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceDeserializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function subResourceArraySerializer(result: Array<SubResource>): any[] {\n return result.map((item) => {\n return subResourceSerializer(item);\n });\n}\n\nexport function subResourceArrayDeserializer(result: Array<SubResource>): any[] {\n return result.map((item) => {\n return subResourceDeserializer(item);\n });\n}\n\n/** Accepted protocol schemes. */\nexport enum KnownFrontDoorProtocol {\n /** Http */\n Http = \"Http\",\n /** Https */\n Https = \"Https\",\n}\n\n/**\n * Accepted protocol schemes. \\\n * {@link KnownFrontDoorProtocol} can be used interchangeably with FrontDoorProtocol,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Http**: Http \\\n * **Https**: Https\n */\nexport type FrontDoorProtocol = string;\n\n/** Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' */\nexport enum KnownRoutingRuleEnabledState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled' \\\n * {@link KnownRoutingRuleEnabledState} can be used interchangeably with RoutingRuleEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type RoutingRuleEnabledState = string;\n\n/** Defines the Web Application Firewall policy for each routing rule (if applicable) */\nexport interface RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink {\n /** Resource ID. */\n id?: string;\n}\n\nexport function routingRuleUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item: RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink,\n): any {\n return { id: item[\"id\"] };\n}\n\nexport function routingRuleUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item: any,\n): RoutingRuleUpdateParametersWebApplicationFirewallPolicyLink {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Round-Robin load balancing settings for a backend pool */\nexport interface LoadBalancingSettingsUpdateParameters {\n /** The number of samples to consider for load balancing decisions */\n sampleSize?: number;\n /** The number of samples within the sample period that must succeed */\n successfulSamplesRequired?: number;\n /** The additional latency in milliseconds for probes to fall into the lowest latency bucket */\n additionalLatencyMilliseconds?: number;\n}\n\nexport function loadBalancingSettingsUpdateParametersSerializer(\n item: LoadBalancingSettingsUpdateParameters,\n): any {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n };\n}\n\nexport function loadBalancingSettingsUpdateParametersDeserializer(\n item: any,\n): LoadBalancingSettingsUpdateParameters {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n };\n}\n\n/** L7 health probe settings for a backend pool */\nexport interface HealthProbeSettingsUpdateParameters {\n /** The path to use for the health probe. Default is / */\n path?: string;\n /** Protocol scheme to use for this probe */\n protocol?: FrontDoorProtocol;\n /** The number of seconds between health probes. */\n intervalInSeconds?: number;\n /** Configures which HTTP method to use to probe the backends defined under backendPools. */\n healthProbeMethod?: FrontDoorHealthProbeMethod;\n /** Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. */\n enabledState?: HealthProbeEnabled;\n}\n\nexport function healthProbeSettingsUpdateParametersSerializer(\n item: HealthProbeSettingsUpdateParameters,\n): any {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function healthProbeSettingsUpdateParametersDeserializer(\n item: any,\n): HealthProbeSettingsUpdateParameters {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\n/** Configures which HTTP method to use to probe the backends defined under backendPools. */\nexport enum KnownFrontDoorHealthProbeMethod {\n /** GET */\n GET = \"GET\",\n /** HEAD */\n Head = \"HEAD\",\n}\n\n/**\n * Configures which HTTP method to use to probe the backends defined under backendPools. \\\n * {@link KnownFrontDoorHealthProbeMethod} can be used interchangeably with FrontDoorHealthProbeMethod,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **GET**: GET \\\n * **HEAD**: HEAD\n */\nexport type FrontDoorHealthProbeMethod = string;\n\n/** Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. */\nexport enum KnownHealthProbeEnabled {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. \\\n * {@link KnownHealthProbeEnabled} can be used interchangeably with HealthProbeEnabled,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type HealthProbeEnabled = string;\n\n/** A collection of backends that can be routed to. */\nexport interface BackendPoolUpdateParameters {\n /** The set of backends for this pool */\n backends?: Backend[];\n /** Load balancing settings for a backend pool */\n loadBalancingSettings?: SubResource;\n /** L7 health probe settings for a backend pool */\n healthProbeSettings?: SubResource;\n}\n\nexport function backendPoolUpdateParametersSerializer(item: BackendPoolUpdateParameters): any {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArraySerializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceSerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceSerializer(item[\"healthProbeSettings\"]),\n };\n}\n\nexport function backendPoolUpdateParametersDeserializer(item: any): BackendPoolUpdateParameters {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArrayDeserializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceDeserializer(item[\"healthProbeSettings\"]),\n };\n}\n\nexport function backendArraySerializer(result: Array<Backend>): any[] {\n return result.map((item) => {\n return backendSerializer(item);\n });\n}\n\nexport function backendArrayDeserializer(result: Array<Backend>): any[] {\n return result.map((item) => {\n return backendDeserializer(item);\n });\n}\n\n/** Backend address of a frontDoor load balancer. */\nexport interface Backend {\n /** Location of the backend (IP address or FQDN) */\n address?: string;\n /** The Alias of the Private Link resource. Populating this optional field indicates that this backend is 'Private' */\n privateLinkAlias?: string;\n /** The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private' */\n privateLinkResourceId?: string;\n /** The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated */\n privateLinkLocation?: string;\n /** The Approval status for the connection to the Private Link */\n readonly privateEndpointStatus?: PrivateEndpointStatus;\n /** A custom message to be included in the approval request to connect to the Private Link */\n privateLinkApprovalMessage?: string;\n /** The HTTP TCP port number. Must be between 1 and 65535. */\n httpPort?: number;\n /** The HTTPS TCP port number. Must be between 1 and 65535. */\n httpsPort?: number;\n /** Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled' */\n enabledState?: BackendEnabledState;\n /** Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy. */\n priority?: number;\n /** Weight of this endpoint for load balancing purposes. */\n weight?: number;\n /** The value to use as the host header sent to the backend. If blank or unspecified, this defaults to the incoming host. */\n backendHostHeader?: string;\n}\n\nexport function backendSerializer(item: Backend): any {\n return {\n address: item[\"address\"],\n privateLinkAlias: item[\"privateLinkAlias\"],\n privateLinkResourceId: item[\"privateLinkResourceId\"],\n privateLinkLocation: item[\"privateLinkLocation\"],\n privateLinkApprovalMessage: item[\"privateLinkApprovalMessage\"],\n httpPort: item[\"httpPort\"],\n httpsPort: item[\"httpsPort\"],\n enabledState: item[\"enabledState\"],\n priority: item[\"priority\"],\n weight: item[\"weight\"],\n backendHostHeader: item[\"backendHostHeader\"],\n };\n}\n\nexport function backendDeserializer(item: any): Backend {\n return {\n address: item[\"address\"],\n privateLinkAlias: item[\"privateLinkAlias\"],\n privateLinkResourceId: item[\"privateLinkResourceId\"],\n privateLinkLocation: item[\"privateLinkLocation\"],\n privateEndpointStatus: item[\"privateEndpointStatus\"],\n privateLinkApprovalMessage: item[\"privateLinkApprovalMessage\"],\n httpPort: item[\"httpPort\"],\n httpsPort: item[\"httpsPort\"],\n enabledState: item[\"enabledState\"],\n priority: item[\"priority\"],\n weight: item[\"weight\"],\n backendHostHeader: item[\"backendHostHeader\"],\n };\n}\n\n/** The Approval status for the connection to the Private Link */\nexport enum KnownPrivateEndpointStatus {\n /** Pending */\n Pending = \"Pending\",\n /** Approved */\n Approved = \"Approved\",\n /** Rejected */\n Rejected = \"Rejected\",\n /** Disconnected */\n Disconnected = \"Disconnected\",\n /** Timeout */\n Timeout = \"Timeout\",\n}\n\n/**\n * The Approval status for the connection to the Private Link \\\n * {@link KnownPrivateEndpointStatus} can be used interchangeably with PrivateEndpointStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Pending**: Pending \\\n * **Approved**: Approved \\\n * **Rejected**: Rejected \\\n * **Disconnected**: Disconnected \\\n * **Timeout**: Timeout\n */\nexport type PrivateEndpointStatus = string;\n\n/** Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled' */\nexport enum KnownBackendEnabledState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled' \\\n * {@link KnownBackendEnabledState} can be used interchangeably with BackendEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type BackendEnabledState = string;\n\n/** Frontend endpoint used in routing rule */\nexport interface FrontendEndpointUpdateParameters {\n /** The host name of the frontendEndpoint. Must be a domain name. */\n hostName?: string;\n /** Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled' */\n sessionAffinityEnabledState?: SessionAffinityEnabledState;\n /** UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if applicable. */\n sessionAffinityTtlSeconds?: number;\n /** Defines the Web Application Firewall policy for each host (if applicable) */\n webApplicationFirewallPolicyLink?: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink;\n}\n\nexport function frontendEndpointUpdateParametersSerializer(\n item: FrontendEndpointUpdateParameters,\n): any {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function frontendEndpointUpdateParametersDeserializer(\n item: any,\n): FrontendEndpointUpdateParameters {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\n/** Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled' */\nexport enum KnownSessionAffinityEnabledState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled' \\\n * {@link KnownSessionAffinityEnabledState} can be used interchangeably with SessionAffinityEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type SessionAffinityEnabledState = string;\n\n/** Defines the Web Application Firewall policy for each host (if applicable) */\nexport interface FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink {\n /** Resource ID. */\n id?: string;\n}\n\nexport function frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n): any {\n return { id: item[\"id\"] };\n}\n\nexport function frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item: any,\n): FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Common resource representation. */\nexport interface BasicResourceWithSettableIDName {\n /** Resource ID. */\n id?: string;\n /** Resource name. */\n name?: string;\n /** Resource type. */\n readonly type?: string;\n}\n\nexport function basicResourceWithSettableIDNameSerializer(\n item: BasicResourceWithSettableIDName,\n): any {\n return { id: item[\"id\"], name: item[\"name\"] };\n}\n\nexport function basicResourceWithSettableIDNameDeserializer(\n item: any,\n): BasicResourceWithSettableIDName {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n };\n}\n\n/** Common resource representation. */\nexport interface Resource {\n /** Resource ID. */\n readonly id?: string;\n /** Resource name. */\n readonly name?: string;\n /** Resource type. */\n readonly type?: string;\n /** Resource location. */\n location?: string;\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\nexport function resourceSerializer(item: Resource): any {\n return { location: item[\"location\"], tags: item[\"tags\"] };\n}\n\nexport function resourceDeserializer(item: any): Resource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message. */\nexport interface ErrorResponse {\n /** Error code. */\n readonly code?: string;\n /** Error message indicating why the operation failed. */\n readonly message?: string;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Paged collection of FrontDoor items */\nexport interface _FrontDoorListResult {\n /** The FrontDoor items on this page */\n readonly value: FrontDoor[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _frontDoorListResultDeserializer(item: any): _FrontDoorListResult {\n return {\n value: frontDoorArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function frontDoorArraySerializer(result: Array<FrontDoor>): any[] {\n return result.map((item) => {\n return frontDoorSerializer(item);\n });\n}\n\nexport function frontDoorArrayDeserializer(result: Array<FrontDoor>): any[] {\n return result.map((item) => {\n return frontDoorDeserializer(item);\n });\n}\n\n/** Input of the custom domain to be validated for DNS mapping. */\nexport interface ValidateCustomDomainInput {\n /** The host name of the custom domain. Must be a domain name. */\n hostName: string;\n}\n\nexport function validateCustomDomainInputSerializer(item: ValidateCustomDomainInput): any {\n return { hostName: item[\"hostName\"] };\n}\n\n/** Output of custom domain validation. */\nexport interface ValidateCustomDomainOutput {\n /** Indicates whether the custom domain is valid or not. */\n readonly customDomainValidated?: boolean;\n /** The reason why the custom domain is not valid. */\n readonly reason?: string;\n /** Error message describing why the custom domain is not valid. */\n readonly message?: string;\n}\n\nexport function validateCustomDomainOutputDeserializer(item: any): ValidateCustomDomainOutput {\n return {\n customDomainValidated: item[\"customDomainValidated\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** Paged collection of FrontendEndpoint items */\nexport interface _FrontendEndpointsListResult {\n /** The FrontendEndpoint items on this page */\n readonly value: FrontendEndpoint[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _frontendEndpointsListResultDeserializer(item: any): _FrontendEndpointsListResult {\n return {\n value: frontendEndpointArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** Paged collection of RulesEngine items */\nexport interface _RulesEngineListResult {\n /** The RulesEngine items on this page */\n readonly value: RulesEngine[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _rulesEngineListResultDeserializer(item: any): _RulesEngineListResult {\n return {\n value: rulesEngineArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** Defines the properties of an Experiment */\nexport interface Experiment extends Resource {\n /** The description of the details or intents of the Experiment */\n description?: string;\n /** The endpoint A of an experiment */\n endpointA?: Endpoint;\n /** The endpoint B of an experiment */\n endpointB?: Endpoint;\n /** The state of the Experiment */\n enabledState?: State;\n /** Resource status. */\n readonly resourceState?: NetworkExperimentResourceState;\n /** The description of Experiment status from the server side */\n readonly status?: string;\n /** The uri to the Script used in the Experiment */\n readonly scriptFileUri?: string;\n}\n\nexport function experimentSerializer(item: Experiment): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\n \"description\",\n \"endpointA\",\n \"endpointB\",\n \"enabledState\",\n ])\n ? undefined\n : _experimentPropertiesSerializer(item),\n };\n}\n\nexport function experimentDeserializer(item: any): Experiment {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _experimentPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Defines the properties of an experiment */\nexport interface ExperimentProperties {\n /** The description of the details or intents of the Experiment */\n description?: string;\n /** The endpoint A of an experiment */\n endpointA?: Endpoint;\n /** The endpoint B of an experiment */\n endpointB?: Endpoint;\n /** The state of the Experiment */\n enabledState?: State;\n /** Resource status. */\n readonly resourceState?: NetworkExperimentResourceState;\n /** The description of Experiment status from the server side */\n readonly status?: string;\n /** The uri to the Script used in the Experiment */\n readonly scriptFileUri?: string;\n}\n\nexport function experimentPropertiesSerializer(item: ExperimentProperties): any {\n return {\n description: item[\"description\"],\n endpointA: !item[\"endpointA\"] ? item[\"endpointA\"] : endpointSerializer(item[\"endpointA\"]),\n endpointB: !item[\"endpointB\"] ? item[\"endpointB\"] : endpointSerializer(item[\"endpointB\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function experimentPropertiesDeserializer(item: any): ExperimentProperties {\n return {\n description: item[\"description\"],\n endpointA: !item[\"endpointA\"] ? item[\"endpointA\"] : endpointDeserializer(item[\"endpointA\"]),\n endpointB: !item[\"endpointB\"] ? item[\"endpointB\"] : endpointDeserializer(item[\"endpointB\"]),\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n status: item[\"status\"],\n scriptFileUri: item[\"scriptFileUri\"],\n };\n}\n\n/** Defines the endpoint properties */\nexport interface Endpoint {\n /** The name of the endpoint */\n name?: string;\n /** The endpoint URL */\n endpoint?: string;\n}\n\nexport function endpointSerializer(item: Endpoint): any {\n return { name: item[\"name\"], endpoint: item[\"endpoint\"] };\n}\n\nexport function endpointDeserializer(item: any): Endpoint {\n return {\n name: item[\"name\"],\n endpoint: item[\"endpoint\"],\n };\n}\n\n/** The state of the Experiment */\nexport enum KnownState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * The state of the Experiment \\\n * {@link KnownState} can be used interchangeably with State,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type State = string;\n\n/** Defines the server side resource status */\nexport enum KnownNetworkExperimentResourceState {\n /** Creating */\n Creating = \"Creating\",\n /** Enabling */\n Enabling = \"Enabling\",\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabling */\n Disabling = \"Disabling\",\n /** Disabled */\n Disabled = \"Disabled\",\n /** Deleting */\n Deleting = \"Deleting\",\n}\n\n/**\n * Defines the server side resource status \\\n * {@link KnownNetworkExperimentResourceState} can be used interchangeably with NetworkExperimentResourceState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Creating**: Creating \\\n * **Enabling**: Enabling \\\n * **Enabled**: Enabled \\\n * **Disabling**: Disabling \\\n * **Disabled**: Disabled \\\n * **Deleting**: Deleting\n */\nexport type NetworkExperimentResourceState = string;\n\n/** Defines modifiable attributes of an Experiment */\nexport interface ExperimentUpdateModel {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The description of the intent or details of the Experiment */\n description?: string;\n /** The state of the Experiment */\n enabledState?: State;\n}\n\nexport function experimentUpdateModelSerializer(item: ExperimentUpdateModel): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"description\", \"enabledState\"])\n ? undefined\n : _experimentUpdateModelPropertiesSerializer(item),\n };\n}\n\n/** Defines the properties of an experiment */\nexport interface ExperimentUpdateProperties {\n /** The description of the intent or details of the Experiment */\n description?: string;\n /** The state of the Experiment */\n enabledState?: State;\n}\n\nexport function experimentUpdatePropertiesSerializer(item: ExperimentUpdateProperties): any {\n return { description: item[\"description\"], enabledState: item[\"enabledState\"] };\n}\n\n/** Defines a list of Experiments. It contains a list of Experiment objects and a URL link to get the next set of results. */\nexport interface _ExperimentList {\n /** The Experiment items on this page */\n readonly value: Experiment[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _experimentListDeserializer(item: any): _ExperimentList {\n return {\n value: experimentArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function experimentArraySerializer(result: Array<Experiment>): any[] {\n return result.map((item) => {\n return experimentSerializer(item);\n });\n}\n\nexport function experimentArrayDeserializer(result: Array<Experiment>): any[] {\n return result.map((item) => {\n return experimentDeserializer(item);\n });\n}\n\n/** Defines web application firewall policy. */\nexport interface WebApplicationFirewallPolicy extends Resource {\n /** Gets a unique read-only string that changes whenever the resource is updated. */\n etag?: string;\n /** The pricing tier of web application firewall policy. Defaults to Classic_AzureFrontDoor if not specified. */\n sku?: Sku;\n /** Describes settings for the policy. */\n policySettings?: PolicySettings;\n /** Describes custom rules inside the policy. */\n customRules?: CustomRuleList;\n /** Describes managed rules inside the policy. */\n managedRules?: ManagedRuleSetList;\n /** Describes Frontend Endpoints associated with this Web Application Firewall policy. */\n readonly frontendEndpointLinks?: FrontendEndpointLink[];\n /** Describes Routing Rules associated with this Web Application Firewall policy. */\n readonly routingRuleLinks?: RoutingRuleLink[];\n /** Describes Security Policy associated with this Web Application Firewall policy. */\n readonly securityPolicyLinks?: SecurityPolicyLink[];\n /** Provisioning state of the policy. */\n readonly provisioningState?: string;\n /** Resource status of the policy. */\n readonly resourceState?: PolicyResourceState;\n}\n\nexport function webApplicationFirewallPolicySerializer(item: WebApplicationFirewallPolicy): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"policySettings\", \"customRules\", \"managedRules\"])\n ? undefined\n : _webApplicationFirewallPolicyPropertiesSerializer(item),\n etag: item[\"etag\"],\n sku: !item[\"sku\"] ? item[\"sku\"] : skuSerializer(item[\"sku\"]),\n };\n}\n\nexport function webApplicationFirewallPolicyDeserializer(item: any): WebApplicationFirewallPolicy {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _webApplicationFirewallPolicyPropertiesDeserializer(item[\"properties\"])),\n etag: item[\"etag\"],\n sku: !item[\"sku\"] ? item[\"sku\"] : skuDeserializer(item[\"sku\"]),\n };\n}\n\n/** Defines web application firewall policy properties. */\nexport interface WebApplicationFirewallPolicyProperties {\n /** Describes settings for the policy. */\n policySettings?: PolicySettings;\n /** Describes custom rules inside the policy. */\n customRules?: CustomRuleList;\n /** Describes managed rules inside the policy. */\n managedRules?: ManagedRuleSetList;\n /** Describes Frontend Endpoints associated with this Web Application Firewall policy. */\n readonly frontendEndpointLinks?: FrontendEndpointLink[];\n /** Describes Routing Rules associated with this Web Application Firewall policy. */\n readonly routingRuleLinks?: RoutingRuleLink[];\n /** Describes Security Policy associated with this Web Application Firewall policy. */\n readonly securityPolicyLinks?: SecurityPolicyLink[];\n /** Provisioning state of the policy. */\n readonly provisioningState?: string;\n /** Resource status of the policy. */\n readonly resourceState?: PolicyResourceState;\n}\n\nexport function webApplicationFirewallPolicyPropertiesSerializer(\n item: WebApplicationFirewallPolicyProperties,\n): any {\n return {\n policySettings: !item[\"policySettings\"]\n ? item[\"policySettings\"]\n : policySettingsSerializer(item[\"policySettings\"]),\n customRules: !item[\"customRules\"]\n ? item[\"customRules\"]\n : customRuleListSerializer(item[\"customRules\"]),\n managedRules: !item[\"managedRules\"]\n ? item[\"managedRules\"]\n : managedRuleSetListSerializer(item[\"managedRules\"]),\n };\n}\n\nexport function webApplicationFirewallPolicyPropertiesDeserializer(\n item: any,\n): WebApplicationFirewallPolicyProperties {\n return {\n policySettings: !item[\"policySettings\"]\n ? item[\"policySettings\"]\n : policySettingsDeserializer(item[\"policySettings\"]),\n customRules: !item[\"customRules\"]\n ? item[\"customRules\"]\n : customRuleListDeserializer(item[\"customRules\"]),\n managedRules: !item[\"managedRules\"]\n ? item[\"managedRules\"]\n : managedRuleSetListDeserializer(item[\"managedRules\"]),\n frontendEndpointLinks: !item[\"frontendEndpointLinks\"]\n ? item[\"frontendEndpointLinks\"]\n : frontendEndpointLinkArrayDeserializer(item[\"frontendEndpointLinks\"]),\n routingRuleLinks: !item[\"routingRuleLinks\"]\n ? item[\"routingRuleLinks\"]\n : routingRuleLinkArrayDeserializer(item[\"routingRuleLinks\"]),\n securityPolicyLinks: !item[\"securityPolicyLinks\"]\n ? item[\"securityPolicyLinks\"]\n : securityPolicyLinkArrayDeserializer(item[\"securityPolicyLinks\"]),\n provisioningState: item[\"provisioningState\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\n/** Defines top-level WebApplicationFirewallPolicy configuration settings. */\nexport interface PolicySettings {\n /** Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. */\n enabledState?: PolicyEnabledState;\n /** Describes if it is in detection mode or prevention mode at policy level. */\n mode?: PolicyMode;\n /** If action type is redirect, this field represents redirect URL for the client. */\n redirectUrl?: string;\n /** If the action type is block, customer can override the response status code. */\n customBlockResponseStatusCode?: number;\n /** If the action type is block, customer can override the response body. The body must be specified in base64 encoding. */\n customBlockResponseBody?: string;\n /** Describes if policy managed rules will inspect the request body content. */\n requestBodyCheck?: PolicyRequestBodyCheck;\n /** Defines the JavaScript challenge cookie validity lifetime in minutes. This setting is only applicable to Premium_AzureFrontDoor. Value must be an integer between 5 and 1440 with the default value being 30. */\n javascriptChallengeExpirationInMinutes?: number;\n /** Defines the Captcha cookie validity lifetime in minutes. This setting is only applicable to Premium_AzureFrontDoor. Value must be an integer between 5 and 1440 with the default value being 30. */\n captchaExpirationInMinutes?: number;\n /** State of the log scrubbing config. Default value is Enabled. */\n state?: WebApplicationFirewallScrubbingState;\n /** List of log scrubbing rules applied to the Web Application Firewall logs. */\n scrubbingRules?: WebApplicationFirewallScrubbingRules[];\n}\n\nexport function policySettingsSerializer(item: PolicySettings): any {\n return {\n enabledState: item[\"enabledState\"],\n mode: item[\"mode\"],\n redirectUrl: item[\"redirectUrl\"],\n customBlockResponseStatusCode: item[\"customBlockResponseStatusCode\"],\n customBlockResponseBody: item[\"customBlockResponseBody\"],\n requestBodyCheck: item[\"requestBodyCheck\"],\n javascriptChallengeExpirationInMinutes: item[\"javascriptChallengeExpirationInMinutes\"],\n captchaExpirationInMinutes: item[\"captchaExpirationInMinutes\"],\n logScrubbing: areAllPropsUndefined(item, [\"state\", \"scrubbingRules\"])\n ? undefined\n : _policySettingsLogScrubbingSerializer(item),\n };\n}\n\nexport function policySettingsDeserializer(item: any): PolicySettings {\n return {\n enabledState: item[\"enabledState\"],\n mode: item[\"mode\"],\n redirectUrl: item[\"redirectUrl\"],\n customBlockResponseStatusCode: item[\"customBlockResponseStatusCode\"],\n customBlockResponseBody: item[\"customBlockResponseBody\"],\n requestBodyCheck: item[\"requestBodyCheck\"],\n javascriptChallengeExpirationInMinutes: item[\"javascriptChallengeExpirationInMinutes\"],\n captchaExpirationInMinutes: item[\"captchaExpirationInMinutes\"],\n ...(!item[\"logScrubbing\"]\n ? item[\"logScrubbing\"]\n : _policySettingsLogScrubbingDeserializer(item[\"logScrubbing\"])),\n };\n}\n\n/** Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. */\nexport enum KnownPolicyEnabledState {\n /** Disabled */\n Disabled = \"Disabled\",\n /** Enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. \\\n * {@link KnownPolicyEnabledState} can be used interchangeably with PolicyEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Disabled \\\n * **Enabled**: Enabled\n */\nexport type PolicyEnabledState = string;\n\n/** Describes if it is in detection mode or prevention mode at policy level. */\nexport enum KnownPolicyMode {\n /** Prevention */\n Prevention = \"Prevention\",\n /** Detection */\n Detection = \"Detection\",\n}\n\n/**\n * Describes if it is in detection mode or prevention mode at policy level. \\\n * {@link KnownPolicyMode} can be used interchangeably with PolicyMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Prevention**: Prevention \\\n * **Detection**: Detection\n */\nexport type PolicyMode = string;\n\n/** Describes if policy managed rules will inspect the request body content. */\nexport enum KnownPolicyRequestBodyCheck {\n /** Disabled */\n Disabled = \"Disabled\",\n /** Enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describes if policy managed rules will inspect the request body content. \\\n * {@link KnownPolicyRequestBodyCheck} can be used interchangeably with PolicyRequestBodyCheck,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Disabled \\\n * **Enabled**: Enabled\n */\nexport type PolicyRequestBodyCheck = string;\n\n/** Defines rules that scrub sensitive fields in the Web Application Firewall logs. */\nexport interface PolicySettingsLogScrubbing {\n /** State of the log scrubbing config. Default value is Enabled. */\n state?: WebApplicationFirewallScrubbingState;\n /** List of log scrubbing rules applied to the Web Application Firewall logs. */\n scrubbingRules?: WebApplicationFirewallScrubbingRules[];\n}\n\nexport function policySettingsLogScrubbingSerializer(item: PolicySettingsLogScrubbing): any {\n return {\n state: item[\"state\"],\n scrubbingRules: !item[\"scrubbingRules\"]\n ? item[\"scrubbingRules\"]\n : webApplicationFirewallScrubbingRulesArraySerializer(item[\"scrubbingRules\"]),\n };\n}\n\nexport function policySettingsLogScrubbingDeserializer(item: any): PolicySettingsLogScrubbing {\n return {\n state: item[\"state\"],\n scrubbingRules: !item[\"scrubbingRules\"]\n ? item[\"scrubbingRules\"]\n : webApplicationFirewallScrubbingRulesArrayDeserializer(item[\"scrubbingRules\"]),\n };\n}\n\n/** State of the log scrubbing config. Default value is Enabled. */\nexport enum KnownWebApplicationFirewallScrubbingState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * State of the log scrubbing config. Default value is Enabled. \\\n * {@link KnownWebApplicationFirewallScrubbingState} can be used interchangeably with WebApplicationFirewallScrubbingState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type WebApplicationFirewallScrubbingState = string;\n\nexport function webApplicationFirewallScrubbingRulesArraySerializer(\n result: Array<WebApplicationFirewallScrubbingRules>,\n): any[] {\n return result.map((item) => {\n return webApplicationFirewallScrubbingRulesSerializer(item);\n });\n}\n\nexport function webApplicationFirewallScrubbingRulesArrayDeserializer(\n result: Array<WebApplicationFirewallScrubbingRules>,\n): any[] {\n return result.map((item) => {\n return webApplicationFirewallScrubbingRulesDeserializer(item);\n });\n}\n\n/** Defines the contents of the log scrubbing rules. */\nexport interface WebApplicationFirewallScrubbingRules {\n /** The variable to be scrubbed from the logs. */\n matchVariable: ScrubbingRuleEntryMatchVariable;\n /** When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to. */\n selectorMatchOperator: ScrubbingRuleEntryMatchOperator;\n /** When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to. */\n selector?: string;\n /** Defines the state of a log scrubbing rule. Default value is enabled. */\n state?: ScrubbingRuleEntryState;\n}\n\nexport function webApplicationFirewallScrubbingRulesSerializer(\n item: WebApplicationFirewallScrubbingRules,\n): any {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n state: item[\"state\"],\n };\n}\n\nexport function webApplicationFirewallScrubbingRulesDeserializer(\n item: any,\n): WebApplicationFirewallScrubbingRules {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n state: item[\"state\"],\n };\n}\n\n/** The variable to be scrubbed from the logs. */\nexport enum KnownScrubbingRuleEntryMatchVariable {\n /** RequestIPAddress */\n RequestIPAddress = \"RequestIPAddress\",\n /** RequestUri */\n RequestUri = \"RequestUri\",\n /** QueryStringArgNames */\n QueryStringArgNames = \"QueryStringArgNames\",\n /** RequestHeaderNames */\n RequestHeaderNames = \"RequestHeaderNames\",\n /** RequestCookieNames */\n RequestCookieNames = \"RequestCookieNames\",\n /** RequestBodyPostArgNames */\n RequestBodyPostArgNames = \"RequestBodyPostArgNames\",\n /** RequestBodyJsonArgNames */\n RequestBodyJsonArgNames = \"RequestBodyJsonArgNames\",\n}\n\n/**\n * The variable to be scrubbed from the logs. \\\n * {@link KnownScrubbingRuleEntryMatchVariable} can be used interchangeably with ScrubbingRuleEntryMatchVariable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **RequestIPAddress**: RequestIPAddress \\\n * **RequestUri**: RequestUri \\\n * **QueryStringArgNames**: QueryStringArgNames \\\n * **RequestHeaderNames**: RequestHeaderNames \\\n * **RequestCookieNames**: RequestCookieNames \\\n * **RequestBodyPostArgNames**: RequestBodyPostArgNames \\\n * **RequestBodyJsonArgNames**: RequestBodyJsonArgNames\n */\nexport type ScrubbingRuleEntryMatchVariable = string;\n\n/** When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to. */\nexport enum KnownScrubbingRuleEntryMatchOperator {\n /** EqualsAny */\n EqualsAny = \"EqualsAny\",\n /** Equals */\n Equals = \"Equals\",\n}\n\n/**\n * When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to. \\\n * {@link KnownScrubbingRuleEntryMatchOperator} can be used interchangeably with ScrubbingRuleEntryMatchOperator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **EqualsAny**: EqualsAny \\\n * **Equals**: Equals\n */\nexport type ScrubbingRuleEntryMatchOperator = string;\n\n/** Defines the state of a log scrubbing rule. Default value is enabled. */\nexport enum KnownScrubbingRuleEntryState {\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Defines the state of a log scrubbing rule. Default value is enabled. \\\n * {@link KnownScrubbingRuleEntryState} can be used interchangeably with ScrubbingRuleEntryState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Enabled \\\n * **Disabled**: Disabled\n */\nexport type ScrubbingRuleEntryState = string;\n\n/** Defines contents of custom rules */\nexport interface CustomRuleList {\n /** List of rules */\n rules?: CustomRule[];\n}\n\nexport function customRuleListSerializer(item: CustomRuleList): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : customRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function customRuleListDeserializer(item: any): CustomRuleList {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : customRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function customRuleArraySerializer(result: Array<CustomRule>): any[] {\n return result.map((item) => {\n return customRuleSerializer(item);\n });\n}\n\nexport function customRuleArrayDeserializer(result: Array<CustomRule>): any[] {\n return result.map((item) => {\n return customRuleDeserializer(item);\n });\n}\n\n/** Defines contents of a web application rule */\nexport interface CustomRule {\n /** Describes the name of the rule. */\n name?: string;\n /** Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. */\n priority: number;\n /** Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified. */\n enabledState?: CustomRuleEnabledState;\n /** Describes type of rule. */\n ruleType: RuleType;\n /** Time window for resetting the rate limit count. Default is 1 minute. */\n rateLimitDurationInMinutes?: number;\n /** Number of allowed requests per client within the time window. */\n rateLimitThreshold?: number;\n /** Describes the list of variables to group the rate limit requests */\n groupBy?: GroupByVariable[];\n /** List of match conditions. */\n matchConditions: MatchCondition[];\n /** Describes what action to be applied when rule matches. */\n action: ActionType;\n}\n\nexport function customRuleSerializer(item: CustomRule): any {\n return {\n name: item[\"name\"],\n priority: item[\"priority\"],\n enabledState: item[\"enabledState\"],\n ruleType: item[\"ruleType\"],\n rateLimitDurationInMinutes: item[\"rateLimitDurationInMinutes\"],\n rateLimitThreshold: item[\"rateLimitThreshold\"],\n groupBy: !item[\"groupBy\"] ? item[\"groupBy\"] : groupByVariableArraySerializer(item[\"groupBy\"]),\n matchConditions: matchConditionArraySerializer(item[\"matchConditions\"]),\n action: item[\"action\"],\n };\n}\n\nexport function customRuleDeserializer(item: any): CustomRule {\n return {\n name: item[\"name\"],\n priority: item[\"priority\"],\n enabledState: item[\"enabledState\"],\n ruleType: item[\"ruleType\"],\n rateLimitDurationInMinutes: item[\"rateLimitDurationInMinutes\"],\n rateLimitThreshold: item[\"rateLimitThreshold\"],\n groupBy: !item[\"groupBy\"] ? item[\"groupBy\"] : groupByVariableArrayDeserializer(item[\"groupBy\"]),\n matchConditions: matchConditionArrayDeserializer(item[\"matchConditions\"]),\n action: item[\"action\"],\n };\n}\n\n/** Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified. */\nexport enum KnownCustomRuleEnabledState {\n /** Disabled */\n Disabled = \"Disabled\",\n /** Enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified. \\\n * {@link KnownCustomRuleEnabledState} can be used interchangeably with CustomRuleEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Disabled \\\n * **Enabled**: Enabled\n */\nexport type CustomRuleEnabledState = string;\n\n/** Describes type of rule. */\nexport enum KnownRuleType {\n /** MatchRule */\n MatchRule = \"MatchRule\",\n /** RateLimitRule */\n RateLimitRule = \"RateLimitRule\",\n}\n\n/**\n * Describes type of rule. \\\n * {@link KnownRuleType} can be used interchangeably with RuleType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **MatchRule**: MatchRule \\\n * **RateLimitRule**: RateLimitRule\n */\nexport type RuleType = string;\n\nexport function groupByVariableArraySerializer(result: Array<GroupByVariable>): any[] {\n return result.map((item) => {\n return groupByVariableSerializer(item);\n });\n}\n\nexport function groupByVariableArrayDeserializer(result: Array<GroupByVariable>): any[] {\n return result.map((item) => {\n return groupByVariableDeserializer(item);\n });\n}\n\n/** Describes the variables available to group the rate limit requests */\nexport interface GroupByVariable {\n /** Describes the supported variable for group by */\n variableName: VariableName;\n}\n\nexport function groupByVariableSerializer(item: GroupByVariable): any {\n return { variableName: item[\"variableName\"] };\n}\n\nexport function groupByVariableDeserializer(item: any): GroupByVariable {\n return {\n variableName: item[\"variableName\"],\n };\n}\n\n/** Describes the supported variable for group by */\nexport enum KnownVariableName {\n /** SocketAddr */\n SocketAddr = \"SocketAddr\",\n /** GeoLocation */\n GeoLocation = \"GeoLocation\",\n /** None */\n None = \"None\",\n}\n\n/**\n * Describes the supported variable for group by \\\n * {@link KnownVariableName} can be used interchangeably with VariableName,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SocketAddr**: SocketAddr \\\n * **GeoLocation**: GeoLocation \\\n * **None**: None\n */\nexport type VariableName = string;\n\nexport function matchConditionArraySerializer(result: Array<MatchCondition>): any[] {\n return result.map((item) => {\n return matchConditionSerializer(item);\n });\n}\n\nexport function matchConditionArrayDeserializer(result: Array<MatchCondition>): any[] {\n return result.map((item) => {\n return matchConditionDeserializer(item);\n });\n}\n\n/** Define a match condition. */\nexport interface MatchCondition {\n /** Request variable to compare with. */\n matchVariable: MatchVariable;\n /** Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null. */\n selector?: string;\n /** Comparison type to use for matching with the variable value. */\n operator: Operator;\n /** Describes if the result of this condition should be negated. */\n negateCondition?: boolean;\n /** List of possible match values. */\n matchValue: string[];\n /** List of transforms. */\n transforms?: TransformType[];\n}\n\nexport function matchConditionSerializer(item: MatchCondition): any {\n return {\n matchVariable: item[\"matchVariable\"],\n selector: item[\"selector\"],\n operator: item[\"operator\"],\n negateCondition: item[\"negateCondition\"],\n matchValue: item[\"matchValue\"].map((p: any) => {\n return p;\n }),\n transforms: !item[\"transforms\"]\n ? item[\"transforms\"]\n : item[\"transforms\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function matchConditionDeserializer(item: any): MatchCondition {\n return {\n matchVariable: item[\"matchVariable\"],\n selector: item[\"selector\"],\n operator: item[\"operator\"],\n negateCondition: item[\"negateCondition\"],\n matchValue: item[\"matchValue\"].map((p: any) => {\n return p;\n }),\n transforms: !item[\"transforms\"]\n ? item[\"transforms\"]\n : item[\"transforms\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Request variable to compare with. */\nexport enum KnownMatchVariable {\n /** RemoteAddr */\n RemoteAddr = \"RemoteAddr\",\n /** RequestMethod */\n RequestMethod = \"RequestMethod\",\n /** QueryString */\n QueryString = \"QueryString\",\n /** PostArgs */\n PostArgs = \"PostArgs\",\n /** RequestUri */\n RequestUri = \"RequestUri\",\n /** RequestHeader */\n RequestHeader = \"RequestHeader\",\n /** RequestBody */\n RequestBody = \"RequestBody\",\n /** Cookies */\n Cookies = \"Cookies\",\n /** SocketAddr */\n SocketAddr = \"SocketAddr\",\n /** JA4 Match Variable */\n JA4 = \"JA4\",\n}\n\n/**\n * Request variable to compare with. \\\n * {@link KnownMatchVariable} can be used interchangeably with MatchVariable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **RemoteAddr**: RemoteAddr \\\n * **RequestMethod**: RequestMethod \\\n * **QueryString**: QueryString \\\n * **PostArgs**: PostArgs \\\n * **RequestUri**: RequestUri \\\n * **RequestHeader**: RequestHeader \\\n * **RequestBody**: RequestBody \\\n * **Cookies**: Cookies \\\n * **SocketAddr**: SocketAddr \\\n * **JA4**: JA4 Match Variable\n */\nexport type MatchVariable = string;\n\n/** Comparison type to use for matching with the variable value. */\nexport enum KnownOperator {\n /** Any */\n Any = \"Any\",\n /** IPMatch */\n IPMatch = \"IPMatch\",\n /** GeoMatch */\n GeoMatch = \"GeoMatch\",\n /** Equal */\n Equal = \"Equal\",\n /** Contains */\n Contains = \"Contains\",\n /** LessThan */\n LessThan = \"LessThan\",\n /** GreaterThan */\n GreaterThan = \"GreaterThan\",\n /** LessThanOrEqual */\n LessThanOrEqual = \"LessThanOrEqual\",\n /** GreaterThanOrEqual */\n GreaterThanOrEqual = \"GreaterThanOrEqual\",\n /** BeginsWith */\n BeginsWith = \"BeginsWith\",\n /** EndsWith */\n EndsWith = \"EndsWith\",\n /** RegEx */\n RegEx = \"RegEx\",\n /** ServiceTagMatch */\n ServiceTagMatch = \"ServiceTagMatch\",\n /** Autonomous System Number Match Operator */\n AsnMatch = \"AsnMatch\",\n /** Client Finger print Operator */\n ClientFingerprint = \"ClientFingerprint\",\n}\n\n/**\n * Comparison type to use for matching with the variable value. \\\n * {@link KnownOperator} can be used interchangeably with Operator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Any**: Any \\\n * **IPMatch**: IPMatch \\\n * **GeoMatch**: GeoMatch \\\n * **Equal**: Equal \\\n * **Contains**: Contains \\\n * **LessThan**: LessThan \\\n * **GreaterThan**: GreaterThan \\\n * **LessThanOrEqual**: LessThanOrEqual \\\n * **GreaterThanOrEqual**: GreaterThanOrEqual \\\n * **BeginsWith**: BeginsWith \\\n * **EndsWith**: EndsWith \\\n * **RegEx**: RegEx \\\n * **ServiceTagMatch**: ServiceTagMatch \\\n * **AsnMatch**: Autonomous System Number Match Operator \\\n * **ClientFingerprint**: Client Finger print Operator\n */\nexport type Operator = string;\n\n/** Describes what transforms applied before matching. */\nexport enum KnownTransformType {\n /** Lowercase */\n Lowercase = \"Lowercase\",\n /** Uppercase */\n Uppercase = \"Uppercase\",\n /** Trim */\n Trim = \"Trim\",\n /** UrlDecode */\n UrlDecode = \"UrlDecode\",\n /** UrlEncode */\n UrlEncode = \"UrlEncode\",\n /** RemoveNulls */\n RemoveNulls = \"RemoveNulls\",\n}\n\n/**\n * Describes what transforms applied before matching. \\\n * {@link KnownTransformType} can be used interchangeably with TransformType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Lowercase**: Lowercase \\\n * **Uppercase**: Uppercase \\\n * **Trim**: Trim \\\n * **UrlDecode**: UrlDecode \\\n * **UrlEncode**: UrlEncode \\\n * **RemoveNulls**: RemoveNulls\n */\nexport type TransformType = string;\n\n/** Defines the action to take on rule match. */\nexport enum KnownActionType {\n /** Allow */\n Allow = \"Allow\",\n /** Block */\n Block = \"Block\",\n /** Log */\n Log = \"Log\",\n /** Redirect */\n Redirect = \"Redirect\",\n /** AnomalyScoring */\n AnomalyScoring = \"AnomalyScoring\",\n /** JSChallenge */\n JSChallenge = \"JSChallenge\",\n /** CAPTCHA */\n Captcha = \"CAPTCHA\",\n}\n\n/**\n * Defines the action to take on rule match. \\\n * {@link KnownActionType} can be used interchangeably with ActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Allow**: Allow \\\n * **Block**: Block \\\n * **Log**: Log \\\n * **Redirect**: Redirect \\\n * **AnomalyScoring**: AnomalyScoring \\\n * **JSChallenge**: JSChallenge \\\n * **CAPTCHA**: CAPTCHA\n */\nexport type ActionType = string;\n\n/** Defines the list of managed rule sets for the policy. */\nexport interface ManagedRuleSetList {\n /** List of rule sets. */\n managedRuleSets?: ManagedRuleSet[];\n /** List of exceptions applied on the managed rule sets. */\n exceptionsList?: ManagedRuleSetExceptionList;\n}\n\nexport function managedRuleSetListSerializer(item: ManagedRuleSetList): any {\n return {\n managedRuleSets: !item[\"managedRuleSets\"]\n ? item[\"managedRuleSets\"]\n : managedRuleSetArraySerializer(item[\"managedRuleSets\"]),\n exceptionsList: !item[\"exceptionsList\"]\n ? item[\"exceptionsList\"]\n : managedRuleSetExceptionListSerializer(item[\"exceptionsList\"]),\n };\n}\n\nexport function managedRuleSetListDeserializer(item: any): ManagedRuleSetList {\n return {\n managedRuleSets: !item[\"managedRuleSets\"]\n ? item[\"managedRuleSets\"]\n : managedRuleSetArrayDeserializer(item[\"managedRuleSets\"]),\n exceptionsList: !item[\"exceptionsList\"]\n ? item[\"exceptionsList\"]\n : managedRuleSetExceptionListDeserializer(item[\"exceptionsList\"]),\n };\n}\n\nexport function managedRuleSetArraySerializer(result: Array<ManagedRuleSet>): any[] {\n return result.map((item) => {\n return managedRuleSetSerializer(item);\n });\n}\n\nexport function managedRuleSetArrayDeserializer(result: Array<ManagedRuleSet>): any[] {\n return result.map((item) => {\n return managedRuleSetDeserializer(item);\n });\n}\n\n/** Defines a managed rule set. */\nexport interface ManagedRuleSet {\n /** Defines the rule set type to use. */\n ruleSetType: string;\n /** Defines the version of the rule set to use. */\n ruleSetVersion: string;\n /** Defines the rule set action. */\n ruleSetAction?: ManagedRuleSetActionType;\n /** Describes the exclusions that are applied to all rules in the set. */\n exclusions?: ManagedRuleExclusion[];\n /** Defines the rule group overrides to apply to the rule set. */\n ruleGroupOverrides?: ManagedRuleGroupOverride[];\n}\n\nexport function managedRuleSetSerializer(item: ManagedRuleSet): any {\n return {\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleSetAction: item[\"ruleSetAction\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArraySerializer(item[\"exclusions\"]),\n ruleGroupOverrides: !item[\"ruleGroupOverrides\"]\n ? item[\"ruleGroupOverrides\"]\n : managedRuleGroupOverrideArraySerializer(item[\"ruleGroupOverrides\"]),\n };\n}\n\nexport function managedRuleSetDeserializer(item: any): ManagedRuleSet {\n return {\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleSetAction: item[\"ruleSetAction\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArrayDeserializer(item[\"exclusions\"]),\n ruleGroupOverrides: !item[\"ruleGroupOverrides\"]\n ? item[\"ruleGroupOverrides\"]\n : managedRuleGroupOverrideArrayDeserializer(item[\"ruleGroupOverrides\"]),\n };\n}\n\n/** Defines the action to take when a managed rule set score threshold is met. */\nexport enum KnownManagedRuleSetActionType {\n /** Block */\n Block = \"Block\",\n /** Log */\n Log = \"Log\",\n /** Redirect */\n Redirect = \"Redirect\",\n}\n\n/**\n * Defines the action to take when a managed rule set score threshold is met. \\\n * {@link KnownManagedRuleSetActionType} can be used interchangeably with ManagedRuleSetActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Block**: Block \\\n * **Log**: Log \\\n * **Redirect**: Redirect\n */\nexport type ManagedRuleSetActionType = string;\n\nexport function managedRuleExclusionArraySerializer(result: Array<ManagedRuleExclusion>): any[] {\n return result.map((item) => {\n return managedRuleExclusionSerializer(item);\n });\n}\n\nexport function managedRuleExclusionArrayDeserializer(result: Array<ManagedRuleExclusion>): any[] {\n return result.map((item) => {\n return managedRuleExclusionDeserializer(item);\n });\n}\n\n/** Exclude variables from managed rule evaluation. */\nexport interface ManagedRuleExclusion {\n /** The variable type to be excluded. */\n matchVariable: ManagedRuleExclusionMatchVariable;\n /** Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. */\n selectorMatchOperator: ManagedRuleExclusionSelectorMatchOperator;\n /** Selector value for which elements in the collection this exclusion applies to. */\n selector: string;\n}\n\nexport function managedRuleExclusionSerializer(item: ManagedRuleExclusion): any {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n };\n}\n\nexport function managedRuleExclusionDeserializer(item: any): ManagedRuleExclusion {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n };\n}\n\n/** The variable type to be excluded. */\nexport enum KnownManagedRuleExclusionMatchVariable {\n /** RequestHeaderNames */\n RequestHeaderNames = \"RequestHeaderNames\",\n /** RequestCookieNames */\n RequestCookieNames = \"RequestCookieNames\",\n /** QueryStringArgNames */\n QueryStringArgNames = \"QueryStringArgNames\",\n /** RequestBodyPostArgNames */\n RequestBodyPostArgNames = \"RequestBodyPostArgNames\",\n /** RequestBodyJsonArgNames */\n RequestBodyJsonArgNames = \"RequestBodyJsonArgNames\",\n}\n\n/**\n * The variable type to be excluded. \\\n * {@link KnownManagedRuleExclusionMatchVariable} can be used interchangeably with ManagedRuleExclusionMatchVariable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **RequestHeaderNames**: RequestHeaderNames \\\n * **RequestCookieNames**: RequestCookieNames \\\n * **QueryStringArgNames**: QueryStringArgNames \\\n * **RequestBodyPostArgNames**: RequestBodyPostArgNames \\\n * **RequestBodyJsonArgNames**: RequestBodyJsonArgNames\n */\nexport type ManagedRuleExclusionMatchVariable = string;\n\n/** Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. */\nexport enum KnownManagedRuleExclusionSelectorMatchOperator {\n /** Equals */\n Equals = \"Equals\",\n /** Contains */\n Contains = \"Contains\",\n /** StartsWith */\n StartsWith = \"StartsWith\",\n /** EndsWith */\n EndsWith = \"EndsWith\",\n /** EqualsAny */\n EqualsAny = \"EqualsAny\",\n}\n\n/**\n * Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. \\\n * {@link KnownManagedRuleExclusionSelectorMatchOperator} can be used interchangeably with ManagedRuleExclusionSelectorMatchOperator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Equals**: Equals \\\n * **Contains**: Contains \\\n * **StartsWith**: StartsWith \\\n * **EndsWith**: EndsWith \\\n * **EqualsAny**: EqualsAny\n */\nexport type ManagedRuleExclusionSelectorMatchOperator = string;\n\nexport function managedRuleGroupOverrideArraySerializer(\n result: Array<ManagedRuleGroupOverride>,\n): any[] {\n return result.map((item) => {\n return managedRuleGroupOverrideSerializer(item);\n });\n}\n\nexport function managedRuleGroupOverrideArrayDeserializer(\n result: Array<ManagedRuleGroupOverride>,\n): any[] {\n return result.map((item) => {\n return managedRuleGroupOverrideDeserializer(item);\n });\n}\n\n/** Defines a managed rule group override setting. */\nexport interface ManagedRuleGroupOverride {\n /** Describes the managed rule group to override. */\n ruleGroupName: string;\n /** Describes the exclusions that are applied to all rules in the group. */\n exclusions?: ManagedRuleExclusion[];\n /** List of rules that will be disabled. If none specified, all rules in the group will be disabled. */\n rules?: ManagedRuleOverride[];\n}\n\nexport function managedRuleGroupOverrideSerializer(item: ManagedRuleGroupOverride): any {\n return {\n ruleGroupName: item[\"ruleGroupName\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArraySerializer(item[\"exclusions\"]),\n rules: !item[\"rules\"] ? item[\"rules\"] : managedRuleOverrideArraySerializer(item[\"rules\"]),\n };\n}\n\nexport function managedRuleGroupOverrideDeserializer(item: any): ManagedRuleGroupOverride {\n return {\n ruleGroupName: item[\"ruleGroupName\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArrayDeserializer(item[\"exclusions\"]),\n rules: !item[\"rules\"] ? item[\"rules\"] : managedRuleOverrideArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function managedRuleOverrideArraySerializer(result: Array<ManagedRuleOverride>): any[] {\n return result.map((item) => {\n return managedRuleOverrideSerializer(item);\n });\n}\n\nexport function managedRuleOverrideArrayDeserializer(result: Array<ManagedRuleOverride>): any[] {\n return result.map((item) => {\n return managedRuleOverrideDeserializer(item);\n });\n}\n\n/** Defines a managed rule group override setting. */\nexport interface ManagedRuleOverride {\n /** Identifier for the managed rule. */\n ruleId: string;\n /** Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified. */\n enabledState?: ManagedRuleEnabledState;\n /** Describes the override action to be applied when rule matches. */\n action?: ActionType;\n /** Describes the override sensitivity to be applied when rule matches. */\n sensitivity?: SensitivityType;\n /** Describes the exclusions that are applied to this specific rule. */\n exclusions?: ManagedRuleExclusion[];\n}\n\nexport function managedRuleOverrideSerializer(item: ManagedRuleOverride): any {\n return {\n ruleId: item[\"ruleId\"],\n enabledState: item[\"enabledState\"],\n action: item[\"action\"],\n sensitivity: item[\"sensitivity\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArraySerializer(item[\"exclusions\"]),\n };\n}\n\nexport function managedRuleOverrideDeserializer(item: any): ManagedRuleOverride {\n return {\n ruleId: item[\"ruleId\"],\n enabledState: item[\"enabledState\"],\n action: item[\"action\"],\n sensitivity: item[\"sensitivity\"],\n exclusions: !item[\"exclusions\"]\n ? item[\"exclusions\"]\n : managedRuleExclusionArrayDeserializer(item[\"exclusions\"]),\n };\n}\n\n/** Describes if the managed rule is in enabled or disabled state. */\nexport enum KnownManagedRuleEnabledState {\n /** Disabled */\n Disabled = \"Disabled\",\n /** Enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describes if the managed rule is in enabled or disabled state. \\\n * {@link KnownManagedRuleEnabledState} can be used interchangeably with ManagedRuleEnabledState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Disabled \\\n * **Enabled**: Enabled\n */\nexport type ManagedRuleEnabledState = string;\n\n/** Defines the sensitivity for the rule. */\nexport enum KnownSensitivityType {\n /** Low Sensitivity - triggers the rule by larger spikes in traffic */\n Low = \"Low\",\n /** Medium Sensitivity - triggers the rule by moderate spikes in traffic */\n Medium = \"Medium\",\n /** High Sensitivity - triggers the rule by smaller spikes in traffic */\n High = \"High\",\n}\n\n/**\n * Defines the sensitivity for the rule. \\\n * {@link KnownSensitivityType} can be used interchangeably with SensitivityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Low**: Low Sensitivity - triggers the rule by larger spikes in traffic \\\n * **Medium**: Medium Sensitivity - triggers the rule by moderate spikes in traffic \\\n * **High**: High Sensitivity - triggers the rule by smaller spikes in traffic\n */\nexport type SensitivityType = string;\n\n/** Defines the list of exceptions for the managed rule sets. */\nexport interface ManagedRuleSetExceptionList {\n /** List of exceptions. */\n exceptions?: ManagedRuleSetException[];\n}\n\nexport function managedRuleSetExceptionListSerializer(item: ManagedRuleSetExceptionList): any {\n return {\n exceptions: !item[\"exceptions\"]\n ? item[\"exceptions\"]\n : managedRuleSetExceptionArraySerializer(item[\"exceptions\"]),\n };\n}\n\nexport function managedRuleSetExceptionListDeserializer(item: any): ManagedRuleSetExceptionList {\n return {\n exceptions: !item[\"exceptions\"]\n ? item[\"exceptions\"]\n : managedRuleSetExceptionArrayDeserializer(item[\"exceptions\"]),\n };\n}\n\nexport function managedRuleSetExceptionArraySerializer(\n result: Array<ManagedRuleSetException>,\n): any[] {\n return result.map((item) => {\n return managedRuleSetExceptionSerializer(item);\n });\n}\n\nexport function managedRuleSetExceptionArrayDeserializer(\n result: Array<ManagedRuleSetException>,\n): any[] {\n return result.map((item) => {\n return managedRuleSetExceptionDeserializer(item);\n });\n}\n\n/** Excludes whole requests from managed rule evaluation according to match conditions. */\nexport interface ManagedRuleSetException {\n /** The variable to be evaluated for excluding the request. */\n matchVariable: ExceptionMatchVariable;\n /**\n * Comparison operator to apply to the selector when specifying which elements\n * in the collection this exception applies to.\n */\n selectorMatchOperator?: ExceptionSelectorMatchOperator;\n /**\n * When matchVariable is a collection, operator used to specify which elements\n * in the collection this exception applies to.\n * Currently supported only for RequestHeaderNames.\n */\n selector?: string;\n /** Comparison operator to apply to the value to be matched. */\n valueMatchOperator: ExceptionValueMatchOperator;\n /** List of values to be matched with. */\n matchValues: string[];\n /** Scope(s) of the exception. */\n scopes: ManagedRuleSetScope[];\n}\n\nexport function managedRuleSetExceptionSerializer(item: ManagedRuleSetException): any {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n valueMatchOperator: item[\"valueMatchOperator\"],\n matchValues: item[\"matchValues\"].map((p: any) => {\n return p;\n }),\n scopes: managedRuleSetScopeArraySerializer(item[\"scopes\"]),\n };\n}\n\nexport function managedRuleSetExceptionDeserializer(item: any): ManagedRuleSetException {\n return {\n matchVariable: item[\"matchVariable\"],\n selectorMatchOperator: item[\"selectorMatchOperator\"],\n selector: item[\"selector\"],\n valueMatchOperator: item[\"valueMatchOperator\"],\n matchValues: item[\"matchValues\"].map((p: any) => {\n return p;\n }),\n scopes: managedRuleSetScopeArrayDeserializer(item[\"scopes\"]),\n };\n}\n\n/** The variable to be evaluated for excluding the request. */\nexport enum KnownExceptionMatchVariable {\n /** Request Uri Exception Match Variable */\n RequestUri = \"RequestUri\",\n /** Socket Address Exception Match Variable */\n SocketAddr = \"SocketAddr\",\n /** Request Header Names Exception Match Variable */\n RequestHeaderNames = \"RequestHeaderNames\",\n}\n\n/**\n * The variable to be evaluated for excluding the request. \\\n * {@link KnownExceptionMatchVariable} can be used interchangeably with ExceptionMatchVariable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **RequestUri**: Request Uri Exception Match Variable \\\n * **SocketAddr**: Socket Address Exception Match Variable \\\n * **RequestHeaderNames**: Request Header Names Exception Match Variable\n */\nexport type ExceptionMatchVariable = string;\n\n/** Comparison operator to apply to the selector when specifying which elements in the collection this exception applies to.. */\nexport enum KnownExceptionSelectorMatchOperator {\n /** Equals Selector Match Operator */\n Equals = \"Equals\",\n}\n\n/**\n * Comparison operator to apply to the selector when specifying which elements in the collection this exception applies to.. \\\n * {@link KnownExceptionSelectorMatchOperator} can be used interchangeably with ExceptionSelectorMatchOperator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Equals**: Equals Selector Match Operator\n */\nexport type ExceptionSelectorMatchOperator = string;\n\n/** Comparison operator to apply to the value to be matched.. */\nexport enum KnownExceptionValueMatchOperator {\n /** Equals Exception Value Match Operator */\n Equals = \"Equals\",\n /** Contains Exception Value Match Operator */\n Contains = \"Contains\",\n /** StartsWith Exception Value Match Operator */\n StartsWith = \"StartsWith\",\n /** EndsWith Exception Value Match Operator */\n EndsWith = \"EndsWith\",\n /** EqualsAny Exception Value Match Operator */\n EqualsAny = \"EqualsAny\",\n /** IPMatch Exception Value Match Operator */\n IPMatch = \"IPMatch\",\n}\n\n/**\n * Comparison operator to apply to the value to be matched.. \\\n * {@link KnownExceptionValueMatchOperator} can be used interchangeably with ExceptionValueMatchOperator,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Equals**: Equals Exception Value Match Operator \\\n * **Contains**: Contains Exception Value Match Operator \\\n * **StartsWith**: StartsWith Exception Value Match Operator \\\n * **EndsWith**: EndsWith Exception Value Match Operator \\\n * **EqualsAny**: EqualsAny Exception Value Match Operator \\\n * **IPMatch**: IPMatch Exception Value Match Operator\n */\nexport type ExceptionValueMatchOperator = string;\n\nexport function managedRuleSetScopeArraySerializer(result: Array<ManagedRuleSetScope>): any[] {\n return result.map((item) => {\n return managedRuleSetScopeSerializer(item);\n });\n}\n\nexport function managedRuleSetScopeArrayDeserializer(result: Array<ManagedRuleSetScope>): any[] {\n return result.map((item) => {\n return managedRuleSetScopeDeserializer(item);\n });\n}\n\n/** Defines the scope of the managed rules. */\nexport interface ManagedRuleSetScope {\n /**\n * Defines the rule set type.\n * Examples: DefaultRuleSet, Microsoft_DefaultRuleSet,\n * Microsoft_BotManagerRuleSet, Microsoft_HTTPDDoSRuleSet, BotProtection\n */\n ruleSetType: string;\n /** Defines the version of the rule set. */\n ruleSetVersion: string;\n /** List of rule group scopes. */\n ruleGroupScopes?: RuleGroupScope[];\n}\n\nexport function managedRuleSetScopeSerializer(item: ManagedRuleSetScope): any {\n return {\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleGroupScopes: !item[\"ruleGroupScopes\"]\n ? item[\"ruleGroupScopes\"]\n : ruleGroupScopeArraySerializer(item[\"ruleGroupScopes\"]),\n };\n}\n\nexport function managedRuleSetScopeDeserializer(item: any): ManagedRuleSetScope {\n return {\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleGroupScopes: !item[\"ruleGroupScopes\"]\n ? item[\"ruleGroupScopes\"]\n : ruleGroupScopeArrayDeserializer(item[\"ruleGroupScopes\"]),\n };\n}\n\nexport function ruleGroupScopeArraySerializer(result: Array<RuleGroupScope>): any[] {\n return result.map((item) => {\n return ruleGroupScopeSerializer(item);\n });\n}\n\nexport function ruleGroupScopeArrayDeserializer(result: Array<RuleGroupScope>): any[] {\n return result.map((item) => {\n return ruleGroupScopeDeserializer(item);\n });\n}\n\n/** Defines the scope of the rule group. */\nexport interface RuleGroupScope {\n /** Defines the rule group name. */\n ruleGroupName: string;\n /** List of rule scopes. */\n ruleScopes?: RuleScope[];\n}\n\nexport function ruleGroupScopeSerializer(item: RuleGroupScope): any {\n return {\n ruleGroupName: item[\"ruleGroupName\"],\n ruleScopes: !item[\"ruleScopes\"]\n ? item[\"ruleScopes\"]\n : ruleScopeArraySerializer(item[\"ruleScopes\"]),\n };\n}\n\nexport function ruleGroupScopeDeserializer(item: any): RuleGroupScope {\n return {\n ruleGroupName: item[\"ruleGroupName\"],\n ruleScopes: !item[\"ruleScopes\"]\n ? item[\"ruleScopes\"]\n : ruleScopeArrayDeserializer(item[\"ruleScopes\"]),\n };\n}\n\nexport function ruleScopeArraySerializer(result: Array<RuleScope>): any[] {\n return result.map((item) => {\n return ruleScopeSerializer(item);\n });\n}\n\nexport function ruleScopeArrayDeserializer(result: Array<RuleScope>): any[] {\n return result.map((item) => {\n return ruleScopeDeserializer(item);\n });\n}\n\n/** Defines the scope of the rule. */\nexport interface RuleScope {\n /** Defines the rule id. */\n ruleId: string;\n}\n\nexport function ruleScopeSerializer(item: RuleScope): any {\n return { ruleId: item[\"ruleId\"] };\n}\n\nexport function ruleScopeDeserializer(item: any): RuleScope {\n return {\n ruleId: item[\"ruleId\"],\n };\n}\n\nexport function frontendEndpointLinkArrayDeserializer(result: Array<FrontendEndpointLink>): any[] {\n return result.map((item) => {\n return frontendEndpointLinkDeserializer(item);\n });\n}\n\n/** Defines the Resource ID for a Frontend Endpoint. */\nexport interface FrontendEndpointLink {\n /** Resource ID. */\n id?: string;\n}\n\nexport function frontendEndpointLinkDeserializer(item: any): FrontendEndpointLink {\n return {\n id: item[\"id\"],\n };\n}\n\nexport function routingRuleLinkArrayDeserializer(result: Array<RoutingRuleLink>): any[] {\n return result.map((item) => {\n return routingRuleLinkDeserializer(item);\n });\n}\n\n/** Defines the Resource ID for a Routing Rule. */\nexport interface RoutingRuleLink {\n /** Resource ID. */\n id?: string;\n}\n\nexport function routingRuleLinkDeserializer(item: any): RoutingRuleLink {\n return {\n id: item[\"id\"],\n };\n}\n\nexport function securityPolicyLinkArrayDeserializer(result: Array<SecurityPolicyLink>): any[] {\n return result.map((item) => {\n return securityPolicyLinkDeserializer(item);\n });\n}\n\n/** Defines the Resource ID for a Security Policy. */\nexport interface SecurityPolicyLink {\n /** Resource ID. */\n id?: string;\n}\n\nexport function securityPolicyLinkDeserializer(item: any): SecurityPolicyLink {\n return {\n id: item[\"id\"],\n };\n}\n\n/** Resource status of the policy. */\nexport enum KnownPolicyResourceState {\n /** Creating */\n Creating = \"Creating\",\n /** Enabling */\n Enabling = \"Enabling\",\n /** Enabled */\n Enabled = \"Enabled\",\n /** Disabling */\n Disabling = \"Disabling\",\n /** Disabled */\n Disabled = \"Disabled\",\n /** Deleting */\n Deleting = \"Deleting\",\n}\n\n/**\n * Resource status of the policy. \\\n * {@link KnownPolicyResourceState} can be used interchangeably with PolicyResourceState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Creating**: Creating \\\n * **Enabling**: Enabling \\\n * **Enabled**: Enabled \\\n * **Disabling**: Disabling \\\n * **Disabled**: Disabled \\\n * **Deleting**: Deleting\n */\nexport type PolicyResourceState = string;\n\n/** The pricing tier of the web application firewall policy. */\nexport interface Sku {\n /** Name of the pricing tier. */\n name?: SkuName;\n}\n\nexport function skuSerializer(item: Sku): any {\n return { name: item[\"name\"] };\n}\n\nexport function skuDeserializer(item: any): Sku {\n return {\n name: item[\"name\"],\n };\n}\n\n/** Name of the pricing tier. */\nexport enum KnownSkuName {\n /** Classic_AzureFrontDoor */\n ClassicAzureFrontDoor = \"Classic_AzureFrontDoor\",\n /** Standard_AzureFrontDoor */\n StandardAzureFrontDoor = \"Standard_AzureFrontDoor\",\n /** Premium_AzureFrontDoor */\n PremiumAzureFrontDoor = \"Premium_AzureFrontDoor\",\n}\n\n/**\n * Name of the pricing tier. \\\n * {@link KnownSkuName} can be used interchangeably with SkuName,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Classic_AzureFrontDoor**: Classic_AzureFrontDoor \\\n * **Standard_AzureFrontDoor**: Standard_AzureFrontDoor \\\n * **Premium_AzureFrontDoor**: Premium_AzureFrontDoor\n */\nexport type SkuName = string;\n\n/** Tags object for patch operations. */\nexport interface TagsObject {\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\nexport function tagsObjectSerializer(item: TagsObject): any {\n return { tags: item[\"tags\"] };\n}\n\n/** Defines a list of WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results. */\nexport interface _WebApplicationFirewallPolicyList {\n /** The WebApplicationFirewallPolicy items on this page */\n readonly value: WebApplicationFirewallPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _webApplicationFirewallPolicyListDeserializer(\n item: any,\n): _WebApplicationFirewallPolicyList {\n return {\n value: webApplicationFirewallPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function webApplicationFirewallPolicyArraySerializer(\n result: Array<WebApplicationFirewallPolicy>,\n): any[] {\n return result.map((item) => {\n return webApplicationFirewallPolicySerializer(item);\n });\n}\n\nexport function webApplicationFirewallPolicyArrayDeserializer(\n result: Array<WebApplicationFirewallPolicy>,\n): any[] {\n return result.map((item) => {\n return webApplicationFirewallPolicyDeserializer(item);\n });\n}\n\n/** Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message. */\nexport interface DefaultErrorResponse {\n /** Error model. */\n error?: DefaultErrorResponseError;\n}\n\nexport function defaultErrorResponseDeserializer(item: any): DefaultErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : defaultErrorResponseErrorDeserializer(item[\"error\"]),\n };\n}\n\n/** Error model. */\nexport interface DefaultErrorResponseError {\n /** Error code. */\n readonly code?: string;\n /** Error message indicating why the operation failed. */\n readonly message?: string;\n}\n\nexport function defaultErrorResponseErrorDeserializer(item: any): DefaultErrorResponseError {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Parameters required for content purge. */\nexport interface PurgeParameters {\n /** The path to the content to be purged. Can describe a file path or a wild card directory. */\n contentPaths: string[];\n}\n\nexport function purgeParametersSerializer(item: PurgeParameters): any {\n return {\n contentPaths: item[\"contentPaths\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Defines an Network Experiment Profile and lists of Experiments */\nexport interface Profile extends ResourcewithSettableName {\n /** Gets a unique read-only string that changes whenever the resource is updated. */\n etag?: string;\n /** Resource status. */\n readonly resourceState?: NetworkExperimentResourceState;\n /** The state of the Experiment */\n enabledState?: State;\n}\n\nexport function profileSerializer(item: Profile): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"enabledState\"])\n ? undefined\n : _profilePropertiesSerializer(item),\n etag: item[\"etag\"],\n };\n}\n\nexport function profileDeserializer(item: any): Profile {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _profilePropertiesDeserializer(item[\"properties\"])),\n etag: item[\"etag\"],\n };\n}\n\n/** Defines the properties of an experiment */\nexport interface ProfileProperties {\n /** Resource status. */\n readonly resourceState?: NetworkExperimentResourceState;\n /** The state of the Experiment */\n enabledState?: State;\n}\n\nexport function profilePropertiesSerializer(item: ProfileProperties): any {\n return { enabledState: item[\"enabledState\"] };\n}\n\nexport function profilePropertiesDeserializer(item: any): ProfileProperties {\n return {\n resourceState: item[\"resourceState\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\n/** Common resource representation. */\nexport interface ResourcewithSettableName {\n /** Resource ID. */\n readonly id?: string;\n /** Resource name. */\n readonly name?: string;\n /** Resource type. */\n readonly type?: string;\n /** Resource location. */\n location?: string;\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\nexport function resourcewithSettableNameSerializer(item: ResourcewithSettableName): any {\n return { location: item[\"location\"], tags: item[\"tags\"] };\n}\n\nexport function resourcewithSettableNameDeserializer(item: any): ResourcewithSettableName {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n };\n}\n\n/** Defines modifiable attributes of a Profile */\nexport interface ProfileUpdateModel {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The enabled state of the Profile */\n enabledState?: State;\n}\n\nexport function profileUpdateModelSerializer(item: ProfileUpdateModel): any {\n return {\n properties: areAllPropsUndefined(item, [\"enabledState\"])\n ? undefined\n : _profileUpdateModelPropertiesSerializer(item),\n tags: item[\"tags\"],\n };\n}\n\n/** Defines the properties of an experiment */\nexport interface ProfileUpdateProperties {\n /** The enabled state of the Profile */\n enabledState?: State;\n}\n\nexport function profileUpdatePropertiesSerializer(item: ProfileUpdateProperties): any {\n return { enabledState: item[\"enabledState\"] };\n}\n\n/** Defines a list of Profiles. It contains a list of Profile objects and a URL link to get the next set of results. */\nexport interface _ProfileList {\n /** The Profile items on this page */\n readonly value: Profile[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _profileListDeserializer(item: any): _ProfileList {\n return {\n value: profileArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function profileArraySerializer(result: Array<Profile>): any[] {\n return result.map((item) => {\n return profileSerializer(item);\n });\n}\n\nexport function profileArrayDeserializer(result: Array<Profile>): any[] {\n return result.map((item) => {\n return profileDeserializer(item);\n });\n}\n\n/** Defines a list of preconfigured endpoints. */\nexport interface _PreconfiguredEndpointList {\n /** The PreconfiguredEndpoint items on this page */\n readonly value: PreconfiguredEndpoint[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _preconfiguredEndpointListDeserializer(item: any): _PreconfiguredEndpointList {\n return {\n value: preconfiguredEndpointArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function preconfiguredEndpointArrayDeserializer(\n result: Array<PreconfiguredEndpoint>,\n): any[] {\n return result.map((item) => {\n return preconfiguredEndpointDeserializer(item);\n });\n}\n\n/** Defines the properties of a preconfigured endpoint */\nexport interface PreconfiguredEndpoint extends ResourcewithSettableName {\n /** The description of the endpoint */\n description?: string;\n /** The endpoint that is preconfigured */\n endpoint?: string;\n /** The type of endpoint */\n endpointType?: EndpointType;\n /** The preconfigured endpoint backend */\n backend?: string;\n}\n\nexport function preconfiguredEndpointDeserializer(item: any): PreconfiguredEndpoint {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _preconfiguredEndpointPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Defines the properties of a preconfigured endpoint */\nexport interface PreconfiguredEndpointProperties {\n /** The description of the endpoint */\n description?: string;\n /** The endpoint that is preconfigured */\n endpoint?: string;\n /** The type of endpoint */\n endpointType?: EndpointType;\n /** The preconfigured endpoint backend */\n backend?: string;\n}\n\nexport function preconfiguredEndpointPropertiesDeserializer(\n item: any,\n): PreconfiguredEndpointProperties {\n return {\n description: item[\"description\"],\n endpoint: item[\"endpoint\"],\n endpointType: item[\"endpointType\"],\n backend: item[\"backend\"],\n };\n}\n\n/** The type of endpoint */\nexport enum KnownEndpointType {\n /** AFD */\n AFD = \"AFD\",\n /** AzureRegion */\n AzureRegion = \"AzureRegion\",\n /** CDN */\n CDN = \"CDN\",\n /** ATM */\n ATM = \"ATM\",\n}\n\n/**\n * The type of endpoint \\\n * {@link KnownEndpointType} can be used interchangeably with EndpointType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AFD**: AFD \\\n * **AzureRegion**: AzureRegion \\\n * **CDN**: CDN \\\n * **ATM**: ATM\n */\nexport type EndpointType = string;\n\n/** Defines the LatencyScorecard */\nexport interface LatencyScorecard extends Resource {\n /** The unique identifier of the Latency Scorecard */\n readonly idPropertiesId?: string;\n /** The name of the Latency Scorecard */\n readonly namePropertiesName?: string;\n /** The description of the Latency Scorecard */\n readonly description?: string;\n /** The A endpoint in the scorecard */\n readonly endpointA?: string;\n /** The B endpoint in the scorecard */\n readonly endpointB?: string;\n /** The start time of the Latency Scorecard in UTC */\n readonly startDateTimeUTC?: Date;\n /** The end time of the Latency Scorecard in UTC */\n readonly endDateTimeUTC?: Date;\n /** The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html */\n readonly country?: string;\n /** The latency metrics of the Latency Scorecard */\n latencyMetrics?: LatencyMetric[];\n}\n\nexport function latencyScorecardDeserializer(item: any): LatencyScorecard {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _latencyScorecardPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Defines a the properties of a Latency Scorecard */\nexport interface LatencyScorecardProperties {\n /** The unique identifier of the Latency Scorecard */\n readonly id?: string;\n /** The name of the Latency Scorecard */\n readonly name?: string;\n /** The description of the Latency Scorecard */\n readonly description?: string;\n /** The A endpoint in the scorecard */\n readonly endpointA?: string;\n /** The B endpoint in the scorecard */\n readonly endpointB?: string;\n /** The start time of the Latency Scorecard in UTC */\n readonly startDateTimeUTC?: Date;\n /** The end time of the Latency Scorecard in UTC */\n readonly endDateTimeUTC?: Date;\n /** The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html */\n readonly country?: string;\n /** The latency metrics of the Latency Scorecard */\n latencyMetrics?: LatencyMetric[];\n}\n\nexport function latencyScorecardPropertiesDeserializer(item: any): LatencyScorecardProperties {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n endpointA: item[\"endpointA\"],\n endpointB: item[\"endpointB\"],\n startDateTimeUTC: !item[\"startDateTimeUTC\"]\n ? item[\"startDateTimeUTC\"]\n : new Date(item[\"startDateTimeUTC\"]),\n endDateTimeUTC: !item[\"endDateTimeUTC\"]\n ? item[\"endDateTimeUTC\"]\n : new Date(item[\"endDateTimeUTC\"]),\n country: item[\"country\"],\n latencyMetrics: !item[\"latencyMetrics\"]\n ? item[\"latencyMetrics\"]\n : latencyMetricArrayDeserializer(item[\"latencyMetrics\"]),\n };\n}\n\nexport function latencyMetricArrayDeserializer(result: Array<LatencyMetric>): any[] {\n return result.map((item) => {\n return latencyMetricDeserializer(item);\n });\n}\n\n/** Defines the properties of a latency metric used in the latency scorecard */\nexport interface LatencyMetric {\n /** The name of the Latency Metric */\n readonly name?: string;\n /** The end time of the Latency Scorecard in UTC */\n readonly endDateTimeUTC?: string;\n /** The metric value of the A endpoint */\n readonly aValue?: number;\n /** The metric value of the B endpoint */\n readonly bValue?: number;\n /** The difference in value between endpoint A and B */\n readonly delta?: number;\n /** The percent difference between endpoint A and B */\n readonly deltaPercent?: number;\n /** The lower end of the 95% confidence interval for endpoint A */\n readonly aCLower95CI?: number;\n /** The upper end of the 95% confidence interval for endpoint A */\n readonly aHUpper95CI?: number;\n /** The lower end of the 95% confidence interval for endpoint B */\n readonly bCLower95CI?: number;\n /** The upper end of the 95% confidence interval for endpoint B */\n readonly bUpper95CI?: number;\n}\n\nexport function latencyMetricDeserializer(item: any): LatencyMetric {\n return {\n name: item[\"name\"],\n endDateTimeUTC: item[\"endDateTimeUTC\"],\n aValue: item[\"aValue\"],\n bValue: item[\"bValue\"],\n delta: item[\"delta\"],\n deltaPercent: item[\"deltaPercent\"],\n aCLower95CI: item[\"aCLower95CI\"],\n aHUpper95CI: item[\"aHUpper95CI\"],\n bCLower95CI: item[\"bCLower95CI\"],\n bUpper95CI: item[\"bUpper95CI\"],\n };\n}\n\n/** Defines the Timeseries */\nexport interface Timeseries extends Resource {\n /** The endpoint associated with the Timeseries data point */\n endpoint?: string;\n /** The start DateTime of the Timeseries in UTC */\n startDateTimeUTC?: string;\n /** The end DateTime of the Timeseries in UTC */\n endDateTimeUTC?: string;\n /** The aggregation interval of the Timeseries */\n aggregationInterval?: AggregationInterval;\n /** The type of Timeseries */\n timeseriesType?: TimeseriesType;\n /** The country associated with the Timeseries. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html */\n country?: string;\n /** The set of data points for the timeseries */\n timeseriesData?: TimeseriesDataPoint[];\n}\n\nexport function timeseriesDeserializer(item: any): Timeseries {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _timeseriesPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Defines the properties of a timeseries */\nexport interface TimeseriesProperties {\n /** The endpoint associated with the Timeseries data point */\n endpoint?: string;\n /** The start DateTime of the Timeseries in UTC */\n startDateTimeUTC?: string;\n /** The end DateTime of the Timeseries in UTC */\n endDateTimeUTC?: string;\n /** The aggregation interval of the Timeseries */\n aggregationInterval?: AggregationInterval;\n /** The type of Timeseries */\n timeseriesType?: TimeseriesType;\n /** The country associated with the Timeseries. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html */\n country?: string;\n /** The set of data points for the timeseries */\n timeseriesData?: TimeseriesDataPoint[];\n}\n\nexport function timeseriesPropertiesDeserializer(item: any): TimeseriesProperties {\n return {\n endpoint: item[\"endpoint\"],\n startDateTimeUTC: item[\"startDateTimeUTC\"],\n endDateTimeUTC: item[\"endDateTimeUTC\"],\n aggregationInterval: item[\"aggregationInterval\"],\n timeseriesType: item[\"timeseriesType\"],\n country: item[\"country\"],\n timeseriesData: !item[\"timeseriesData\"]\n ? item[\"timeseriesData\"]\n : timeseriesDataPointArrayDeserializer(item[\"timeseriesData\"]),\n };\n}\n\n/** The aggregation interval of the Timeseries */\nexport enum KnownAggregationInterval {\n /** Hourly */\n Hourly = \"Hourly\",\n /** Daily */\n Daily = \"Daily\",\n}\n\n/**\n * The aggregation interval of the Timeseries \\\n * {@link KnownAggregationInterval} can be used interchangeably with AggregationInterval,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Hourly**: Hourly \\\n * **Daily**: Daily\n */\nexport type AggregationInterval = string;\n\n/** The type of Timeseries */\nexport enum KnownTimeseriesType {\n /** MeasurementCounts */\n MeasurementCounts = \"MeasurementCounts\",\n /** LatencyP50 */\n LatencyP50 = \"LatencyP50\",\n /** LatencyP75 */\n LatencyP75 = \"LatencyP75\",\n /** LatencyP95 */\n LatencyP95 = \"LatencyP95\",\n}\n\n/**\n * The type of Timeseries \\\n * {@link KnownTimeseriesType} can be used interchangeably with TimeseriesType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **MeasurementCounts**: MeasurementCounts \\\n * **LatencyP50**: LatencyP50 \\\n * **LatencyP75**: LatencyP75 \\\n * **LatencyP95**: LatencyP95\n */\nexport type TimeseriesType = string;\n\nexport function timeseriesDataPointArrayDeserializer(result: Array<TimeseriesDataPoint>): any[] {\n return result.map((item) => {\n return timeseriesDataPointDeserializer(item);\n });\n}\n\n/** Defines a timeseries datapoint used in a timeseries */\nexport interface TimeseriesDataPoint {\n /** The DateTime of the Timeseries data point in UTC */\n dateTimeUTC?: string;\n /** The Value of the Timeseries data point */\n value?: number;\n}\n\nexport function timeseriesDataPointDeserializer(item: any): TimeseriesDataPoint {\n return {\n dateTimeUTC: item[\"dateTimeUTC\"],\n value: item[\"value\"],\n };\n}\n\n/** List of managed rule set definitions available for use in a policy. */\nexport interface _ManagedRuleSetDefinitionList {\n /** The ManagedRuleSetDefinition items on this page */\n readonly value: ManagedRuleSetDefinition[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _managedRuleSetDefinitionListDeserializer(\n item: any,\n): _ManagedRuleSetDefinitionList {\n return {\n value: managedRuleSetDefinitionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function managedRuleSetDefinitionArrayDeserializer(\n result: Array<ManagedRuleSetDefinition>,\n): any[] {\n return result.map((item) => {\n return managedRuleSetDefinitionDeserializer(item);\n });\n}\n\n/** Describes the a managed rule set definition. */\nexport interface ManagedRuleSetDefinition extends Resource {\n /** Provisioning state of the managed rule set. */\n readonly provisioningState?: string;\n /** Id of the managed rule set. */\n readonly ruleSetId?: string;\n /** Type of the managed rule set. */\n readonly ruleSetType?: string;\n /** Version of the managed rule set type. */\n readonly ruleSetVersion?: string;\n /** Rule groups of the managed rule set. */\n readonly ruleGroups?: ManagedRuleGroupDefinition[];\n}\n\nexport function managedRuleSetDefinitionDeserializer(item: any): ManagedRuleSetDefinition {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n location: item[\"location\"],\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _managedRuleSetDefinitionPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Properties for a managed rule set definition. */\nexport interface ManagedRuleSetDefinitionProperties {\n /** Provisioning state of the managed rule set. */\n readonly provisioningState?: string;\n /** Id of the managed rule set. */\n readonly ruleSetId?: string;\n /** Type of the managed rule set. */\n readonly ruleSetType?: string;\n /** Version of the managed rule set type. */\n readonly ruleSetVersion?: string;\n /** Rule groups of the managed rule set. */\n readonly ruleGroups?: ManagedRuleGroupDefinition[];\n}\n\nexport function managedRuleSetDefinitionPropertiesDeserializer(\n item: any,\n): ManagedRuleSetDefinitionProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n ruleSetId: item[\"ruleSetId\"],\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleGroups: !item[\"ruleGroups\"]\n ? item[\"ruleGroups\"]\n : managedRuleGroupDefinitionArrayDeserializer(item[\"ruleGroups\"]),\n };\n}\n\nexport function managedRuleGroupDefinitionArrayDeserializer(\n result: Array<ManagedRuleGroupDefinition>,\n): any[] {\n return result.map((item) => {\n return managedRuleGroupDefinitionDeserializer(item);\n });\n}\n\n/** Describes a managed rule group. */\nexport interface ManagedRuleGroupDefinition {\n /** Name of the managed rule group. */\n readonly ruleGroupName?: string;\n /** Description of the managed rule group. */\n readonly description?: string;\n /** List of rules within the managed rule group. */\n readonly rules?: ManagedRuleDefinition[];\n}\n\nexport function managedRuleGroupDefinitionDeserializer(item: any): ManagedRuleGroupDefinition {\n return {\n ruleGroupName: item[\"ruleGroupName\"],\n description: item[\"description\"],\n rules: !item[\"rules\"] ? item[\"rules\"] : managedRuleDefinitionArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function managedRuleDefinitionArrayDeserializer(\n result: Array<ManagedRuleDefinition>,\n): any[] {\n return result.map((item) => {\n return managedRuleDefinitionDeserializer(item);\n });\n}\n\n/** Describes a managed rule definition. */\nexport interface ManagedRuleDefinition {\n /** Identifier for the managed rule. */\n readonly ruleId?: string;\n /** Describes the default state for the managed rule. */\n readonly defaultState?: ManagedRuleEnabledState;\n /** Describes the default action to be applied when the managed rule matches. */\n readonly defaultAction?: ActionType;\n /** Describes the default sensitivity to be applied when the managed rule matches. */\n readonly defaultSensitivity?: SensitivityType;\n /** Describes the functionality of the managed rule. */\n readonly description?: string;\n}\n\nexport function managedRuleDefinitionDeserializer(item: any): ManagedRuleDefinition {\n return {\n ruleId: item[\"ruleId\"],\n defaultState: item[\"defaultState\"],\n defaultAction: item[\"defaultAction\"],\n defaultSensitivity: item[\"defaultSensitivity\"],\n description: item[\"description\"],\n };\n}\n\n/** Input of CheckNameAvailability API. */\nexport interface CheckNameAvailabilityInput {\n /** The resource name to validate. */\n name: string;\n /** The type of the resource whose name is to be validated. */\n type: ResourceType;\n}\n\nexport function checkNameAvailabilityInputSerializer(item: CheckNameAvailabilityInput): any {\n return { name: item[\"name\"], type: item[\"type\"] };\n}\n\n/** Type of Front Door resource used in CheckNameAvailability. */\nexport type ResourceType =\n \"Microsoft.Network/frontDoors\" | \"Microsoft.Network/frontDoors/frontendEndpoints\";\n\n/** Output of check name availability API. */\nexport interface CheckNameAvailabilityOutput {\n /** Indicates whether the name is available. */\n readonly nameAvailability?: Availability;\n /** The reason why the name is not available. */\n readonly reason?: string;\n /** The detailed error message describing why the name is not available. */\n readonly message?: string;\n}\n\nexport function checkNameAvailabilityOutputDeserializer(item: any): CheckNameAvailabilityOutput {\n return {\n nameAvailability: item[\"nameAvailability\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** Indicates whether the name is available. */\nexport enum KnownAvailability {\n /** Available */\n Available = \"Available\",\n /** Unavailable */\n Unavailable = \"Unavailable\",\n}\n\n/**\n * Indicates whether the name is available. \\\n * {@link KnownAvailability} can be used interchangeably with Availability,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Available**: Available \\\n * **Unavailable**: Unavailable\n */\nexport type Availability = string;\n\n/** Known values of {@link LatencyScorecardAggregationInterval} that the service accepts. */\nexport enum KnownLatencyScorecardAggregationInterval {\n /** Daily */\n Daily = \"Daily\",\n /** Weekly */\n Weekly = \"Weekly\",\n /** Monthly */\n Monthly = \"Monthly\",\n}\n\n/** Type of LatencyScorecardAggregationInterval */\nexport type LatencyScorecardAggregationInterval = string;\n\n/** Known values of {@link TimeseriesAggregationInterval} that the service accepts. */\nexport enum KnownTimeseriesAggregationInterval {\n /** Hourly */\n Hourly = \"Hourly\",\n /** Daily */\n Daily = \"Daily\",\n}\n\n/** Type of TimeseriesAggregationInterval */\nexport type TimeseriesAggregationInterval = string;\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2025-10-01 API version. */\n V20251001 = \"2025-10-01\",\n /** The 2025-11-01 API version. */\n V20251101 = \"2025-11-01\",\n}\n\nexport function _rulesEnginePropertiesSerializer(item: RulesEngine): any {\n return { rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArraySerializer(item[\"rules\"]) };\n}\n\nexport function _rulesEnginePropertiesDeserializer(item: any) {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : rulesEngineRuleArrayDeserializer(item[\"rules\"]),\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _frontDoorPropertiesSerializer(item: FrontDoor): any {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArraySerializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArraySerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArraySerializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArraySerializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArraySerializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsSerializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function _frontDoorPropertiesDeserializer(item: any) {\n return {\n friendlyName: item[\"friendlyName\"],\n routingRules: !item[\"routingRules\"]\n ? item[\"routingRules\"]\n : routingRuleArrayDeserializer(item[\"routingRules\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : loadBalancingSettingsModelArrayDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : healthProbeSettingsModelArrayDeserializer(item[\"healthProbeSettings\"]),\n backendPools: !item[\"backendPools\"]\n ? item[\"backendPools\"]\n : backendPoolArrayDeserializer(item[\"backendPools\"]),\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : frontendEndpointArrayDeserializer(item[\"frontendEndpoints\"]),\n backendPoolsSettings: !item[\"backendPoolsSettings\"]\n ? item[\"backendPoolsSettings\"]\n : backendPoolsSettingsDeserializer(item[\"backendPoolsSettings\"]),\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n provisioningState: item[\"provisioningState\"],\n cname: item[\"cname\"],\n frontdoorId: item[\"frontdoorId\"],\n rulesEngines: !item[\"rulesEngines\"]\n ? item[\"rulesEngines\"]\n : rulesEngineArrayDeserializer(item[\"rulesEngines\"]),\n extendedProperties: !item[\"extendedProperties\"]\n ? item[\"extendedProperties\"]\n : Object.fromEntries(\n Object.entries(item[\"extendedProperties\"]).map(([k, p]: [string, any]) => [k, p]),\n ),\n };\n}\n\nexport function _routingRulePropertiesSerializer(item: RoutingRule): any {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArraySerializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionSerializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceSerializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function _routingRulePropertiesDeserializer(item: any) {\n return {\n frontendEndpoints: !item[\"frontendEndpoints\"]\n ? item[\"frontendEndpoints\"]\n : subResourceArrayDeserializer(item[\"frontendEndpoints\"]),\n acceptedProtocols: !item[\"acceptedProtocols\"]\n ? item[\"acceptedProtocols\"]\n : item[\"acceptedProtocols\"].map((p: any) => {\n return p;\n }),\n patternsToMatch: !item[\"patternsToMatch\"]\n ? item[\"patternsToMatch\"]\n : item[\"patternsToMatch\"].map((p: any) => {\n return p;\n }),\n enabledState: item[\"enabledState\"],\n routeConfiguration: !item[\"routeConfiguration\"]\n ? item[\"routeConfiguration\"]\n : routeConfigurationUnionDeserializer(item[\"routeConfiguration\"]),\n rulesEngine: !item[\"rulesEngine\"]\n ? item[\"rulesEngine\"]\n : subResourceDeserializer(item[\"rulesEngine\"]),\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : routingRuleUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _loadBalancingSettingsModelPropertiesSerializer(\n item: LoadBalancingSettingsModel,\n): any {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n };\n}\n\nexport function _loadBalancingSettingsModelPropertiesDeserializer(item: any) {\n return {\n sampleSize: item[\"sampleSize\"],\n successfulSamplesRequired: item[\"successfulSamplesRequired\"],\n additionalLatencyMilliseconds: item[\"additionalLatencyMilliseconds\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _healthProbeSettingsModelPropertiesSerializer(item: HealthProbeSettingsModel): any {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function _healthProbeSettingsModelPropertiesDeserializer(item: any) {\n return {\n path: item[\"path\"],\n protocol: item[\"protocol\"],\n intervalInSeconds: item[\"intervalInSeconds\"],\n healthProbeMethod: item[\"healthProbeMethod\"],\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _backendPoolPropertiesSerializer(item: BackendPool): any {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArraySerializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceSerializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceSerializer(item[\"healthProbeSettings\"]),\n };\n}\n\nexport function _backendPoolPropertiesDeserializer(item: any) {\n return {\n backends: !item[\"backends\"] ? item[\"backends\"] : backendArrayDeserializer(item[\"backends\"]),\n loadBalancingSettings: !item[\"loadBalancingSettings\"]\n ? item[\"loadBalancingSettings\"]\n : subResourceDeserializer(item[\"loadBalancingSettings\"]),\n healthProbeSettings: !item[\"healthProbeSettings\"]\n ? item[\"healthProbeSettings\"]\n : subResourceDeserializer(item[\"healthProbeSettings\"]),\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _customHttpsConfigurationKeyVaultCertificateSourceParametersSerializer(\n item: CustomHttpsConfiguration,\n): any {\n return {\n vault: !item[\"vault\"]\n ? item[\"vault\"]\n : keyVaultCertificateSourceParametersVaultSerializer(item[\"vault\"]),\n secretName: item[\"secretName\"],\n secretVersion: item[\"secretVersion\"],\n };\n}\n\nexport function _customHttpsConfigurationKeyVaultCertificateSourceParametersDeserializer(\n item: any,\n) {\n return {\n vault: !item[\"vault\"]\n ? item[\"vault\"]\n : keyVaultCertificateSourceParametersVaultDeserializer(item[\"vault\"]),\n secretName: item[\"secretName\"],\n secretVersion: item[\"secretVersion\"],\n };\n}\n\nexport function _customHttpsConfigurationFrontDoorCertificateSourceParametersSerializer(\n item: CustomHttpsConfiguration,\n): any {\n return { certificateType: item[\"certificateType\"] };\n}\n\nexport function _customHttpsConfigurationFrontDoorCertificateSourceParametersDeserializer(\n item: any,\n) {\n return {\n certificateType: item[\"certificateType\"],\n };\n}\n\nexport function _frontendEndpointPropertiesSerializer(item: FrontendEndpoint): any {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkSerializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n };\n}\n\nexport function _frontendEndpointPropertiesDeserializer(item: any) {\n return {\n hostName: item[\"hostName\"],\n sessionAffinityEnabledState: item[\"sessionAffinityEnabledState\"],\n sessionAffinityTtlSeconds: item[\"sessionAffinityTtlSeconds\"],\n webApplicationFirewallPolicyLink: !item[\"webApplicationFirewallPolicyLink\"]\n ? item[\"webApplicationFirewallPolicyLink\"]\n : frontendEndpointUpdateParametersWebApplicationFirewallPolicyLinkDeserializer(\n item[\"webApplicationFirewallPolicyLink\"],\n ),\n resourceState: item[\"resourceState\"],\n customHttpsProvisioningState: item[\"customHttpsProvisioningState\"],\n customHttpsProvisioningSubstate: item[\"customHttpsProvisioningSubstate\"],\n customHttpsConfiguration: !item[\"customHttpsConfiguration\"]\n ? item[\"customHttpsConfiguration\"]\n : customHttpsConfigurationDeserializer(item[\"customHttpsConfiguration\"]),\n };\n}\n\nexport function _experimentPropertiesSerializer(item: Experiment): any {\n return {\n description: item[\"description\"],\n endpointA: !item[\"endpointA\"] ? item[\"endpointA\"] : endpointSerializer(item[\"endpointA\"]),\n endpointB: !item[\"endpointB\"] ? item[\"endpointB\"] : endpointSerializer(item[\"endpointB\"]),\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function _experimentPropertiesDeserializer(item: any) {\n return {\n description: item[\"description\"],\n endpointA: !item[\"endpointA\"] ? item[\"endpointA\"] : endpointDeserializer(item[\"endpointA\"]),\n endpointB: !item[\"endpointB\"] ? item[\"endpointB\"] : endpointDeserializer(item[\"endpointB\"]),\n enabledState: item[\"enabledState\"],\n resourceState: item[\"resourceState\"],\n status: item[\"status\"],\n scriptFileUri: item[\"scriptFileUri\"],\n };\n}\n\nexport function _experimentUpdateModelPropertiesSerializer(item: ExperimentUpdateModel): any {\n return { description: item[\"description\"], enabledState: item[\"enabledState\"] };\n}\n\nexport function _policySettingsLogScrubbingSerializer(item: PolicySettings): any {\n return {\n state: item[\"state\"],\n scrubbingRules: !item[\"scrubbingRules\"]\n ? item[\"scrubbingRules\"]\n : webApplicationFirewallScrubbingRulesArraySerializer(item[\"scrubbingRules\"]),\n };\n}\n\nexport function _policySettingsLogScrubbingDeserializer(item: any) {\n return {\n state: item[\"state\"],\n scrubbingRules: !item[\"scrubbingRules\"]\n ? item[\"scrubbingRules\"]\n : webApplicationFirewallScrubbingRulesArrayDeserializer(item[\"scrubbingRules\"]),\n };\n}\n\nexport function _webApplicationFirewallPolicyPropertiesSerializer(\n item: WebApplicationFirewallPolicy,\n): any {\n return {\n policySettings: !item[\"policySettings\"]\n ? item[\"policySettings\"]\n : policySettingsSerializer(item[\"policySettings\"]),\n customRules: !item[\"customRules\"]\n ? item[\"customRules\"]\n : customRuleListSerializer(item[\"customRules\"]),\n managedRules: !item[\"managedRules\"]\n ? item[\"managedRules\"]\n : managedRuleSetListSerializer(item[\"managedRules\"]),\n };\n}\n\nexport function _webApplicationFirewallPolicyPropertiesDeserializer(item: any) {\n return {\n policySettings: !item[\"policySettings\"]\n ? item[\"policySettings\"]\n : policySettingsDeserializer(item[\"policySettings\"]),\n customRules: !item[\"customRules\"]\n ? item[\"customRules\"]\n : customRuleListDeserializer(item[\"customRules\"]),\n managedRules: !item[\"managedRules\"]\n ? item[\"managedRules\"]\n : managedRuleSetListDeserializer(item[\"managedRules\"]),\n frontendEndpointLinks: !item[\"frontendEndpointLinks\"]\n ? item[\"frontendEndpointLinks\"]\n : frontendEndpointLinkArrayDeserializer(item[\"frontendEndpointLinks\"]),\n routingRuleLinks: !item[\"routingRuleLinks\"]\n ? item[\"routingRuleLinks\"]\n : routingRuleLinkArrayDeserializer(item[\"routingRuleLinks\"]),\n securityPolicyLinks: !item[\"securityPolicyLinks\"]\n ? item[\"securityPolicyLinks\"]\n : securityPolicyLinkArrayDeserializer(item[\"securityPolicyLinks\"]),\n provisioningState: item[\"provisioningState\"],\n resourceState: item[\"resourceState\"],\n };\n}\n\nexport function _profilePropertiesSerializer(item: Profile): any {\n return { enabledState: item[\"enabledState\"] };\n}\n\nexport function _profilePropertiesDeserializer(item: any) {\n return {\n resourceState: item[\"resourceState\"],\n enabledState: item[\"enabledState\"],\n };\n}\n\nexport function _profileUpdateModelPropertiesSerializer(item: ProfileUpdateModel): any {\n return { enabledState: item[\"enabledState\"] };\n}\n\nexport function _preconfiguredEndpointPropertiesDeserializer(item: any) {\n return {\n description: item[\"description\"],\n endpoint: item[\"endpoint\"],\n endpointType: item[\"endpointType\"],\n backend: item[\"backend\"],\n };\n}\n\nexport function _latencyScorecardPropertiesDeserializer(item: any) {\n return {\n idPropertiesId: item[\"id\"],\n namePropertiesName: item[\"name\"],\n description: item[\"description\"],\n endpointA: item[\"endpointA\"],\n endpointB: item[\"endpointB\"],\n startDateTimeUTC: !item[\"startDateTimeUTC\"]\n ? item[\"startDateTimeUTC\"]\n : new Date(item[\"startDateTimeUTC\"]),\n endDateTimeUTC: !item[\"endDateTimeUTC\"]\n ? item[\"endDateTimeUTC\"]\n : new Date(item[\"endDateTimeUTC\"]),\n country: item[\"country\"],\n latencyMetrics: !item[\"latencyMetrics\"]\n ? item[\"latencyMetrics\"]\n : latencyMetricArrayDeserializer(item[\"latencyMetrics\"]),\n };\n}\n\nexport function _timeseriesPropertiesDeserializer(item: any) {\n return {\n endpoint: item[\"endpoint\"],\n startDateTimeUTC: item[\"startDateTimeUTC\"],\n endDateTimeUTC: item[\"endDateTimeUTC\"],\n aggregationInterval: item[\"aggregationInterval\"],\n timeseriesType: item[\"timeseriesType\"],\n country: item[\"country\"],\n timeseriesData: !item[\"timeseriesData\"]\n ? item[\"timeseriesData\"]\n : timeseriesDataPointArrayDeserializer(item[\"timeseriesData\"]),\n };\n}\n\nexport function _managedRuleSetDefinitionPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n ruleSetId: item[\"ruleSetId\"],\n ruleSetType: item[\"ruleSetType\"],\n ruleSetVersion: item[\"ruleSetVersion\"],\n ruleGroups: !item[\"ruleGroups\"]\n ? item[\"ruleGroups\"]\n : managedRuleGroupDefinitionArrayDeserializer(item[\"ruleGroups\"]),\n };\n}\n"]}
|