@azure/arm-frontdoor 4.1.1 → 5.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.
Files changed (293) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +21 -0
  3. package/README.md +69 -80
  4. package/dist/index.js +6728 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.min.js +1 -0
  7. package/dist/index.min.js.map +1 -0
  8. package/dist-esm/src/frontDoorManagementClient.d.ts +29 -0
  9. package/dist-esm/src/frontDoorManagementClient.d.ts.map +1 -0
  10. package/dist-esm/src/frontDoorManagementClient.js +62 -0
  11. package/dist-esm/src/frontDoorManagementClient.js.map +1 -0
  12. package/dist-esm/src/index.d.ts +5 -0
  13. package/dist-esm/src/index.d.ts.map +1 -0
  14. package/dist-esm/src/index.js +12 -0
  15. package/dist-esm/src/index.js.map +1 -0
  16. package/dist-esm/src/lroImpl.d.ts +16 -0
  17. package/dist-esm/src/lroImpl.d.ts.map +1 -0
  18. package/dist-esm/src/lroImpl.js +29 -0
  19. package/dist-esm/src/lroImpl.js.map +1 -0
  20. package/dist-esm/src/models/index.d.ts +2380 -0
  21. package/dist-esm/src/models/index.d.ts.map +1 -0
  22. package/dist-esm/src/models/index.js +399 -0
  23. package/dist-esm/src/models/index.js.map +1 -0
  24. package/dist-esm/src/models/mappers.d.ts +93 -0
  25. package/dist-esm/src/models/mappers.d.ts.map +1 -0
  26. package/{esm → dist-esm/src}/models/mappers.js +1812 -1645
  27. package/dist-esm/src/models/mappers.js.map +1 -0
  28. package/dist-esm/src/models/parameters.d.ts +36 -0
  29. package/dist-esm/src/models/parameters.d.ts.map +1 -0
  30. package/dist-esm/src/models/parameters.js +316 -0
  31. package/dist-esm/src/models/parameters.js.map +1 -0
  32. package/dist-esm/src/operations/endpoints.d.ts +34 -0
  33. package/dist-esm/src/operations/endpoints.d.ts.map +1 -0
  34. package/dist-esm/src/operations/endpoints.js +106 -0
  35. package/dist-esm/src/operations/endpoints.js.map +1 -0
  36. package/dist-esm/src/operations/experiments.d.ts +99 -0
  37. package/dist-esm/src/operations/experiments.d.ts.map +1 -0
  38. package/dist-esm/src/operations/experiments.js +417 -0
  39. package/dist-esm/src/operations/experiments.js.map +1 -0
  40. package/dist-esm/src/operations/frontDoorNameAvailability.d.ts +19 -0
  41. package/dist-esm/src/operations/frontDoorNameAvailability.d.ts.map +1 -0
  42. package/dist-esm/src/operations/frontDoorNameAvailability.js +49 -0
  43. package/dist-esm/src/operations/frontDoorNameAvailability.js.map +1 -0
  44. package/dist-esm/src/operations/frontDoorNameAvailabilityWithSubscription.d.ts +19 -0
  45. package/dist-esm/src/operations/frontDoorNameAvailabilityWithSubscription.d.ts.map +1 -0
  46. package/dist-esm/src/operations/frontDoorNameAvailabilityWithSubscription.js +49 -0
  47. package/dist-esm/src/operations/frontDoorNameAvailabilityWithSubscription.js.map +1 -0
  48. package/dist-esm/src/operations/frontDoors.d.ts +100 -0
  49. package/dist-esm/src/operations/frontDoors.d.ts.map +1 -0
  50. package/dist-esm/src/operations/frontDoors.js +453 -0
  51. package/dist-esm/src/operations/frontDoors.js.map +1 -0
  52. package/dist-esm/src/operations/frontendEndpoints.d.ts +81 -0
  53. package/dist-esm/src/operations/frontendEndpoints.d.ts.map +1 -0
  54. package/dist-esm/src/operations/frontendEndpoints.js +331 -0
  55. package/dist-esm/src/operations/frontendEndpoints.js.map +1 -0
  56. package/{esm → dist-esm/src}/operations/index.d.ts +2 -0
  57. package/dist-esm/src/operations/index.d.ts.map +1 -0
  58. package/dist-esm/src/operations/index.js +20 -0
  59. package/dist-esm/src/operations/index.js.map +1 -0
  60. package/dist-esm/src/operations/managedRuleSets.d.ts +32 -0
  61. package/dist-esm/src/operations/managedRuleSets.d.ts.map +1 -0
  62. package/dist-esm/src/operations/managedRuleSets.js +124 -0
  63. package/dist-esm/src/operations/managedRuleSets.js.map +1 -0
  64. package/dist-esm/src/operations/networkExperimentProfiles.d.ts +107 -0
  65. package/dist-esm/src/operations/networkExperimentProfiles.d.ts.map +1 -0
  66. package/dist-esm/src/operations/networkExperimentProfiles.js +500 -0
  67. package/dist-esm/src/operations/networkExperimentProfiles.js.map +1 -0
  68. package/dist-esm/src/operations/policies.d.ts +73 -0
  69. package/dist-esm/src/operations/policies.d.ts.map +1 -0
  70. package/dist-esm/src/operations/policies.js +309 -0
  71. package/dist-esm/src/operations/policies.js.map +1 -0
  72. package/dist-esm/src/operations/preconfiguredEndpoints.d.ts +38 -0
  73. package/dist-esm/src/operations/preconfiguredEndpoints.d.ts.map +1 -0
  74. package/dist-esm/src/operations/preconfiguredEndpoints.js +137 -0
  75. package/dist-esm/src/operations/preconfiguredEndpoints.js.map +1 -0
  76. package/dist-esm/src/operations/reports.d.ts +34 -0
  77. package/dist-esm/src/operations/reports.d.ts.map +1 -0
  78. package/dist-esm/src/operations/reports.js +120 -0
  79. package/dist-esm/src/operations/reports.js.map +1 -0
  80. package/dist-esm/src/operations/rulesEngines.d.ts +83 -0
  81. package/dist-esm/src/operations/rulesEngines.d.ts.map +1 -0
  82. package/dist-esm/src/operations/rulesEngines.js +341 -0
  83. package/dist-esm/src/operations/rulesEngines.js.map +1 -0
  84. package/dist-esm/src/operationsInterfaces/endpoints.d.ts +26 -0
  85. package/dist-esm/src/operationsInterfaces/endpoints.d.ts.map +1 -0
  86. package/dist-esm/src/operationsInterfaces/endpoints.js +9 -0
  87. package/dist-esm/src/operationsInterfaces/endpoints.js.map +1 -0
  88. package/dist-esm/src/operationsInterfaces/experiments.d.ts +74 -0
  89. package/dist-esm/src/operationsInterfaces/experiments.d.ts.map +1 -0
  90. package/dist-esm/src/operationsInterfaces/experiments.js +9 -0
  91. package/dist-esm/src/operationsInterfaces/experiments.js.map +1 -0
  92. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailability.d.ts +11 -0
  93. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailability.d.ts.map +1 -0
  94. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailability.js +9 -0
  95. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailability.js.map +1 -0
  96. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailabilityWithSubscription.d.ts +11 -0
  97. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailabilityWithSubscription.d.ts.map +1 -0
  98. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailabilityWithSubscription.js +9 -0
  99. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailabilityWithSubscription.js.map +1 -0
  100. package/dist-esm/src/operationsInterfaces/frontDoors.d.ts +64 -0
  101. package/dist-esm/src/operationsInterfaces/frontDoors.d.ts.map +1 -0
  102. package/dist-esm/src/operationsInterfaces/frontDoors.js +9 -0
  103. package/dist-esm/src/operationsInterfaces/frontDoors.js.map +1 -0
  104. package/dist-esm/src/operationsInterfaces/frontendEndpoints.d.ts +56 -0
  105. package/dist-esm/src/operationsInterfaces/frontendEndpoints.d.ts.map +1 -0
  106. package/dist-esm/src/operationsInterfaces/frontendEndpoints.js +9 -0
  107. package/dist-esm/src/operationsInterfaces/frontendEndpoints.js.map +1 -0
  108. package/dist-esm/src/operationsInterfaces/index.d.ts +13 -0
  109. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
  110. package/dist-esm/src/operationsInterfaces/index.js +20 -0
  111. package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
  112. package/dist-esm/src/operationsInterfaces/managedRuleSets.d.ts +11 -0
  113. package/dist-esm/src/operationsInterfaces/managedRuleSets.d.ts.map +1 -0
  114. package/dist-esm/src/operationsInterfaces/managedRuleSets.js +9 -0
  115. package/dist-esm/src/operationsInterfaces/managedRuleSets.js.map +1 -0
  116. package/dist-esm/src/operationsInterfaces/networkExperimentProfiles.d.ts +71 -0
  117. package/dist-esm/src/operationsInterfaces/networkExperimentProfiles.d.ts.map +1 -0
  118. package/dist-esm/src/operationsInterfaces/networkExperimentProfiles.js +9 -0
  119. package/dist-esm/src/operationsInterfaces/networkExperimentProfiles.js.map +1 -0
  120. package/dist-esm/src/operationsInterfaces/policies.d.ts +50 -0
  121. package/dist-esm/src/operationsInterfaces/policies.d.ts.map +1 -0
  122. package/dist-esm/src/operationsInterfaces/policies.js +9 -0
  123. package/dist-esm/src/operationsInterfaces/policies.js.map +1 -0
  124. package/dist-esm/src/operationsInterfaces/preconfiguredEndpoints.d.ts +13 -0
  125. package/dist-esm/src/operationsInterfaces/preconfiguredEndpoints.d.ts.map +1 -0
  126. package/dist-esm/src/operationsInterfaces/preconfiguredEndpoints.js +9 -0
  127. package/dist-esm/src/operationsInterfaces/preconfiguredEndpoints.js.map +1 -0
  128. package/dist-esm/src/operationsInterfaces/reports.d.ts +26 -0
  129. package/dist-esm/src/operationsInterfaces/reports.d.ts.map +1 -0
  130. package/dist-esm/src/operationsInterfaces/reports.js +9 -0
  131. package/dist-esm/src/operationsInterfaces/reports.js.map +1 -0
  132. package/dist-esm/src/operationsInterfaces/rulesEngines.d.ts +58 -0
  133. package/dist-esm/src/operationsInterfaces/rulesEngines.d.ts.map +1 -0
  134. package/dist-esm/src/operationsInterfaces/rulesEngines.js +9 -0
  135. package/dist-esm/src/operationsInterfaces/rulesEngines.js.map +1 -0
  136. package/dist-esm/test/sampleTest.d.ts +2 -0
  137. package/dist-esm/test/sampleTest.d.ts.map +1 -0
  138. package/dist-esm/test/sampleTest.js +40 -0
  139. package/dist-esm/test/sampleTest.js.map +1 -0
  140. package/package.json +65 -32
  141. package/review/arm-frontdoor.api.md +1910 -0
  142. package/rollup.config.js +181 -30
  143. package/src/frontDoorManagementClient.ts +107 -164
  144. package/src/index.ts +12 -0
  145. package/src/lroImpl.ts +34 -0
  146. package/src/models/index.ts +2184 -2625
  147. package/src/models/mappers.ts +1796 -1578
  148. package/src/models/parameters.ts +228 -115
  149. package/src/operations/endpoints.ts +110 -59
  150. package/src/operations/experiments.ts +439 -238
  151. package/src/operations/frontDoorNameAvailability.ts +68 -0
  152. package/src/operations/frontDoorNameAvailabilityWithSubscription.ts +69 -0
  153. package/src/operations/frontDoors.ts +423 -310
  154. package/src/operations/frontendEndpoints.ts +334 -188
  155. package/src/operations/index.ts +5 -5
  156. package/src/operations/managedRuleSets.ts +92 -76
  157. package/src/operations/networkExperimentProfiles.ts +488 -297
  158. package/src/operations/policies.ts +305 -195
  159. package/src/operations/preconfiguredEndpoints.ts +125 -84
  160. package/src/operations/reports.ts +86 -118
  161. package/src/operations/rulesEngines.ts +343 -193
  162. package/src/operationsInterfaces/endpoints.ts +47 -0
  163. package/src/operationsInterfaces/experiments.ts +147 -0
  164. package/src/operationsInterfaces/frontDoorNameAvailability.ts +26 -0
  165. package/src/operationsInterfaces/frontDoorNameAvailabilityWithSubscription.ts +26 -0
  166. package/src/operationsInterfaces/frontDoors.ts +122 -0
  167. package/src/operationsInterfaces/frontendEndpoints.ts +104 -0
  168. package/{esm/operations/index.js → src/operationsInterfaces/index.ts} +6 -6
  169. package/src/operationsInterfaces/managedRuleSets.ts +25 -0
  170. package/src/operationsInterfaces/networkExperimentProfiles.ts +139 -0
  171. package/src/operationsInterfaces/policies.ts +97 -0
  172. package/src/operationsInterfaces/preconfiguredEndpoints.ts +29 -0
  173. package/src/operationsInterfaces/reports.ts +57 -0
  174. package/src/operationsInterfaces/rulesEngines.ts +111 -0
  175. package/tsconfig.json +3 -3
  176. package/types/arm-frontdoor.d.ts +3127 -0
  177. package/types/tsdoc-metadata.json +11 -0
  178. package/dist/arm-frontdoor.js +0 -5978
  179. package/dist/arm-frontdoor.js.map +0 -1
  180. package/dist/arm-frontdoor.min.js +0 -1
  181. package/dist/arm-frontdoor.min.js.map +0 -1
  182. package/esm/frontDoorManagementClient.d.ts +0 -70
  183. package/esm/frontDoorManagementClient.d.ts.map +0 -1
  184. package/esm/frontDoorManagementClient.js +0 -112
  185. package/esm/frontDoorManagementClient.js.map +0 -1
  186. package/esm/frontDoorManagementClientContext.d.ts +0 -22
  187. package/esm/frontDoorManagementClientContext.d.ts.map +0 -1
  188. package/esm/frontDoorManagementClientContext.js +0 -61
  189. package/esm/frontDoorManagementClientContext.js.map +0 -1
  190. package/esm/models/endpointsMappers.d.ts +0 -2
  191. package/esm/models/endpointsMappers.d.ts.map +0 -1
  192. package/esm/models/endpointsMappers.js +0 -9
  193. package/esm/models/endpointsMappers.js.map +0 -1
  194. package/esm/models/experimentsMappers.d.ts +0 -2
  195. package/esm/models/experimentsMappers.d.ts.map +0 -1
  196. package/esm/models/experimentsMappers.js +0 -9
  197. package/esm/models/experimentsMappers.js.map +0 -1
  198. package/esm/models/frontDoorsMappers.d.ts +0 -2
  199. package/esm/models/frontDoorsMappers.d.ts.map +0 -1
  200. package/esm/models/frontDoorsMappers.js +0 -9
  201. package/esm/models/frontDoorsMappers.js.map +0 -1
  202. package/esm/models/frontendEndpointsMappers.d.ts +0 -2
  203. package/esm/models/frontendEndpointsMappers.d.ts.map +0 -1
  204. package/esm/models/frontendEndpointsMappers.js +0 -9
  205. package/esm/models/frontendEndpointsMappers.js.map +0 -1
  206. package/esm/models/index.d.ts +0 -2901
  207. package/esm/models/index.d.ts.map +0 -1
  208. package/esm/models/index.js +0 -8
  209. package/esm/models/index.js.map +0 -1
  210. package/esm/models/managedRuleSetsMappers.d.ts +0 -2
  211. package/esm/models/managedRuleSetsMappers.d.ts.map +0 -1
  212. package/esm/models/managedRuleSetsMappers.js +0 -9
  213. package/esm/models/managedRuleSetsMappers.js.map +0 -1
  214. package/esm/models/mappers.d.ts +0 -84
  215. package/esm/models/mappers.d.ts.map +0 -1
  216. package/esm/models/mappers.js.map +0 -1
  217. package/esm/models/networkExperimentProfilesMappers.d.ts +0 -2
  218. package/esm/models/networkExperimentProfilesMappers.d.ts.map +0 -1
  219. package/esm/models/networkExperimentProfilesMappers.js +0 -9
  220. package/esm/models/networkExperimentProfilesMappers.js.map +0 -1
  221. package/esm/models/parameters.d.ts +0 -22
  222. package/esm/models/parameters.d.ts.map +0 -1
  223. package/esm/models/parameters.js +0 -252
  224. package/esm/models/parameters.js.map +0 -1
  225. package/esm/models/policiesMappers.d.ts +0 -2
  226. package/esm/models/policiesMappers.d.ts.map +0 -1
  227. package/esm/models/policiesMappers.js +0 -9
  228. package/esm/models/policiesMappers.js.map +0 -1
  229. package/esm/models/preconfiguredEndpointsMappers.d.ts +0 -2
  230. package/esm/models/preconfiguredEndpointsMappers.d.ts.map +0 -1
  231. package/esm/models/preconfiguredEndpointsMappers.js +0 -9
  232. package/esm/models/preconfiguredEndpointsMappers.js.map +0 -1
  233. package/esm/models/reportsMappers.d.ts +0 -2
  234. package/esm/models/reportsMappers.d.ts.map +0 -1
  235. package/esm/models/reportsMappers.js +0 -9
  236. package/esm/models/reportsMappers.js.map +0 -1
  237. package/esm/models/rulesEnginesMappers.d.ts +0 -2
  238. package/esm/models/rulesEnginesMappers.d.ts.map +0 -1
  239. package/esm/models/rulesEnginesMappers.js +0 -9
  240. package/esm/models/rulesEnginesMappers.js.map +0 -1
  241. package/esm/operations/endpoints.d.ts +0 -36
  242. package/esm/operations/endpoints.d.ts.map +0 -1
  243. package/esm/operations/endpoints.js +0 -87
  244. package/esm/operations/endpoints.js.map +0 -1
  245. package/esm/operations/experiments.d.ts +0 -137
  246. package/esm/operations/experiments.d.ts.map +0 -1
  247. package/esm/operations/experiments.js +0 -302
  248. package/esm/operations/experiments.js.map +0 -1
  249. package/esm/operations/frontDoors.d.ts +0 -165
  250. package/esm/operations/frontDoors.d.ts.map +0 -1
  251. package/esm/operations/frontDoors.js +0 -315
  252. package/esm/operations/frontDoors.js.map +0 -1
  253. package/esm/operations/frontendEndpoints.d.ts +0 -115
  254. package/esm/operations/frontendEndpoints.d.ts.map +0 -1
  255. package/esm/operations/frontendEndpoints.js +0 -229
  256. package/esm/operations/frontendEndpoints.js.map +0 -1
  257. package/esm/operations/index.d.ts.map +0 -1
  258. package/esm/operations/index.js.map +0 -1
  259. package/esm/operations/managedRuleSets.d.ts +0 -46
  260. package/esm/operations/managedRuleSets.d.ts.map +0 -1
  261. package/esm/operations/managedRuleSets.js +0 -80
  262. package/esm/operations/managedRuleSets.js.map +0 -1
  263. package/esm/operations/networkExperimentProfiles.d.ts +0 -158
  264. package/esm/operations/networkExperimentProfiles.d.ts.map +0 -1
  265. package/esm/operations/networkExperimentProfiles.js +0 -339
  266. package/esm/operations/networkExperimentProfiles.js.map +0 -1
  267. package/esm/operations/policies.d.ts +0 -105
  268. package/esm/operations/policies.d.ts.map +0 -1
  269. package/esm/operations/policies.js +0 -225
  270. package/esm/operations/policies.js.map +0 -1
  271. package/esm/operations/preconfiguredEndpoints.d.ts +0 -52
  272. package/esm/operations/preconfiguredEndpoints.d.ts.map +0 -1
  273. package/esm/operations/preconfiguredEndpoints.js +0 -84
  274. package/esm/operations/preconfiguredEndpoints.js.map +0 -1
  275. package/esm/operations/reports.d.ts +0 -85
  276. package/esm/operations/reports.d.ts.map +0 -1
  277. package/esm/operations/reports.js +0 -107
  278. package/esm/operations/reports.js.map +0 -1
  279. package/esm/operations/rulesEngines.d.ts +0 -119
  280. package/esm/operations/rulesEngines.d.ts.map +0 -1
  281. package/esm/operations/rulesEngines.js +0 -240
  282. package/esm/operations/rulesEngines.js.map +0 -1
  283. package/src/frontDoorManagementClientContext.ts +0 -67
  284. package/src/models/endpointsMappers.ts +0 -13
  285. package/src/models/experimentsMappers.ts +0 -59
  286. package/src/models/frontDoorsMappers.ts +0 -60
  287. package/src/models/frontendEndpointsMappers.ts +0 -58
  288. package/src/models/managedRuleSetsMappers.ts +0 -58
  289. package/src/models/networkExperimentProfilesMappers.ts +0 -59
  290. package/src/models/policiesMappers.ts +0 -59
  291. package/src/models/preconfiguredEndpointsMappers.ts +0 -58
  292. package/src/models/reportsMappers.ts +0 -57
  293. package/src/models/rulesEnginesMappers.ts +0 -58
@@ -1 +0,0 @@
1
- {"version":3,"file":"arm-frontdoor.js","sources":["../node_modules/tslib/tslib.es6.js","../src/models/index.ts","../src/models/mappers.ts","../src/models/parameters.ts","../src/models/networkExperimentProfilesMappers.ts","../src/operations/networkExperimentProfiles.ts","../src/models/preconfiguredEndpointsMappers.ts","../src/operations/preconfiguredEndpoints.ts","../src/models/experimentsMappers.ts","../src/operations/experiments.ts","../src/models/reportsMappers.ts","../src/operations/reports.ts","../src/models/frontDoorsMappers.ts","../src/operations/frontDoors.ts","../src/models/frontendEndpointsMappers.ts","../src/operations/frontendEndpoints.ts","../src/models/endpointsMappers.ts","../src/operations/endpoints.ts","../src/models/rulesEnginesMappers.ts","../src/operations/rulesEngines.ts","../src/models/policiesMappers.ts","../src/operations/policies.ts","../src/models/managedRuleSetsMappers.ts","../src/operations/managedRuleSets.ts","../src/frontDoorManagementClientContext.ts","../src/frontDoorManagementClient.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { BaseResource, CloudError, AzureServiceClientOptions } from \"@azure/ms-rest-azure-js\";\nimport * as msRest from \"@azure/ms-rest-js\";\n\nexport { BaseResource, CloudError };\n\n/**\n * An interface representing ErrorDetails.\n */\nexport interface ErrorDetails {\n code?: string;\n target?: string;\n message?: string;\n}\n\n/**\n * An interface representing ErrorModel.\n */\nexport interface ErrorModel {\n code?: string;\n message?: string;\n target?: string;\n details?: ErrorDetails[];\n innerError?: string;\n}\n\n/**\n * The response body contains the status of the specified asynchronous operation, indicating\n * whether it has succeeded, is in progress, or has failed. Note that this status is distinct from\n * the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous\n * operation succeeded, the response body includes the HTTP status code for the successful request.\n * If the asynchronous operation failed, the response body includes the HTTP status code for the\n * failed request and error information regarding the failure.\n */\nexport interface AzureAsyncOperationResult {\n /**\n * Status of the Azure async operation. Possible values are: 'InProgress', 'Succeeded', and\n * 'Failed'. Possible values include: 'InProgress', 'Succeeded', 'Failed'\n */\n status?: NetworkOperationStatus;\n error?: ErrorModel;\n}\n\n/**\n * Common resource representation.\n */\nexport interface Resource extends BaseResource {\n /**\n * Resource ID.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly id?: string;\n /**\n * Resource name.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly name?: string;\n /**\n * Resource type.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly type?: string;\n /**\n * Resource location.\n */\n location?: string;\n /**\n * Resource tags.\n */\n tags?: { [propertyName: string]: string };\n}\n\n/**\n * Reference to another subresource.\n */\nexport interface SubResource extends BaseResource {\n /**\n * Resource ID.\n */\n id?: string;\n}\n\n/**\n * Tags object for patch operations.\n */\nexport interface TagsObject {\n /**\n * Resource tags.\n */\n tags?: { [propertyName: string]: string };\n}\n\n/**\n * Defines an Network Experiment Profile and lists of Experiments\n */\nexport interface Profile extends Resource {\n /**\n * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling',\n * 'Disabled', 'Deleting'\n */\n resourceState?: NetworkExperimentResourceState;\n /**\n * The state of the Experiment. Possible values include: 'Enabled', 'Disabled'\n */\n enabledState?: State;\n /**\n * Gets a unique read-only string that changes whenever the resource is updated.\n */\n etag?: string;\n}\n\n/**\n * Defines the endpoint properties\n */\nexport interface Endpoint {\n /**\n * The name of the endpoint\n */\n name?: string;\n /**\n * The endpoint URL\n */\n endpoint?: string;\n}\n\n/**\n * Defines modifiable attributes of a Profile\n */\nexport interface ProfileUpdateModel {\n /**\n * The enabled state of the Profile. Possible values include: 'Enabled', 'Disabled'\n */\n enabledState?: State;\n /**\n * Resource tags.\n */\n tags?: { [propertyName: string]: string };\n}\n\n/**\n * Defines modifiable attributes of an Experiment\n */\nexport interface ExperimentUpdateModel {\n /**\n * Resource tags.\n */\n tags?: { [propertyName: string]: string };\n /**\n * The description of the intent or details of the Experiment\n */\n description?: string;\n /**\n * The state of the Experiment. Possible values include: 'Enabled', 'Disabled'\n */\n enabledState?: State;\n}\n\n/**\n * Defines the properties of an Experiment\n */\nexport interface Experiment extends Resource {\n /**\n * The description of the details or intents of the Experiment\n */\n description?: string;\n /**\n * The endpoint A of an experiment\n */\n endpointA?: Endpoint;\n /**\n * The endpoint B of an experiment\n */\n endpointB?: Endpoint;\n /**\n * The state of the Experiment. Possible values include: 'Enabled', 'Disabled'\n */\n enabledState?: State;\n /**\n * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling',\n * 'Disabled', 'Deleting'\n */\n resourceState?: NetworkExperimentResourceState;\n /**\n * The description of Experiment status from the server side\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly status?: string;\n /**\n * The uri to the Script used in the Experiment\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly scriptFileUri?: string;\n}\n\n/**\n * Defines the properties of a latency metric used in the latency scorecard\n */\nexport interface LatencyMetric {\n /**\n * The name of the Latency Metric\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly name?: string;\n /**\n * The end time of the Latency Scorecard in UTC\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly endDateTimeUTC?: string;\n /**\n * The metric value of the A endpoint\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly aValue?: number;\n /**\n * The metric value of the B endpoint\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly bValue?: number;\n /**\n * The difference in value between endpoint A and B\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly delta?: number;\n /**\n * The percent difference between endpoint A and B\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly deltaPercent?: number;\n /**\n * The lower end of the 95% confidence interval for endpoint A\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly aCLower95CI?: number;\n /**\n * The upper end of the 95% confidence interval for endpoint A\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly aHUpper95CI?: number;\n /**\n * The lower end of the 95% confidence interval for endpoint B\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly bCLower95CI?: number;\n /**\n * The upper end of the 95% confidence interval for endpoint B\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly bUpper95CI?: number;\n}\n\n/**\n * Defines the LatencyScorecard\n */\nexport interface LatencyScorecard extends Resource {\n /**\n * The unique identifier of the Latency Scorecard\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly latencyScorecardId?: string;\n /**\n * The name of the Latency Scorecard\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly latencyScorecardName?: string;\n /**\n * The description of the Latency Scorecard\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly description?: string;\n /**\n * The A endpoint in the scorecard\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly endpointA?: string;\n /**\n * The B endpoint in the scorecard\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly endpointB?: string;\n /**\n * The start time of the Latency Scorecard in UTC\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly startDateTimeUTC?: Date;\n /**\n * The end time of the Latency Scorecard in UTC\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly endDateTimeUTC?: Date;\n /**\n * The country associated with the Latency Scorecard. Values are country ISO codes as specified\n * here- https://www.iso.org/iso-3166-country-codes.html\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly country?: string;\n /**\n * The latency metrics of the Latency Scorecard\n */\n latencyMetrics?: LatencyMetric[];\n}\n\n/**\n * Defines a timeseries datapoint used in a timeseries\n */\nexport interface TimeseriesDataPoint {\n /**\n * The DateTime of the Timeseries data point in UTC\n */\n dateTimeUTC?: string;\n /**\n * The Value of the Timeseries data point\n */\n value?: number;\n}\n\n/**\n * Defines the Timeseries\n */\nexport interface Timeseries extends Resource {\n /**\n * The endpoint associated with the Timeseries data point\n */\n endpoint?: string;\n /**\n * The start DateTime of the Timeseries in UTC\n */\n startDateTimeUTC?: string;\n /**\n * The end DateTime of the Timeseries in UTC\n */\n endDateTimeUTC?: string;\n /**\n * The aggregation interval of the Timeseries. Possible values include: 'Hourly', 'Daily'\n */\n aggregationInterval?: AggregationInterval;\n /**\n * The type of Timeseries. Possible values include: 'MeasurementCounts', 'LatencyP50',\n * 'LatencyP75', 'LatencyP95'\n */\n timeseriesType?: TimeseriesType;\n /**\n * The country associated with the Timeseries. Values are country ISO codes as specified here-\n * https://www.iso.org/iso-3166-country-codes.html\n */\n country?: string;\n /**\n * The set of data points for the timeseries\n */\n timeseriesData?: TimeseriesDataPoint[];\n}\n\n/**\n * Defines the properties of a preconfigured endpoint\n */\nexport interface PreconfiguredEndpoint extends Resource {\n /**\n * The description of the endpoint\n */\n description?: string;\n /**\n * The endpoint that is preconfigured\n */\n endpoint?: string;\n /**\n * The type of endpoint. Possible values include: 'AFD', 'AzureRegion', 'CDN', 'ATM'\n */\n endpointType?: EndpointType;\n /**\n * The preconfigured endpoint backend\n */\n backend?: string;\n}\n\n/**\n * Error response indicates Front Door service is not able to process the incoming request. The\n * reason is provided in the error message.\n */\nexport interface ErrorResponse {\n /**\n * Error code.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly code?: string;\n /**\n * Error message indicating why the operation failed.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly message?: string;\n}\n\n/**\n * A rules engine configuration containing a list of rules that will run to modify the runtime\n * behavior of the request and response.\n */\nexport interface RulesEngine extends BaseResource {\n /**\n * A list of rules that define a particular Rules Engine Configuration.\n */\n rules?: RulesEngineRule[];\n /**\n * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling',\n * 'Disabled', 'Deleting'\n */\n resourceState?: FrontDoorResourceState;\n /**\n * Resource name.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly name?: string;\n /**\n * Resource type.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly type?: string;\n /**\n * Resource ID.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly id?: string;\n}\n\n/**\n * Front Door represents a collection of backend endpoints to route traffic to along with rules\n * that specify how traffic is sent there.\n */\nexport interface FrontDoor extends Resource {\n /**\n * A friendly name for the frontDoor\n */\n friendlyName?: string;\n /**\n * Routing rules associated with this Front Door.\n */\n routingRules?: RoutingRule[];\n /**\n * Load balancing settings associated with this Front Door instance.\n */\n loadBalancingSettings?: LoadBalancingSettingsModel[];\n /**\n * Health probe settings associated with this Front Door instance.\n */\n healthProbeSettings?: HealthProbeSettingsModel[];\n /**\n * Backend pools available to routing rules.\n */\n backendPools?: BackendPool[];\n /**\n * Frontend endpoints available to routing rules.\n */\n frontendEndpoints?: FrontendEndpoint[];\n /**\n * Settings for all backendPools\n */\n backendPoolsSettings?: BackendPoolsSettings;\n /**\n * Operational status of the Front Door load balancer. Permitted values are 'Enabled' or\n * 'Disabled'. Possible values include: 'Enabled', 'Disabled'\n */\n enabledState?: FrontDoorEnabledState;\n /**\n * Resource status of the Front Door. Possible values include: 'Creating', 'Enabling', 'Enabled',\n * 'Disabling', 'Disabled', 'Deleting'\n */\n resourceState?: FrontDoorResourceState;\n /**\n * Provisioning state of the Front Door.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly provisioningState?: string;\n /**\n * The host that each frontendEndpoint must CNAME to.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly cname?: string;\n /**\n * The Id of the frontdoor.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly frontdoorId?: string;\n /**\n * Rules Engine Configurations available to routing rules.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly rulesEngines?: RulesEngine[];\n}\n\n/**\n * A routing rule represents a specification for traffic to treat and where to send it, along with\n * health probe information.\n */\nexport interface RoutingRule extends SubResource {\n /**\n * Frontend endpoints associated with this rule\n */\n frontendEndpoints?: SubResource[];\n /**\n * Protocol schemes to match for this rule\n */\n acceptedProtocols?: FrontDoorProtocol[];\n /**\n * The route patterns of the rule.\n */\n patternsToMatch?: string[];\n /**\n * Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'. Possible\n * values include: 'Enabled', 'Disabled'\n */\n enabledState?: RoutingRuleEnabledState;\n /**\n * A reference to the routing configuration.\n */\n routeConfiguration?: RouteConfigurationUnion;\n /**\n * A reference to a specific Rules Engine Configuration to apply to this route.\n */\n rulesEngine?: SubResource;\n /**\n * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling',\n * 'Disabled', 'Deleting'\n */\n resourceState?: FrontDoorResourceState;\n /**\n * Resource name.\n */\n name?: string;\n /**\n * Resource type.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly type?: string;\n}\n\n/**\n * Load balancing settings for a backend pool\n */\nexport interface LoadBalancingSettingsModel extends SubResource {\n /**\n * The number of samples to consider for load balancing decisions\n */\n sampleSize?: number;\n /**\n * The number of samples within the sample period that must succeed\n */\n successfulSamplesRequired?: number;\n /**\n * The additional latency in milliseconds for probes to fall into the lowest latency bucket\n */\n additionalLatencyMilliseconds?: number;\n /**\n * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling',\n * 'Disabled', 'Deleting'\n */\n resourceState?: FrontDoorResourceState;\n /**\n * Resource name.\n */\n name?: string;\n /**\n * Resource type.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly type?: string;\n}\n\n/**\n * Load balancing settings for a backend pool\n */\nexport interface HealthProbeSettingsModel extends SubResource {\n /**\n * The path to use for the health probe. Default is /\n */\n path?: string;\n /**\n * Protocol scheme to use for this probe. Possible values include: 'Http', 'Https'\n */\n protocol?: FrontDoorProtocol;\n /**\n * The number of seconds between health probes.\n */\n intervalInSeconds?: number;\n /**\n * Configures which HTTP method to use to probe the backends defined under backendPools. Possible\n * values include: 'GET', 'HEAD'. Default value: 'HEAD'.\n */\n healthProbeMethod?: FrontDoorHealthProbeMethod;\n /**\n * Whether to enable health probes to be made against backends defined under backendPools. Health\n * probes can only be disabled if there is a single enabled backend in single enabled backend\n * pool. Possible values include: 'Enabled', 'Disabled'\n */\n enabledState?: HealthProbeEnabled;\n /**\n * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling',\n * 'Disabled', 'Deleting'\n */\n resourceState?: FrontDoorResourceState;\n /**\n * Resource name.\n */\n name?: string;\n /**\n * Resource type.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly type?: string;\n}\n\n/**\n * A backend pool is a collection of backends that can be routed to.\n */\nexport interface BackendPool extends SubResource {\n /**\n * The set of backends for this pool\n */\n backends?: Backend[];\n /**\n * Load balancing settings for a backend pool\n */\n loadBalancingSettings?: SubResource;\n /**\n * L7 health probe settings for a backend pool\n */\n healthProbeSettings?: SubResource;\n /**\n * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling',\n * 'Disabled', 'Deleting'\n */\n resourceState?: FrontDoorResourceState;\n /**\n * Resource name.\n */\n name?: string;\n /**\n * Resource type.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly type?: string;\n}\n\n/**\n * The Key Vault containing the SSL certificate\n */\nexport interface KeyVaultCertificateSourceParametersVault {\n /**\n * Resource ID.\n */\n id?: string;\n}\n\n/**\n * Https settings for a domain\n */\nexport interface CustomHttpsConfiguration {\n /**\n * Defines the source of the SSL certificate. Possible values include: 'AzureKeyVault',\n * 'FrontDoor'\n */\n certificateSource: FrontDoorCertificateSource;\n /**\n * The minimum TLS version required from the clients to establish an SSL handshake with Front\n * Door. Possible values include: '1.0', '1.2'\n */\n minimumTlsVersion: MinimumTLSVersion;\n /**\n * The Key Vault containing the SSL certificate\n */\n vault?: KeyVaultCertificateSourceParametersVault;\n /**\n * The name of the Key Vault secret representing the full certificate PFX\n */\n secretName?: string;\n /**\n * The version of the Key Vault secret representing the full certificate PFX\n */\n secretVersion?: string;\n /**\n * Defines the type of the certificate used for secure connections to a frontendEndpoint.\n * Possible values include: 'Dedicated'\n */\n certificateType?: FrontDoorCertificateType;\n}\n\n/**\n * A frontend endpoint used for routing.\n */\nexport interface FrontendEndpoint extends SubResource {\n /**\n * The host name of the frontendEndpoint. Must be a domain name.\n */\n hostName?: string;\n /**\n * Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'.\n * Possible values include: 'Enabled', 'Disabled'\n */\n sessionAffinityEnabledState?: SessionAffinityEnabledState;\n /**\n * UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if\n * applicable.\n */\n sessionAffinityTtlSeconds?: number;\n /**\n * Defines the Web Application Firewall policy for each host (if applicable)\n */\n webApplicationFirewallPolicyLink?: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink;\n /**\n * Resource status. Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling',\n * 'Disabled', 'Deleting'\n */\n resourceState?: FrontDoorResourceState;\n /**\n * Provisioning status of Custom Https of the frontendEndpoint. Possible values include:\n * 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Failed'\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly customHttpsProvisioningState?: CustomHttpsProvisioningState;\n /**\n * Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by\n * step. Possible values include: 'SubmittingDomainControlValidationRequest',\n * 'PendingDomainControlValidationREquestApproval', 'DomainControlValidationRequestApproved',\n * 'DomainControlValidationRequestRejected', 'DomainControlValidationRequestTimedOut',\n * 'IssuingCertificate', 'DeployingCertificate', 'CertificateDeployed', 'DeletingCertificate',\n * 'CertificateDeleted'\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly customHttpsProvisioningSubstate?: CustomHttpsProvisioningSubstate;\n /**\n * The configuration specifying how to enable HTTPS\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly customHttpsConfiguration?: CustomHttpsConfiguration;\n /**\n * Resource name.\n */\n name?: string;\n /**\n * Resource type.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly type?: string;\n}\n\n/**\n * Settings that apply to all backend pools.\n */\nexport interface BackendPoolsSettings {\n /**\n * Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on\n * non-HTTPS requests. Possible values include: 'Enabled', 'Disabled'. Default value: 'Enabled'.\n */\n enforceCertificateNameCheck?: EnforceCertificateNameCheckEnabledState;\n /**\n * Send and receive timeout on forwarding request to the backend. When timeout is reached, the\n * request fails and returns.\n */\n sendRecvTimeoutSeconds?: number;\n}\n\n/**\n * The properties needed to update a Front Door\n */\nexport interface FrontDoorUpdateParameters {\n /**\n * A friendly name for the frontDoor\n */\n friendlyName?: string;\n /**\n * Routing rules associated with this Front Door.\n */\n routingRules?: RoutingRule[];\n /**\n * Load balancing settings associated with this Front Door instance.\n */\n loadBalancingSettings?: LoadBalancingSettingsModel[];\n /**\n * Health probe settings associated with this Front Door instance.\n */\n healthProbeSettings?: HealthProbeSettingsModel[];\n /**\n * Backend pools available to routing rules.\n */\n backendPools?: BackendPool[];\n /**\n * Frontend endpoints available to routing rules.\n */\n frontendEndpoints?: FrontendEndpoint[];\n /**\n * Settings for all backendPools\n */\n backendPoolsSettings?: BackendPoolsSettings;\n /**\n * Operational status of the Front Door load balancer. Permitted values are 'Enabled' or\n * 'Disabled'. Possible values include: 'Enabled', 'Disabled'\n */\n enabledState?: FrontDoorEnabledState;\n}\n\n/**\n * Parameters required for content purge.\n */\nexport interface PurgeParameters {\n /**\n * The path to the content to be purged. Can describe a file path or a wild card directory.\n */\n contentPaths: string[];\n}\n\n/**\n * Result of the request to list Routing Rules. It contains a list of Routing Rule objects and a\n * URL link to get the next set of results.\n */\nexport interface RoutingRuleListResult {\n /**\n * List of Routing Rules within a Front Door.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly value?: RoutingRule[];\n /**\n * URL to get the next set of RoutingRule objects if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * Contains the possible cases for RouteConfiguration.\n */\nexport type RouteConfigurationUnion = RouteConfiguration | ForwardingConfiguration | RedirectConfiguration;\n\n/**\n * Base class for all types of Route.\n */\nexport interface RouteConfiguration {\n /**\n * Polymorphic Discriminator\n */\n odatatype: \"RouteConfiguration\";\n}\n\n/**\n * Routing rules to apply to an endpoint\n */\nexport interface RoutingRuleUpdateParameters {\n /**\n * Frontend endpoints associated with this rule\n */\n frontendEndpoints?: SubResource[];\n /**\n * Protocol schemes to match for this rule\n */\n acceptedProtocols?: FrontDoorProtocol[];\n /**\n * The route patterns of the rule.\n */\n patternsToMatch?: string[];\n /**\n * Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'. Possible\n * values include: 'Enabled', 'Disabled'\n */\n enabledState?: RoutingRuleEnabledState;\n /**\n * A reference to the routing configuration.\n */\n routeConfiguration?: RouteConfigurationUnion;\n /**\n * A reference to a specific Rules Engine Configuration to apply to this route.\n */\n rulesEngine?: SubResource;\n}\n\n/**\n * Caching settings for a caching-type route. To disable caching, do not provide a\n * cacheConfiguration object.\n */\nexport interface CacheConfiguration {\n /**\n * Treatment of URL query terms when forming the cache key. Possible values include: 'StripNone',\n * 'StripAll', 'StripOnly', 'StripAllExcept'\n */\n queryParameterStripDirective?: FrontDoorQuery;\n /**\n * query parameters to include or exclude (comma separated).\n */\n queryParameters?: string;\n /**\n * Whether to use dynamic compression for cached content. Possible values include: 'Enabled',\n * 'Disabled'\n */\n dynamicCompression?: DynamicCompressionEnabled;\n /**\n * The duration for which the content needs to be cached. Allowed format is in ISO 8601 format\n * (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requires the value to be no more than\n * a year\n */\n cacheDuration?: string;\n}\n\n/**\n * Describes Forwarding Route.\n */\nexport interface ForwardingConfiguration {\n /**\n * Polymorphic Discriminator\n */\n odatatype: \"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\";\n /**\n * A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming\n * path.\n */\n customForwardingPath?: string;\n /**\n * Protocol this rule will use when forwarding traffic to backends. Possible values include:\n * 'HttpOnly', 'HttpsOnly', 'MatchRequest'\n */\n forwardingProtocol?: FrontDoorForwardingProtocol;\n /**\n * The caching configuration associated with this rule.\n */\n cacheConfiguration?: CacheConfiguration;\n /**\n * A reference to the BackendPool which this rule routes to.\n */\n backendPool?: SubResource;\n}\n\n/**\n * Describes Redirect Route.\n */\nexport interface RedirectConfiguration {\n /**\n * Polymorphic Discriminator\n */\n odatatype: \"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\";\n /**\n * The redirect type the rule will use when redirecting traffic. Possible values include:\n * 'Moved', 'Found', 'TemporaryRedirect', 'PermanentRedirect'\n */\n redirectType?: FrontDoorRedirectType;\n /**\n * The protocol of the destination to where the traffic is redirected. Possible values include:\n * 'HttpOnly', 'HttpsOnly', 'MatchRequest'\n */\n redirectProtocol?: FrontDoorRedirectProtocol;\n /**\n * Host to redirect. Leave empty to use the incoming host as the destination host.\n */\n customHost?: string;\n /**\n * The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the\n * incoming path as destination path.\n */\n customPath?: string;\n /**\n * Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do\n * not include the #.\n */\n customFragment?: string;\n /**\n * The set of query strings to be placed in the redirect URL. Setting this value would replace\n * any existing query string; leave empty to preserve the incoming query string. Query string\n * must be in <key>=<value> format. The first ? and & will be added automatically so do not\n * include them in the front, but do separate multiple query strings with &.\n */\n customQueryString?: string;\n}\n\n/**\n * Backend address of a frontDoor load balancer.\n */\nexport interface Backend {\n /**\n * Location of the backend (IP address or FQDN)\n */\n address?: string;\n /**\n * The Alias of the Private Link resource. Populating this optional field indicates that this\n * backend is 'Private'\n */\n privateLinkAlias?: string;\n /**\n * The Approval status for the connection to the Private Link. Possible values include:\n * 'Pending', 'Approved', 'Rejected', 'Disconnected', 'Timeout'\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly privateEndpointStatus?: PrivateEndpointStatus;\n /**\n * A custom message to be included in the approval request to connect to the Private Link\n */\n privateLinkApprovalMessage?: string;\n /**\n * The HTTP TCP port number. Must be between 1 and 65535.\n */\n httpPort?: number;\n /**\n * The HTTPS TCP port number. Must be between 1 and 65535.\n */\n httpsPort?: number;\n /**\n * Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'. Possible\n * values include: 'Enabled', 'Disabled'\n */\n enabledState?: BackendEnabledState;\n /**\n * Priority to use for load balancing. Higher priorities will not be used for load balancing if\n * any lower priority backend is healthy.\n */\n priority?: number;\n /**\n * Weight of this endpoint for load balancing purposes.\n */\n weight?: number;\n /**\n * The value to use as the host header sent to the backend. If blank or unspecified, this\n * defaults to the incoming host.\n */\n backendHostHeader?: string;\n}\n\n/**\n * Result of the request to list load balancing settings. It contains a list of load balancing\n * settings objects and a URL link to get the next set of results.\n */\nexport interface LoadBalancingSettingsListResult {\n /**\n * List of Backend Pools within a Front Door.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly value?: LoadBalancingSettingsModel[];\n /**\n * URL to get the next set of LoadBalancingSettings objects if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * Round-Robin load balancing settings for a backend pool\n */\nexport interface LoadBalancingSettingsUpdateParameters {\n /**\n * The number of samples to consider for load balancing decisions\n */\n sampleSize?: number;\n /**\n * The number of samples within the sample period that must succeed\n */\n successfulSamplesRequired?: number;\n /**\n * The additional latency in milliseconds for probes to fall into the lowest latency bucket\n */\n additionalLatencyMilliseconds?: number;\n}\n\n/**\n * Result of the request to list HealthProbeSettings. It contains a list of HealthProbeSettings\n * objects and a URL link to get the next set of results.\n */\nexport interface HealthProbeSettingsListResult {\n /**\n * List of HealthProbeSettings within a Front Door.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly value?: HealthProbeSettingsModel[];\n /**\n * URL to get the next set of HealthProbeSettings objects if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * L7 health probe settings for a backend pool\n */\nexport interface HealthProbeSettingsUpdateParameters {\n /**\n * The path to use for the health probe. Default is /\n */\n path?: string;\n /**\n * Protocol scheme to use for this probe. Possible values include: 'Http', 'Https'\n */\n protocol?: FrontDoorProtocol;\n /**\n * The number of seconds between health probes.\n */\n intervalInSeconds?: number;\n /**\n * Configures which HTTP method to use to probe the backends defined under backendPools. Possible\n * values include: 'GET', 'HEAD'. Default value: 'HEAD'.\n */\n healthProbeMethod?: FrontDoorHealthProbeMethod;\n /**\n * Whether to enable health probes to be made against backends defined under backendPools. Health\n * probes can only be disabled if there is a single enabled backend in single enabled backend\n * pool. Possible values include: 'Enabled', 'Disabled'\n */\n enabledState?: HealthProbeEnabled;\n}\n\n/**\n * A collection of backends that can be routed to.\n */\nexport interface BackendPoolUpdateParameters {\n /**\n * The set of backends for this pool\n */\n backends?: Backend[];\n /**\n * Load balancing settings for a backend pool\n */\n loadBalancingSettings?: SubResource;\n /**\n * L7 health probe settings for a backend pool\n */\n healthProbeSettings?: SubResource;\n}\n\n/**\n * Result of the request to list Backend Pools. It contains a list of Backend Pools objects and a\n * URL link to get the next set of results.\n */\nexport interface BackendPoolListResult {\n /**\n * List of Backend Pools within a Front Door.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly value?: BackendPool[];\n /**\n * URL to get the next set of BackendPool objects if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * Defines the Web Application Firewall policy for each host (if applicable)\n */\nexport interface FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink {\n /**\n * Resource ID.\n */\n id?: string;\n}\n\n/**\n * Frontend endpoint used in routing rule\n */\nexport interface FrontendEndpointUpdateParameters {\n /**\n * The host name of the frontendEndpoint. Must be a domain name.\n */\n hostName?: string;\n /**\n * Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'.\n * Possible values include: 'Enabled', 'Disabled'\n */\n sessionAffinityEnabledState?: SessionAffinityEnabledState;\n /**\n * UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if\n * applicable.\n */\n sessionAffinityTtlSeconds?: number;\n /**\n * Defines the Web Application Firewall policy for each host (if applicable)\n */\n webApplicationFirewallPolicyLink?: FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink;\n}\n\n/**\n * An action that can manipulate an http header.\n */\nexport interface HeaderAction {\n /**\n * Which type of manipulation to apply to the header. Possible values include: 'Append',\n * 'Delete', 'Overwrite'\n */\n headerActionType: HeaderActionType;\n /**\n * The name of the header this action will apply to.\n */\n headerName: string;\n /**\n * The value to update the given header name with. This value is not used if the actionType is\n * Delete.\n */\n value?: string;\n}\n\n/**\n * Define a match condition\n */\nexport interface RulesEngineMatchCondition {\n /**\n * Match Variable. Possible values include: 'IsMobile', 'RemoteAddr', 'RequestMethod',\n * 'QueryString', 'PostArgs', 'RequestUri', 'RequestPath', 'RequestFilename',\n * 'RequestFilenameExtension', 'RequestHeader', 'RequestBody', 'RequestScheme'\n */\n rulesEngineMatchVariable: RulesEngineMatchVariable;\n /**\n * Name of selector in RequestHeader or RequestBody to be matched\n */\n selector?: string;\n /**\n * Describes operator to apply to the match condition. Possible values include: 'Any', 'IPMatch',\n * 'GeoMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual',\n * 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith'\n */\n rulesEngineOperator: RulesEngineOperator;\n /**\n * Describes if this is negate condition or not\n */\n negateCondition?: boolean;\n /**\n * Match values to match against. The operator will apply to each value in here with OR\n * semantics. If any of them match the variable with the given operator this match condition is\n * considered a match.\n */\n rulesEngineMatchValue: string[];\n /**\n * List of transforms\n */\n transforms?: Transform[];\n}\n\n/**\n * One or more actions that will execute, modifying the request and/or response.\n */\nexport interface RulesEngineAction {\n /**\n * A list of header actions to apply from the request from AFD to the origin.\n */\n requestHeaderActions?: HeaderAction[];\n /**\n * A list of header actions to apply from the response from AFD to the client.\n */\n responseHeaderActions?: HeaderAction[];\n /**\n * Override the route configuration.\n */\n routeConfigurationOverride?: RouteConfigurationUnion;\n}\n\n/**\n * Contains a list of match conditions, and an action on how to modify the request/response. If\n * multiple rules match, the actions from one rule that conflict with a previous rule overwrite for\n * a singular action, or append in the case of headers manipulation.\n */\nexport interface RulesEngineRule {\n /**\n * A name to refer to this specific rule.\n */\n name: string;\n /**\n * A priority assigned to this rule.\n */\n priority: number;\n /**\n * Actions to perform on the request and response if all of the match conditions are met.\n */\n action: RulesEngineAction;\n /**\n * A list of match conditions that must meet in order for the actions of this rule to run. Having\n * no match conditions means the actions will always run.\n */\n matchConditions?: RulesEngineMatchCondition[];\n /**\n * If this rule is a match should the rules engine continue running the remaining rules or stop.\n * If not present, defaults to Continue. Possible values include: 'Continue', 'Stop'\n */\n matchProcessingBehavior?: MatchProcessingBehavior;\n}\n\n/**\n * Rules Engine Configuration to apply to a Routing Rule.\n */\nexport interface RulesEngineUpdateParameters {\n /**\n * A list of rules that define a particular Rules Engine Configuration.\n */\n rules?: RulesEngineRule[];\n}\n\n/**\n * Input of the custom domain to be validated for DNS mapping.\n */\nexport interface ValidateCustomDomainInput {\n /**\n * The host name of the custom domain. Must be a domain name.\n */\n hostName: string;\n}\n\n/**\n * Output of custom domain validation.\n */\nexport interface ValidateCustomDomainOutput {\n /**\n * Indicates whether the custom domain is valid or not.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly customDomainValidated?: boolean;\n /**\n * The reason why the custom domain is not valid.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly reason?: string;\n /**\n * Error message describing why the custom domain is not valid.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly message?: string;\n}\n\n/**\n * Input of CheckNameAvailability API.\n */\nexport interface CheckNameAvailabilityInput {\n /**\n * The resource name to validate.\n */\n name: string;\n /**\n * The type of the resource whose name is to be validated. Possible values include:\n * 'Microsoft.Network/frontDoors', 'Microsoft.Network/frontDoors/frontendEndpoints'\n */\n type: ResourceType;\n}\n\n/**\n * Output of check name availability API.\n */\nexport interface CheckNameAvailabilityOutput {\n /**\n * Indicates whether the name is available. Possible values include: 'Available', 'Unavailable'\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly nameAvailability?: Availability;\n /**\n * The reason why the name is not available.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly reason?: string;\n /**\n * The detailed error message describing why the name is not available.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly message?: string;\n}\n\n/**\n * Defines top-level WebApplicationFirewallPolicy configuration settings.\n */\nexport interface PolicySettings {\n /**\n * Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified.\n * Possible values include: 'Disabled', 'Enabled'\n */\n enabledState?: PolicyEnabledState;\n /**\n * Describes if it is in detection mode or prevention mode at policy level. Possible values\n * include: 'Prevention', 'Detection'\n */\n mode?: PolicyMode;\n /**\n * If action type is redirect, this field represents redirect URL for the client.\n */\n redirectUrl?: string;\n /**\n * If the action type is block, customer can override the response status code.\n */\n customBlockResponseStatusCode?: number;\n /**\n * If the action type is block, customer can override the response body. The body must be\n * specified in base64 encoding.\n */\n customBlockResponseBody?: string;\n}\n\n/**\n * Define a match condition.\n */\nexport interface MatchCondition {\n /**\n * Request variable to compare with. Possible values include: 'RemoteAddr', 'RequestMethod',\n * 'QueryString', 'PostArgs', 'RequestUri', 'RequestHeader', 'RequestBody', 'Cookies',\n * 'SocketAddr'\n */\n matchVariable: MatchVariable;\n /**\n * Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies\n * variables. Default is null.\n */\n selector?: string;\n /**\n * Comparison type to use for matching with the variable value. Possible values include: 'Any',\n * 'IPMatch', 'GeoMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual',\n * 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx'\n */\n operator: Operator;\n /**\n * Describes if the result of this condition should be negated.\n */\n negateCondition?: boolean;\n /**\n * List of possible match values.\n */\n matchValue: string[];\n /**\n * List of transforms.\n */\n transforms?: TransformType[];\n}\n\n/**\n * Defines contents of a web application rule\n */\nexport interface CustomRule {\n /**\n * Describes the name of the rule.\n */\n name?: string;\n /**\n * Describes priority of the rule. Rules with a lower value will be evaluated before rules with a\n * higher value.\n */\n priority: number;\n /**\n * Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not\n * specified. Possible values include: 'Disabled', 'Enabled'\n */\n enabledState?: CustomRuleEnabledState;\n /**\n * Describes type of rule. Possible values include: 'MatchRule', 'RateLimitRule'\n */\n ruleType: RuleType;\n /**\n * Time window for resetting the rate limit count. Default is 1 minute.\n */\n rateLimitDurationInMinutes?: number;\n /**\n * Number of allowed requests per client within the time window.\n */\n rateLimitThreshold?: number;\n /**\n * List of match conditions.\n */\n matchConditions: MatchCondition[];\n /**\n * Describes what action to be applied when rule matches. Possible values include: 'Allow',\n * 'Block', 'Log', 'Redirect'\n */\n action: ActionType;\n}\n\n/**\n * Defines contents of custom rules\n */\nexport interface CustomRuleList {\n /**\n * List of rules\n */\n rules?: CustomRule[];\n}\n\n/**\n * Exclude variables from managed rule evaluation.\n */\nexport interface ManagedRuleExclusion {\n /**\n * The variable type to be excluded. Possible values include: 'RequestHeaderNames',\n * 'RequestCookieNames', 'QueryStringArgNames', 'RequestBodyPostArgNames'\n */\n matchVariable: ManagedRuleExclusionMatchVariable;\n /**\n * Comparison operator to apply to the selector when specifying which elements in the collection\n * this exclusion applies to. Possible values include: 'Equals', 'Contains', 'StartsWith',\n * 'EndsWith', 'EqualsAny'\n */\n selectorMatchOperator: ManagedRuleExclusionSelectorMatchOperator;\n /**\n * Selector value for which elements in the collection this exclusion applies to.\n */\n selector: string;\n}\n\n/**\n * Defines a managed rule group override setting.\n */\nexport interface ManagedRuleOverride {\n /**\n * Identifier for the managed rule.\n */\n ruleId: string;\n /**\n * Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not\n * specified. Possible values include: 'Disabled', 'Enabled'\n */\n enabledState?: ManagedRuleEnabledState;\n /**\n * Describes the override action to be applied when rule matches. Possible values include:\n * 'Allow', 'Block', 'Log', 'Redirect'\n */\n action?: ActionType;\n /**\n * Describes the exclusions that are applied to this specific rule.\n */\n exclusions?: ManagedRuleExclusion[];\n}\n\n/**\n * Defines a managed rule group override setting.\n */\nexport interface ManagedRuleGroupOverride {\n /**\n * Describes the managed rule group to override.\n */\n ruleGroupName: string;\n /**\n * Describes the exclusions that are applied to all rules in the group.\n */\n exclusions?: ManagedRuleExclusion[];\n /**\n * List of rules that will be disabled. If none specified, all rules in the group will be\n * disabled.\n */\n rules?: ManagedRuleOverride[];\n}\n\n/**\n * Defines a managed rule set.\n */\nexport interface ManagedRuleSet {\n /**\n * Defines the rule set type to use.\n */\n ruleSetType: string;\n /**\n * Defines the version of the rule set to use.\n */\n ruleSetVersion: string;\n /**\n * Describes the exclusions that are applied to all rules in the set.\n */\n exclusions?: ManagedRuleExclusion[];\n /**\n * Defines the rule group overrides to apply to the rule set.\n */\n ruleGroupOverrides?: ManagedRuleGroupOverride[];\n}\n\n/**\n * Defines the list of managed rule sets for the policy.\n */\nexport interface ManagedRuleSetList {\n /**\n * List of rule sets.\n */\n managedRuleSets?: ManagedRuleSet[];\n}\n\n/**\n * Defines the Resource ID for a Frontend Endpoint.\n */\nexport interface FrontendEndpointLink {\n /**\n * Resource ID.\n */\n id?: string;\n}\n\n/**\n * Defines web application firewall policy.\n */\nexport interface WebApplicationFirewallPolicy extends Resource {\n /**\n * Describes settings for the policy.\n */\n policySettings?: PolicySettings;\n /**\n * Describes custom rules inside the policy.\n */\n customRules?: CustomRuleList;\n /**\n * Describes managed rules inside the policy.\n */\n managedRules?: ManagedRuleSetList;\n /**\n * Describes Frontend Endpoints associated with this Web Application Firewall policy.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly frontendEndpointLinks?: FrontendEndpointLink[];\n /**\n * Provisioning state of the policy.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly provisioningState?: string;\n /**\n * Resource status of the policy. Possible values include: 'Creating', 'Enabling', 'Enabled',\n * 'Disabling', 'Disabled', 'Deleting'\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly resourceState?: PolicyResourceState;\n /**\n * Gets a unique read-only string that changes whenever the resource is updated.\n */\n etag?: string;\n}\n\n/**\n * Describes a managed rule definition.\n */\nexport interface ManagedRuleDefinition {\n /**\n * Identifier for the managed rule.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly ruleId?: string;\n /**\n * Describes the default state for the managed rule. Possible values include: 'Disabled',\n * 'Enabled'\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly defaultState?: ManagedRuleEnabledState;\n /**\n * Describes the default action to be applied when the managed rule matches. Possible values\n * include: 'Allow', 'Block', 'Log', 'Redirect'\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly defaultAction?: ActionType;\n /**\n * Describes the functionality of the managed rule.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly description?: string;\n}\n\n/**\n * Describes a managed rule group.\n */\nexport interface ManagedRuleGroupDefinition {\n /**\n * Name of the managed rule group.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly ruleGroupName?: string;\n /**\n * Description of the managed rule group.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly description?: string;\n /**\n * List of rules within the managed rule group.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly rules?: ManagedRuleDefinition[];\n}\n\n/**\n * Describes the a managed rule set definition.\n */\nexport interface ManagedRuleSetDefinition extends Resource {\n /**\n * Provisioning state of the managed rule set.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly provisioningState?: string;\n /**\n * Id of the managed rule set.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly ruleSetId?: string;\n /**\n * Type of the managed rule set.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly ruleSetType?: string;\n /**\n * Version of the managed rule set type.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly ruleSetVersion?: string;\n /**\n * Rule groups of the managed rule set.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly ruleGroups?: ManagedRuleGroupDefinition[];\n}\n\n/**\n * Optional Parameters.\n */\nexport interface ReportsGetLatencyScorecardsOptionalParams extends msRest.RequestOptionsBase {\n /**\n * The end DateTime of the Latency Scorecard in UTC\n */\n endDateTimeUTC?: string;\n /**\n * The country associated with the Latency Scorecard. Values are country ISO codes as specified\n * here- https://www.iso.org/iso-3166-country-codes.html\n */\n country?: string;\n}\n\n/**\n * Optional Parameters.\n */\nexport interface ReportsGetTimeseriesOptionalParams extends msRest.RequestOptionsBase {\n /**\n * The specific endpoint\n */\n endpoint?: string;\n /**\n * The country associated with the Timeseries. Values are country ISO codes as specified here-\n * https://www.iso.org/iso-3166-country-codes.html\n */\n country?: string;\n}\n\n/**\n * An interface representing FrontDoorManagementClientOptions.\n */\nexport interface FrontDoorManagementClientOptions extends AzureServiceClientOptions {\n baseUri?: string;\n}\n\n/**\n * @interface\n * Defines a list of Profiles. It contains a list of Profile objects and a URL link to get the next\n * set of results.\n * @extends Array<Profile>\n */\nexport interface ProfileList extends Array<Profile> {\n /**\n * URL to get the next set of Profile objects if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * @interface\n * Defines a list of preconfigured endpoints.\n * @extends Array<PreconfiguredEndpoint>\n */\nexport interface PreconfiguredEndpointList extends Array<PreconfiguredEndpoint> {\n /**\n * URL to get the next set of PreconfiguredEndpoints if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * @interface\n * Defines a list of Experiments. It contains a list of Experiment objects and a URL link to get\n * the next set of results.\n * @extends Array<Experiment>\n */\nexport interface ExperimentList extends Array<Experiment> {\n /**\n * URL to get the next set of Experiment objects if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * @interface\n * Result of the request to list Front Doors. It contains a list of Front Door objects and a URL\n * link to get the next set of results.\n * @extends Array<FrontDoor>\n */\nexport interface FrontDoorListResult extends Array<FrontDoor> {\n /**\n * URL to get the next set of Front Door objects if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * @interface\n * Result of the request to list frontend endpoints. It contains a list of Frontend endpoint\n * objects and a URL link to get the next set of results.\n * @extends Array<FrontendEndpoint>\n */\nexport interface FrontendEndpointsListResult extends Array<FrontendEndpoint> {\n /**\n * URL to get the next set of frontend endpoints if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * @interface\n * Result of the request to list Rules Engine Configurations. It contains a list of RulesEngine\n * objects and a URL link to get the next set of results.\n * @extends Array<RulesEngine>\n */\nexport interface RulesEngineListResult extends Array<RulesEngine> {\n /**\n * URL to get the next set of RulesEngine objects if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * @interface\n * Defines a list of WebApplicationFirewallPolicies. It contains a list of\n * WebApplicationFirewallPolicy objects and a URL link to get the next set of results.\n * @extends Array<WebApplicationFirewallPolicy>\n */\nexport interface WebApplicationFirewallPolicyList extends Array<WebApplicationFirewallPolicy> {\n /**\n * URL to get the next set of WebApplicationFirewallPolicy objects if there are any.\n */\n nextLink?: string;\n}\n\n/**\n * @interface\n * List of managed rule set definitions available for use in a policy.\n * @extends Array<ManagedRuleSetDefinition>\n */\nexport interface ManagedRuleSetDefinitionList extends Array<ManagedRuleSetDefinition> {\n /**\n * URL to retrieve next set of managed rule set definitions.\n */\n nextLink?: string;\n}\n\n/**\n * Defines values for NetworkOperationStatus.\n * Possible values include: 'InProgress', 'Succeeded', 'Failed'\n * @readonly\n * @enum {string}\n */\nexport type NetworkOperationStatus = 'InProgress' | 'Succeeded' | 'Failed';\n\n/**\n * Defines values for NetworkExperimentResourceState.\n * Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting'\n * @readonly\n * @enum {string}\n */\nexport type NetworkExperimentResourceState = 'Creating' | 'Enabling' | 'Enabled' | 'Disabling' | 'Disabled' | 'Deleting';\n\n/**\n * Defines values for State.\n * Possible values include: 'Enabled', 'Disabled'\n * @readonly\n * @enum {string}\n */\nexport type State = 'Enabled' | 'Disabled';\n\n/**\n * Defines values for AggregationInterval.\n * Possible values include: 'Hourly', 'Daily'\n * @readonly\n * @enum {string}\n */\nexport type AggregationInterval = 'Hourly' | 'Daily';\n\n/**\n * Defines values for TimeseriesType.\n * Possible values include: 'MeasurementCounts', 'LatencyP50', 'LatencyP75', 'LatencyP95'\n * @readonly\n * @enum {string}\n */\nexport type TimeseriesType = 'MeasurementCounts' | 'LatencyP50' | 'LatencyP75' | 'LatencyP95';\n\n/**\n * Defines values for EndpointType.\n * Possible values include: 'AFD', 'AzureRegion', 'CDN', 'ATM'\n * @readonly\n * @enum {string}\n */\nexport type EndpointType = 'AFD' | 'AzureRegion' | 'CDN' | 'ATM';\n\n/**\n * Defines values for FrontDoorResourceState.\n * Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting'\n * @readonly\n * @enum {string}\n */\nexport type FrontDoorResourceState = 'Creating' | 'Enabling' | 'Enabled' | 'Disabling' | 'Disabled' | 'Deleting';\n\n/**\n * Defines values for CustomHttpsProvisioningState.\n * Possible values include: 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Failed'\n * @readonly\n * @enum {string}\n */\nexport type CustomHttpsProvisioningState = 'Enabling' | 'Enabled' | 'Disabling' | 'Disabled' | 'Failed';\n\n/**\n * Defines values for CustomHttpsProvisioningSubstate.\n * Possible values include: 'SubmittingDomainControlValidationRequest',\n * 'PendingDomainControlValidationREquestApproval', 'DomainControlValidationRequestApproved',\n * 'DomainControlValidationRequestRejected', 'DomainControlValidationRequestTimedOut',\n * 'IssuingCertificate', 'DeployingCertificate', 'CertificateDeployed', 'DeletingCertificate',\n * 'CertificateDeleted'\n * @readonly\n * @enum {string}\n */\nexport type CustomHttpsProvisioningSubstate = 'SubmittingDomainControlValidationRequest' | 'PendingDomainControlValidationREquestApproval' | 'DomainControlValidationRequestApproved' | 'DomainControlValidationRequestRejected' | 'DomainControlValidationRequestTimedOut' | 'IssuingCertificate' | 'DeployingCertificate' | 'CertificateDeployed' | 'DeletingCertificate' | 'CertificateDeleted';\n\n/**\n * Defines values for FrontDoorCertificateSource.\n * Possible values include: 'AzureKeyVault', 'FrontDoor'\n * @readonly\n * @enum {string}\n */\nexport type FrontDoorCertificateSource = 'AzureKeyVault' | 'FrontDoor';\n\n/**\n * Defines values for MinimumTLSVersion.\n * Possible values include: '1.0', '1.2'\n * @readonly\n * @enum {string}\n */\nexport type MinimumTLSVersion = '1.0' | '1.2';\n\n/**\n * Defines values for FrontDoorCertificateType.\n * Possible values include: 'Dedicated'\n * @readonly\n * @enum {string}\n */\nexport type FrontDoorCertificateType = 'Dedicated';\n\n/**\n * Defines values for EnforceCertificateNameCheckEnabledState.\n * Possible values include: 'Enabled', 'Disabled'\n * @readonly\n * @enum {string}\n */\nexport type EnforceCertificateNameCheckEnabledState = 'Enabled' | 'Disabled';\n\n/**\n * Defines values for FrontDoorEnabledState.\n * Possible values include: 'Enabled', 'Disabled'\n * @readonly\n * @enum {string}\n */\nexport type FrontDoorEnabledState = 'Enabled' | 'Disabled';\n\n/**\n * Defines values for FrontDoorProtocol.\n * Possible values include: 'Http', 'Https'\n * @readonly\n * @enum {string}\n */\nexport type FrontDoorProtocol = 'Http' | 'Https';\n\n/**\n * Defines values for RoutingRuleEnabledState.\n * Possible values include: 'Enabled', 'Disabled'\n * @readonly\n * @enum {string}\n */\nexport type RoutingRuleEnabledState = 'Enabled' | 'Disabled';\n\n/**\n * Defines values for FrontDoorForwardingProtocol.\n * Possible values include: 'HttpOnly', 'HttpsOnly', 'MatchRequest'\n * @readonly\n * @enum {string}\n */\nexport type FrontDoorForwardingProtocol = 'HttpOnly' | 'HttpsOnly' | 'MatchRequest';\n\n/**\n * Defines values for FrontDoorQuery.\n * Possible values include: 'StripNone', 'StripAll', 'StripOnly', 'StripAllExcept'\n * @readonly\n * @enum {string}\n */\nexport type FrontDoorQuery = 'StripNone' | 'StripAll' | 'StripOnly' | 'StripAllExcept';\n\n/**\n * Defines values for DynamicCompressionEnabled.\n * Possible values include: 'Enabled', 'Disabled'\n * @readonly\n * @enum {string}\n */\nexport type DynamicCompressionEnabled = 'Enabled' | 'Disabled';\n\n/**\n * Defines values for FrontDoorRedirectType.\n * Possible values include: 'Moved', 'Found', 'TemporaryRedirect', 'PermanentRedirect'\n * @readonly\n * @enum {string}\n */\nexport type FrontDoorRedirectType = 'Moved' | 'Found' | 'TemporaryRedirect' | 'PermanentRedirect';\n\n/**\n * Defines values for FrontDoorRedirectProtocol.\n * Possible values include: 'HttpOnly', 'HttpsOnly', 'MatchRequest'\n * @readonly\n * @enum {string}\n */\nexport type FrontDoorRedirectProtocol = 'HttpOnly' | 'HttpsOnly' | 'MatchRequest';\n\n/**\n * Defines values for PrivateEndpointStatus.\n * Possible values include: 'Pending', 'Approved', 'Rejected', 'Disconnected', 'Timeout'\n * @readonly\n * @enum {string}\n */\nexport type PrivateEndpointStatus = 'Pending' | 'Approved' | 'Rejected' | 'Disconnected' | 'Timeout';\n\n/**\n * Defines values for BackendEnabledState.\n * Possible values include: 'Enabled', 'Disabled'\n * @readonly\n * @enum {string}\n */\nexport type BackendEnabledState = 'Enabled' | 'Disabled';\n\n/**\n * Defines values for FrontDoorHealthProbeMethod.\n * Possible values include: 'GET', 'HEAD'\n * @readonly\n * @enum {string}\n */\nexport type FrontDoorHealthProbeMethod = 'GET' | 'HEAD';\n\n/**\n * Defines values for HealthProbeEnabled.\n * Possible values include: 'Enabled', 'Disabled'\n * @readonly\n * @enum {string}\n */\nexport type HealthProbeEnabled = 'Enabled' | 'Disabled';\n\n/**\n * Defines values for SessionAffinityEnabledState.\n * Possible values include: 'Enabled', 'Disabled'\n * @readonly\n * @enum {string}\n */\nexport type SessionAffinityEnabledState = 'Enabled' | 'Disabled';\n\n/**\n * Defines values for HeaderActionType.\n * Possible values include: 'Append', 'Delete', 'Overwrite'\n * @readonly\n * @enum {string}\n */\nexport type HeaderActionType = 'Append' | 'Delete' | 'Overwrite';\n\n/**\n * Defines values for RulesEngineMatchVariable.\n * Possible values include: 'IsMobile', 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs',\n * 'RequestUri', 'RequestPath', 'RequestFilename', 'RequestFilenameExtension', 'RequestHeader',\n * 'RequestBody', 'RequestScheme'\n * @readonly\n * @enum {string}\n */\nexport type RulesEngineMatchVariable = 'IsMobile' | 'RemoteAddr' | 'RequestMethod' | 'QueryString' | 'PostArgs' | 'RequestUri' | 'RequestPath' | 'RequestFilename' | 'RequestFilenameExtension' | 'RequestHeader' | 'RequestBody' | 'RequestScheme';\n\n/**\n * Defines values for RulesEngineOperator.\n * Possible values include: 'Any', 'IPMatch', 'GeoMatch', 'Equal', 'Contains', 'LessThan',\n * 'GreaterThan', 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith'\n * @readonly\n * @enum {string}\n */\nexport type RulesEngineOperator = 'Any' | 'IPMatch' | 'GeoMatch' | 'Equal' | 'Contains' | 'LessThan' | 'GreaterThan' | 'LessThanOrEqual' | 'GreaterThanOrEqual' | 'BeginsWith' | 'EndsWith';\n\n/**\n * Defines values for Transform.\n * Possible values include: 'Lowercase', 'Uppercase', 'Trim', 'UrlDecode', 'UrlEncode',\n * 'RemoveNulls'\n * @readonly\n * @enum {string}\n */\nexport type Transform = 'Lowercase' | 'Uppercase' | 'Trim' | 'UrlDecode' | 'UrlEncode' | 'RemoveNulls';\n\n/**\n * Defines values for MatchProcessingBehavior.\n * Possible values include: 'Continue', 'Stop'\n * @readonly\n * @enum {string}\n */\nexport type MatchProcessingBehavior = 'Continue' | 'Stop';\n\n/**\n * Defines values for ResourceType.\n * Possible values include: 'Microsoft.Network/frontDoors',\n * 'Microsoft.Network/frontDoors/frontendEndpoints'\n * @readonly\n * @enum {string}\n */\nexport type ResourceType = 'Microsoft.Network/frontDoors' | 'Microsoft.Network/frontDoors/frontendEndpoints';\n\n/**\n * Defines values for Availability.\n * Possible values include: 'Available', 'Unavailable'\n * @readonly\n * @enum {string}\n */\nexport type Availability = 'Available' | 'Unavailable';\n\n/**\n * Defines values for PolicyEnabledState.\n * Possible values include: 'Disabled', 'Enabled'\n * @readonly\n * @enum {string}\n */\nexport type PolicyEnabledState = 'Disabled' | 'Enabled';\n\n/**\n * Defines values for PolicyMode.\n * Possible values include: 'Prevention', 'Detection'\n * @readonly\n * @enum {string}\n */\nexport type PolicyMode = 'Prevention' | 'Detection';\n\n/**\n * Defines values for CustomRuleEnabledState.\n * Possible values include: 'Disabled', 'Enabled'\n * @readonly\n * @enum {string}\n */\nexport type CustomRuleEnabledState = 'Disabled' | 'Enabled';\n\n/**\n * Defines values for RuleType.\n * Possible values include: 'MatchRule', 'RateLimitRule'\n * @readonly\n * @enum {string}\n */\nexport type RuleType = 'MatchRule' | 'RateLimitRule';\n\n/**\n * Defines values for MatchVariable.\n * Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestUri',\n * 'RequestHeader', 'RequestBody', 'Cookies', 'SocketAddr'\n * @readonly\n * @enum {string}\n */\nexport type MatchVariable = 'RemoteAddr' | 'RequestMethod' | 'QueryString' | 'PostArgs' | 'RequestUri' | 'RequestHeader' | 'RequestBody' | 'Cookies' | 'SocketAddr';\n\n/**\n * Defines values for Operator.\n * Possible values include: 'Any', 'IPMatch', 'GeoMatch', 'Equal', 'Contains', 'LessThan',\n * 'GreaterThan', 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx'\n * @readonly\n * @enum {string}\n */\nexport type Operator = 'Any' | 'IPMatch' | 'GeoMatch' | 'Equal' | 'Contains' | 'LessThan' | 'GreaterThan' | 'LessThanOrEqual' | 'GreaterThanOrEqual' | 'BeginsWith' | 'EndsWith' | 'RegEx';\n\n/**\n * Defines values for TransformType.\n * Possible values include: 'Lowercase', 'Uppercase', 'Trim', 'UrlDecode', 'UrlEncode',\n * 'RemoveNulls'\n * @readonly\n * @enum {string}\n */\nexport type TransformType = 'Lowercase' | 'Uppercase' | 'Trim' | 'UrlDecode' | 'UrlEncode' | 'RemoveNulls';\n\n/**\n * Defines values for ActionType.\n * Possible values include: 'Allow', 'Block', 'Log', 'Redirect'\n * @readonly\n * @enum {string}\n */\nexport type ActionType = 'Allow' | 'Block' | 'Log' | 'Redirect';\n\n/**\n * Defines values for ManagedRuleExclusionMatchVariable.\n * Possible values include: 'RequestHeaderNames', 'RequestCookieNames', 'QueryStringArgNames',\n * 'RequestBodyPostArgNames'\n * @readonly\n * @enum {string}\n */\nexport type ManagedRuleExclusionMatchVariable = 'RequestHeaderNames' | 'RequestCookieNames' | 'QueryStringArgNames' | 'RequestBodyPostArgNames';\n\n/**\n * Defines values for ManagedRuleExclusionSelectorMatchOperator.\n * Possible values include: 'Equals', 'Contains', 'StartsWith', 'EndsWith', 'EqualsAny'\n * @readonly\n * @enum {string}\n */\nexport type ManagedRuleExclusionSelectorMatchOperator = 'Equals' | 'Contains' | 'StartsWith' | 'EndsWith' | 'EqualsAny';\n\n/**\n * Defines values for ManagedRuleEnabledState.\n * Possible values include: 'Disabled', 'Enabled'\n * @readonly\n * @enum {string}\n */\nexport type ManagedRuleEnabledState = 'Disabled' | 'Enabled';\n\n/**\n * Defines values for PolicyResourceState.\n * Possible values include: 'Creating', 'Enabling', 'Enabled', 'Disabling', 'Disabled', 'Deleting'\n * @readonly\n * @enum {string}\n */\nexport type PolicyResourceState = 'Creating' | 'Enabling' | 'Enabled' | 'Disabling' | 'Disabled' | 'Deleting';\n\n/**\n * Defines values for LatencyScorecardAggregationInterval.\n * Possible values include: 'Daily', 'Weekly', 'Monthly'\n * @readonly\n * @enum {string}\n */\nexport type LatencyScorecardAggregationInterval = 'Daily' | 'Weekly' | 'Monthly';\n\n/**\n * Defines values for TimeseriesAggregationInterval.\n * Possible values include: 'Hourly', 'Daily'\n * @readonly\n * @enum {string}\n */\nexport type TimeseriesAggregationInterval = 'Hourly' | 'Daily';\n\n/**\n * Contains response data for the list operation.\n */\nexport type NetworkExperimentProfilesListResponse = ProfileList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: ProfileList;\n };\n};\n\n/**\n * Contains response data for the listByResourceGroup operation.\n */\nexport type NetworkExperimentProfilesListByResourceGroupResponse = ProfileList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: ProfileList;\n };\n};\n\n/**\n * Contains response data for the get operation.\n */\nexport type NetworkExperimentProfilesGetResponse = Profile & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Profile;\n };\n};\n\n/**\n * Contains response data for the createOrUpdate operation.\n */\nexport type NetworkExperimentProfilesCreateOrUpdateResponse = Profile & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Profile;\n };\n};\n\n/**\n * Contains response data for the update operation.\n */\nexport type NetworkExperimentProfilesUpdateResponse = Profile & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Profile;\n };\n};\n\n/**\n * Contains response data for the beginCreateOrUpdate operation.\n */\nexport type NetworkExperimentProfilesBeginCreateOrUpdateResponse = Profile & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Profile;\n };\n};\n\n/**\n * Contains response data for the beginUpdate operation.\n */\nexport type NetworkExperimentProfilesBeginUpdateResponse = Profile & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Profile;\n };\n};\n\n/**\n * Contains response data for the listNext operation.\n */\nexport type NetworkExperimentProfilesListNextResponse = ProfileList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: ProfileList;\n };\n};\n\n/**\n * Contains response data for the listByResourceGroupNext operation.\n */\nexport type NetworkExperimentProfilesListByResourceGroupNextResponse = ProfileList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: ProfileList;\n };\n};\n\n/**\n * Contains response data for the list operation.\n */\nexport type PreconfiguredEndpointsListResponse = PreconfiguredEndpointList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: PreconfiguredEndpointList;\n };\n};\n\n/**\n * Contains response data for the listNext operation.\n */\nexport type PreconfiguredEndpointsListNextResponse = PreconfiguredEndpointList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: PreconfiguredEndpointList;\n };\n};\n\n/**\n * Contains response data for the listByProfile operation.\n */\nexport type ExperimentsListByProfileResponse = ExperimentList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: ExperimentList;\n };\n};\n\n/**\n * Contains response data for the get operation.\n */\nexport type ExperimentsGetResponse = Experiment & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Experiment;\n };\n};\n\n/**\n * Contains response data for the createOrUpdate operation.\n */\nexport type ExperimentsCreateOrUpdateResponse = Experiment & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Experiment;\n };\n};\n\n/**\n * Contains response data for the update operation.\n */\nexport type ExperimentsUpdateResponse = Experiment & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Experiment;\n };\n};\n\n/**\n * Contains response data for the beginCreateOrUpdate operation.\n */\nexport type ExperimentsBeginCreateOrUpdateResponse = Experiment & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Experiment;\n };\n};\n\n/**\n * Contains response data for the beginUpdate operation.\n */\nexport type ExperimentsBeginUpdateResponse = Experiment & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Experiment;\n };\n};\n\n/**\n * Contains response data for the listByProfileNext operation.\n */\nexport type ExperimentsListByProfileNextResponse = ExperimentList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: ExperimentList;\n };\n};\n\n/**\n * Contains response data for the getLatencyScorecards operation.\n */\nexport type ReportsGetLatencyScorecardsResponse = LatencyScorecard & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: LatencyScorecard;\n };\n};\n\n/**\n * Contains response data for the getTimeseries operation.\n */\nexport type ReportsGetTimeseriesResponse = Timeseries & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: Timeseries;\n };\n};\n\n/**\n * Contains response data for the checkFrontDoorNameAvailability operation.\n */\nexport type CheckFrontDoorNameAvailabilityResponse = CheckNameAvailabilityOutput & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: CheckNameAvailabilityOutput;\n };\n};\n\n/**\n * Contains response data for the checkFrontDoorNameAvailabilityWithSubscription operation.\n */\nexport type CheckFrontDoorNameAvailabilityWithSubscriptionResponse = CheckNameAvailabilityOutput & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: CheckNameAvailabilityOutput;\n };\n};\n\n/**\n * Contains response data for the list operation.\n */\nexport type FrontDoorsListResponse = FrontDoorListResult & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: FrontDoorListResult;\n };\n};\n\n/**\n * Contains response data for the listByResourceGroup operation.\n */\nexport type FrontDoorsListByResourceGroupResponse = FrontDoorListResult & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: FrontDoorListResult;\n };\n};\n\n/**\n * Contains response data for the get operation.\n */\nexport type FrontDoorsGetResponse = FrontDoor & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: FrontDoor;\n };\n};\n\n/**\n * Contains response data for the createOrUpdate operation.\n */\nexport type FrontDoorsCreateOrUpdateResponse = FrontDoor & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: FrontDoor;\n };\n};\n\n/**\n * Contains response data for the validateCustomDomain operation.\n */\nexport type FrontDoorsValidateCustomDomainResponse = ValidateCustomDomainOutput & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: ValidateCustomDomainOutput;\n };\n};\n\n/**\n * Contains response data for the beginCreateOrUpdate operation.\n */\nexport type FrontDoorsBeginCreateOrUpdateResponse = FrontDoor & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: FrontDoor;\n };\n};\n\n/**\n * Contains response data for the listNext operation.\n */\nexport type FrontDoorsListNextResponse = FrontDoorListResult & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: FrontDoorListResult;\n };\n};\n\n/**\n * Contains response data for the listByResourceGroupNext operation.\n */\nexport type FrontDoorsListByResourceGroupNextResponse = FrontDoorListResult & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: FrontDoorListResult;\n };\n};\n\n/**\n * Contains response data for the listByFrontDoor operation.\n */\nexport type FrontendEndpointsListByFrontDoorResponse = FrontendEndpointsListResult & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: FrontendEndpointsListResult;\n };\n};\n\n/**\n * Contains response data for the get operation.\n */\nexport type FrontendEndpointsGetResponse = FrontendEndpoint & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: FrontendEndpoint;\n };\n};\n\n/**\n * Contains response data for the listByFrontDoorNext operation.\n */\nexport type FrontendEndpointsListByFrontDoorNextResponse = FrontendEndpointsListResult & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: FrontendEndpointsListResult;\n };\n};\n\n/**\n * Contains response data for the listByFrontDoor operation.\n */\nexport type RulesEnginesListByFrontDoorResponse = RulesEngineListResult & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: RulesEngineListResult;\n };\n};\n\n/**\n * Contains response data for the get operation.\n */\nexport type RulesEnginesGetResponse = RulesEngine & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: RulesEngine;\n };\n};\n\n/**\n * Contains response data for the createOrUpdate operation.\n */\nexport type RulesEnginesCreateOrUpdateResponse = RulesEngine & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: RulesEngine;\n };\n};\n\n/**\n * Contains response data for the beginCreateOrUpdate operation.\n */\nexport type RulesEnginesBeginCreateOrUpdateResponse = RulesEngine & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: RulesEngine;\n };\n};\n\n/**\n * Contains response data for the listByFrontDoorNext operation.\n */\nexport type RulesEnginesListByFrontDoorNextResponse = RulesEngineListResult & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: RulesEngineListResult;\n };\n};\n\n/**\n * Contains response data for the list operation.\n */\nexport type PoliciesListResponse = WebApplicationFirewallPolicyList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: WebApplicationFirewallPolicyList;\n };\n};\n\n/**\n * Contains response data for the get operation.\n */\nexport type PoliciesGetResponse = WebApplicationFirewallPolicy & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: WebApplicationFirewallPolicy;\n };\n};\n\n/**\n * Contains response data for the createOrUpdate operation.\n */\nexport type PoliciesCreateOrUpdateResponse = WebApplicationFirewallPolicy & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: WebApplicationFirewallPolicy;\n };\n};\n\n/**\n * Contains response data for the beginCreateOrUpdate operation.\n */\nexport type PoliciesBeginCreateOrUpdateResponse = WebApplicationFirewallPolicy & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: WebApplicationFirewallPolicy;\n };\n};\n\n/**\n * Contains response data for the listNext operation.\n */\nexport type PoliciesListNextResponse = WebApplicationFirewallPolicyList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: WebApplicationFirewallPolicyList;\n };\n};\n\n/**\n * Contains response data for the list operation.\n */\nexport type ManagedRuleSetsListResponse = ManagedRuleSetDefinitionList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: ManagedRuleSetDefinitionList;\n };\n};\n\n/**\n * Contains response data for the listNext operation.\n */\nexport type ManagedRuleSetsListNextResponse = ManagedRuleSetDefinitionList & {\n /**\n * The underlying HTTP response.\n */\n _response: msRest.HttpResponse & {\n /**\n * The response body as text (string format)\n */\n bodyAsText: string;\n\n /**\n * The response body as parsed JSON or XML\n */\n parsedBody: ManagedRuleSetDefinitionList;\n };\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { CloudErrorMapper, BaseResourceMapper } from \"@azure/ms-rest-azure-js\";\nimport * as msRest from \"@azure/ms-rest-js\";\n\nexport const CloudError = CloudErrorMapper;\nexport const BaseResource = BaseResourceMapper;\n\nexport const ErrorDetails: msRest.CompositeMapper = {\n serializedName: \"ErrorDetails\",\n type: {\n name: \"Composite\",\n className: \"ErrorDetails\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ErrorModel: msRest.CompositeMapper = {\n serializedName: \"Error\",\n type: {\n name: \"Composite\",\n className: \"ErrorModel\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ErrorDetails\"\n }\n }\n }\n },\n innerError: {\n serializedName: \"innerError\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AzureAsyncOperationResult: msRest.CompositeMapper = {\n serializedName: \"AzureAsyncOperationResult\",\n type: {\n name: \"Composite\",\n className: \"AzureAsyncOperationResult\",\n modelProperties: {\n status: {\n serializedName: \"status\",\n type: {\n name: \"String\"\n }\n },\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorModel\"\n }\n }\n }\n }\n};\n\nexport const Resource: msRest.CompositeMapper = {\n serializedName: \"Resource\",\n type: {\n name: \"Composite\",\n className: \"Resource\",\n modelProperties: {\n id: {\n readOnly: true,\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n },\n name: {\n readOnly: true,\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n type: {\n readOnly: true,\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n },\n location: {\n serializedName: \"location\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SubResource: msRest.CompositeMapper = {\n serializedName: \"SubResource\",\n type: {\n name: \"Composite\",\n className: \"SubResource\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TagsObject: msRest.CompositeMapper = {\n serializedName: \"TagsObject\",\n type: {\n name: \"Composite\",\n className: \"TagsObject\",\n modelProperties: {\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const Profile: msRest.CompositeMapper = {\n serializedName: \"Profile\",\n type: {\n name: \"Composite\",\n className: \"Profile\",\n modelProperties: {\n ...Resource.type.modelProperties,\n resourceState: {\n serializedName: \"properties.resourceState\",\n type: {\n name: \"String\"\n }\n },\n enabledState: {\n serializedName: \"properties.enabledState\",\n type: {\n name: \"String\"\n }\n },\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Endpoint: msRest.CompositeMapper = {\n serializedName: \"Endpoint\",\n type: {\n name: \"Composite\",\n className: \"Endpoint\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n endpoint: {\n serializedName: \"endpoint\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ProfileUpdateModel: msRest.CompositeMapper = {\n serializedName: \"ProfileUpdateModel\",\n type: {\n name: \"Composite\",\n className: \"ProfileUpdateModel\",\n modelProperties: {\n enabledState: {\n serializedName: \"properties.enabledState\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ExperimentUpdateModel: msRest.CompositeMapper = {\n serializedName: \"ExperimentUpdateModel\",\n type: {\n name: \"Composite\",\n className: \"ExperimentUpdateModel\",\n modelProperties: {\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n enabledState: {\n serializedName: \"properties.enabledState\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Experiment: msRest.CompositeMapper = {\n serializedName: \"Experiment\",\n type: {\n name: \"Composite\",\n className: \"Experiment\",\n modelProperties: {\n ...Resource.type.modelProperties,\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n endpointA: {\n serializedName: \"properties.endpointA\",\n type: {\n name: \"Composite\",\n className: \"Endpoint\"\n }\n },\n endpointB: {\n serializedName: \"properties.endpointB\",\n type: {\n name: \"Composite\",\n className: \"Endpoint\"\n }\n },\n enabledState: {\n serializedName: \"properties.enabledState\",\n type: {\n name: \"String\"\n }\n },\n resourceState: {\n serializedName: \"properties.resourceState\",\n type: {\n name: \"String\"\n }\n },\n status: {\n readOnly: true,\n serializedName: \"properties.status\",\n type: {\n name: \"String\"\n }\n },\n scriptFileUri: {\n readOnly: true,\n serializedName: \"properties.scriptFileUri\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LatencyMetric: msRest.CompositeMapper = {\n serializedName: \"LatencyMetric\",\n type: {\n name: \"Composite\",\n className: \"LatencyMetric\",\n modelProperties: {\n name: {\n readOnly: true,\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n endDateTimeUTC: {\n readOnly: true,\n serializedName: \"endDateTimeUTC\",\n type: {\n name: \"String\"\n }\n },\n aValue: {\n readOnly: true,\n serializedName: \"aValue\",\n type: {\n name: \"Number\"\n }\n },\n bValue: {\n readOnly: true,\n serializedName: \"bValue\",\n type: {\n name: \"Number\"\n }\n },\n delta: {\n readOnly: true,\n serializedName: \"delta\",\n type: {\n name: \"Number\"\n }\n },\n deltaPercent: {\n readOnly: true,\n serializedName: \"deltaPercent\",\n type: {\n name: \"Number\"\n }\n },\n aCLower95CI: {\n readOnly: true,\n serializedName: \"aCLower95CI\",\n type: {\n name: \"Number\"\n }\n },\n aHUpper95CI: {\n readOnly: true,\n serializedName: \"aHUpper95CI\",\n type: {\n name: \"Number\"\n }\n },\n bCLower95CI: {\n readOnly: true,\n serializedName: \"bCLower95CI\",\n type: {\n name: \"Number\"\n }\n },\n bUpper95CI: {\n readOnly: true,\n serializedName: \"bUpper95CI\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const LatencyScorecard: msRest.CompositeMapper = {\n serializedName: \"LatencyScorecard\",\n type: {\n name: \"Composite\",\n className: \"LatencyScorecard\",\n modelProperties: {\n ...Resource.type.modelProperties,\n latencyScorecardId: {\n readOnly: true,\n serializedName: \"properties.id\",\n type: {\n name: \"String\"\n }\n },\n latencyScorecardName: {\n readOnly: true,\n serializedName: \"properties.name\",\n type: {\n name: \"String\"\n }\n },\n description: {\n readOnly: true,\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n endpointA: {\n readOnly: true,\n serializedName: \"properties.endpointA\",\n type: {\n name: \"String\"\n }\n },\n endpointB: {\n readOnly: true,\n serializedName: \"properties.endpointB\",\n type: {\n name: \"String\"\n }\n },\n startDateTimeUTC: {\n readOnly: true,\n serializedName: \"properties.startDateTimeUTC\",\n type: {\n name: \"DateTime\"\n }\n },\n endDateTimeUTC: {\n readOnly: true,\n serializedName: \"properties.endDateTimeUTC\",\n type: {\n name: \"DateTime\"\n }\n },\n country: {\n readOnly: true,\n serializedName: \"properties.country\",\n type: {\n name: \"String\"\n }\n },\n latencyMetrics: {\n serializedName: \"properties.latencyMetrics\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"LatencyMetric\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const TimeseriesDataPoint: msRest.CompositeMapper = {\n serializedName: \"TimeseriesDataPoint\",\n type: {\n name: \"Composite\",\n className: \"TimeseriesDataPoint\",\n modelProperties: {\n dateTimeUTC: {\n serializedName: \"dateTimeUTC\",\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const Timeseries: msRest.CompositeMapper = {\n serializedName: \"Timeseries\",\n type: {\n name: \"Composite\",\n className: \"Timeseries\",\n modelProperties: {\n ...Resource.type.modelProperties,\n endpoint: {\n serializedName: \"properties.endpoint\",\n type: {\n name: \"String\"\n }\n },\n startDateTimeUTC: {\n serializedName: \"properties.startDateTimeUTC\",\n type: {\n name: \"String\"\n }\n },\n endDateTimeUTC: {\n serializedName: \"properties.endDateTimeUTC\",\n type: {\n name: \"String\"\n }\n },\n aggregationInterval: {\n serializedName: \"properties.aggregationInterval\",\n type: {\n name: \"String\"\n }\n },\n timeseriesType: {\n serializedName: \"properties.timeseriesType\",\n type: {\n name: \"String\"\n }\n },\n country: {\n serializedName: \"properties.country\",\n type: {\n name: \"String\"\n }\n },\n timeseriesData: {\n serializedName: \"properties.timeseriesData\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TimeseriesDataPoint\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PreconfiguredEndpoint: msRest.CompositeMapper = {\n serializedName: \"PreconfiguredEndpoint\",\n type: {\n name: \"Composite\",\n className: \"PreconfiguredEndpoint\",\n modelProperties: {\n ...Resource.type.modelProperties,\n description: {\n serializedName: \"properties.description\",\n type: {\n name: \"String\"\n }\n },\n endpoint: {\n serializedName: \"properties.endpoint\",\n type: {\n name: \"String\"\n }\n },\n endpointType: {\n serializedName: \"properties.endpointType\",\n type: {\n name: \"String\"\n }\n },\n backend: {\n serializedName: \"properties.backend\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ErrorResponse: msRest.CompositeMapper = {\n serializedName: \"ErrorResponse\",\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n code: {\n readOnly: true,\n serializedName: \"code\",\n type: {\n name: \"String\"\n }\n },\n message: {\n readOnly: true,\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RulesEngine: msRest.CompositeMapper = {\n serializedName: \"RulesEngine\",\n type: {\n name: \"Composite\",\n className: \"RulesEngine\",\n modelProperties: {\n rules: {\n serializedName: \"properties.rules\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"RulesEngineRule\"\n }\n }\n }\n },\n resourceState: {\n serializedName: \"properties.resourceState\",\n type: {\n name: \"String\"\n }\n },\n name: {\n readOnly: true,\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n type: {\n readOnly: true,\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n },\n id: {\n readOnly: true,\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FrontDoor: msRest.CompositeMapper = {\n serializedName: \"FrontDoor\",\n type: {\n name: \"Composite\",\n className: \"FrontDoor\",\n modelProperties: {\n ...Resource.type.modelProperties,\n friendlyName: {\n serializedName: \"properties.friendlyName\",\n type: {\n name: \"String\"\n }\n },\n routingRules: {\n serializedName: \"properties.routingRules\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"RoutingRule\"\n }\n }\n }\n },\n loadBalancingSettings: {\n serializedName: \"properties.loadBalancingSettings\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"LoadBalancingSettingsModel\"\n }\n }\n }\n },\n healthProbeSettings: {\n serializedName: \"properties.healthProbeSettings\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"HealthProbeSettingsModel\"\n }\n }\n }\n },\n backendPools: {\n serializedName: \"properties.backendPools\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BackendPool\"\n }\n }\n }\n },\n frontendEndpoints: {\n serializedName: \"properties.frontendEndpoints\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FrontendEndpoint\"\n }\n }\n }\n },\n backendPoolsSettings: {\n serializedName: \"properties.backendPoolsSettings\",\n type: {\n name: \"Composite\",\n className: \"BackendPoolsSettings\"\n }\n },\n enabledState: {\n serializedName: \"properties.enabledState\",\n type: {\n name: \"String\"\n }\n },\n resourceState: {\n serializedName: \"properties.resourceState\",\n type: {\n name: \"String\"\n }\n },\n provisioningState: {\n readOnly: true,\n serializedName: \"properties.provisioningState\",\n type: {\n name: \"String\"\n }\n },\n cname: {\n readOnly: true,\n serializedName: \"properties.cname\",\n type: {\n name: \"String\"\n }\n },\n frontdoorId: {\n readOnly: true,\n serializedName: \"properties.frontdoorId\",\n type: {\n name: \"String\"\n }\n },\n rulesEngines: {\n readOnly: true,\n serializedName: \"properties.rulesEngines\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"RulesEngine\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const RoutingRule: msRest.CompositeMapper = {\n serializedName: \"RoutingRule\",\n type: {\n name: \"Composite\",\n className: \"RoutingRule\",\n modelProperties: {\n ...SubResource.type.modelProperties,\n frontendEndpoints: {\n serializedName: \"properties.frontendEndpoints\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n }\n }\n },\n acceptedProtocols: {\n serializedName: \"properties.acceptedProtocols\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n patternsToMatch: {\n serializedName: \"properties.patternsToMatch\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n enabledState: {\n serializedName: \"properties.enabledState\",\n type: {\n name: \"String\"\n }\n },\n routeConfiguration: {\n serializedName: \"properties.routeConfiguration\",\n type: {\n name: \"Composite\",\n className: \"RouteConfiguration\"\n }\n },\n rulesEngine: {\n serializedName: \"properties.rulesEngine\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n },\n resourceState: {\n serializedName: \"properties.resourceState\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n type: {\n readOnly: true,\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LoadBalancingSettingsModel: msRest.CompositeMapper = {\n serializedName: \"LoadBalancingSettingsModel\",\n type: {\n name: \"Composite\",\n className: \"LoadBalancingSettingsModel\",\n modelProperties: {\n ...SubResource.type.modelProperties,\n sampleSize: {\n serializedName: \"properties.sampleSize\",\n type: {\n name: \"Number\"\n }\n },\n successfulSamplesRequired: {\n serializedName: \"properties.successfulSamplesRequired\",\n type: {\n name: \"Number\"\n }\n },\n additionalLatencyMilliseconds: {\n serializedName: \"properties.additionalLatencyMilliseconds\",\n type: {\n name: \"Number\"\n }\n },\n resourceState: {\n serializedName: \"properties.resourceState\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n type: {\n readOnly: true,\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const HealthProbeSettingsModel: msRest.CompositeMapper = {\n serializedName: \"HealthProbeSettingsModel\",\n type: {\n name: \"Composite\",\n className: \"HealthProbeSettingsModel\",\n modelProperties: {\n ...SubResource.type.modelProperties,\n path: {\n serializedName: \"properties.path\",\n type: {\n name: \"String\"\n }\n },\n protocol: {\n serializedName: \"properties.protocol\",\n type: {\n name: \"String\"\n }\n },\n intervalInSeconds: {\n serializedName: \"properties.intervalInSeconds\",\n type: {\n name: \"Number\"\n }\n },\n healthProbeMethod: {\n serializedName: \"properties.healthProbeMethod\",\n defaultValue: 'HEAD',\n type: {\n name: \"String\"\n }\n },\n enabledState: {\n serializedName: \"properties.enabledState\",\n type: {\n name: \"String\"\n }\n },\n resourceState: {\n serializedName: \"properties.resourceState\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n type: {\n readOnly: true,\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BackendPool: msRest.CompositeMapper = {\n serializedName: \"BackendPool\",\n type: {\n name: \"Composite\",\n className: \"BackendPool\",\n modelProperties: {\n ...SubResource.type.modelProperties,\n backends: {\n serializedName: \"properties.backends\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Backend\"\n }\n }\n }\n },\n loadBalancingSettings: {\n serializedName: \"properties.loadBalancingSettings\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n },\n healthProbeSettings: {\n serializedName: \"properties.healthProbeSettings\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n },\n resourceState: {\n serializedName: \"properties.resourceState\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n type: {\n readOnly: true,\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const KeyVaultCertificateSourceParametersVault: msRest.CompositeMapper = {\n serializedName: \"KeyVaultCertificateSourceParameters_vault\",\n type: {\n name: \"Composite\",\n className: \"KeyVaultCertificateSourceParametersVault\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CustomHttpsConfiguration: msRest.CompositeMapper = {\n serializedName: \"CustomHttpsConfiguration\",\n type: {\n name: \"Composite\",\n className: \"CustomHttpsConfiguration\",\n modelProperties: {\n certificateSource: {\n required: true,\n serializedName: \"certificateSource\",\n type: {\n name: \"String\"\n }\n },\n protocolType: {\n required: true,\n isConstant: true,\n serializedName: \"protocolType\",\n defaultValue: 'ServerNameIndication',\n type: {\n name: \"String\"\n }\n },\n minimumTlsVersion: {\n required: true,\n serializedName: \"minimumTlsVersion\",\n type: {\n name: \"String\"\n }\n },\n vault: {\n serializedName: \"keyVaultCertificateSourceParameters.vault\",\n type: {\n name: \"Composite\",\n className: \"KeyVaultCertificateSourceParametersVault\"\n }\n },\n secretName: {\n serializedName: \"keyVaultCertificateSourceParameters.secretName\",\n type: {\n name: \"String\"\n }\n },\n secretVersion: {\n serializedName: \"keyVaultCertificateSourceParameters.secretVersion\",\n type: {\n name: \"String\"\n }\n },\n certificateType: {\n serializedName: \"frontDoorCertificateSourceParameters.certificateType\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FrontendEndpoint: msRest.CompositeMapper = {\n serializedName: \"FrontendEndpoint\",\n type: {\n name: \"Composite\",\n className: \"FrontendEndpoint\",\n modelProperties: {\n ...SubResource.type.modelProperties,\n hostName: {\n serializedName: \"properties.hostName\",\n type: {\n name: \"String\"\n }\n },\n sessionAffinityEnabledState: {\n serializedName: \"properties.sessionAffinityEnabledState\",\n type: {\n name: \"String\"\n }\n },\n sessionAffinityTtlSeconds: {\n serializedName: \"properties.sessionAffinityTtlSeconds\",\n type: {\n name: \"Number\"\n }\n },\n webApplicationFirewallPolicyLink: {\n serializedName: \"properties.webApplicationFirewallPolicyLink\",\n type: {\n name: \"Composite\",\n className: \"FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink\"\n }\n },\n resourceState: {\n serializedName: \"properties.resourceState\",\n type: {\n name: \"String\"\n }\n },\n customHttpsProvisioningState: {\n readOnly: true,\n serializedName: \"properties.customHttpsProvisioningState\",\n type: {\n name: \"String\"\n }\n },\n customHttpsProvisioningSubstate: {\n readOnly: true,\n serializedName: \"properties.customHttpsProvisioningSubstate\",\n type: {\n name: \"String\"\n }\n },\n customHttpsConfiguration: {\n readOnly: true,\n serializedName: \"properties.customHttpsConfiguration\",\n type: {\n name: \"Composite\",\n className: \"CustomHttpsConfiguration\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n type: {\n readOnly: true,\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BackendPoolsSettings: msRest.CompositeMapper = {\n serializedName: \"BackendPoolsSettings\",\n type: {\n name: \"Composite\",\n className: \"BackendPoolsSettings\",\n modelProperties: {\n enforceCertificateNameCheck: {\n serializedName: \"enforceCertificateNameCheck\",\n defaultValue: 'Enabled',\n type: {\n name: \"String\"\n }\n },\n sendRecvTimeoutSeconds: {\n serializedName: \"sendRecvTimeoutSeconds\",\n constraints: {\n InclusiveMinimum: 16\n },\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const FrontDoorUpdateParameters: msRest.CompositeMapper = {\n serializedName: \"FrontDoorUpdateParameters\",\n type: {\n name: \"Composite\",\n className: \"FrontDoorUpdateParameters\",\n modelProperties: {\n friendlyName: {\n serializedName: \"friendlyName\",\n type: {\n name: \"String\"\n }\n },\n routingRules: {\n serializedName: \"routingRules\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"RoutingRule\"\n }\n }\n }\n },\n loadBalancingSettings: {\n serializedName: \"loadBalancingSettings\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"LoadBalancingSettingsModel\"\n }\n }\n }\n },\n healthProbeSettings: {\n serializedName: \"healthProbeSettings\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"HealthProbeSettingsModel\"\n }\n }\n }\n },\n backendPools: {\n serializedName: \"backendPools\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BackendPool\"\n }\n }\n }\n },\n frontendEndpoints: {\n serializedName: \"frontendEndpoints\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FrontendEndpoint\"\n }\n }\n }\n },\n backendPoolsSettings: {\n serializedName: \"backendPoolsSettings\",\n type: {\n name: \"Composite\",\n className: \"BackendPoolsSettings\"\n }\n },\n enabledState: {\n serializedName: \"enabledState\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PurgeParameters: msRest.CompositeMapper = {\n serializedName: \"PurgeParameters\",\n type: {\n name: \"Composite\",\n className: \"PurgeParameters\",\n modelProperties: {\n contentPaths: {\n required: true,\n serializedName: \"contentPaths\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const RoutingRuleListResult: msRest.CompositeMapper = {\n serializedName: \"RoutingRuleListResult\",\n type: {\n name: \"Composite\",\n className: \"RoutingRuleListResult\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"RoutingRule\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RouteConfiguration: msRest.CompositeMapper = {\n serializedName: \"RouteConfiguration\",\n type: {\n name: \"Composite\",\n polymorphicDiscriminator: {\n serializedName: \"@odata.type\",\n clientName: \"odatatype\"\n },\n uberParent: \"RouteConfiguration\",\n className: \"RouteConfiguration\",\n modelProperties: {\n odatatype: {\n required: true,\n serializedName: \"@odata\\\\.type\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RoutingRuleUpdateParameters: msRest.CompositeMapper = {\n serializedName: \"RoutingRuleUpdateParameters\",\n type: {\n name: \"Composite\",\n className: \"RoutingRuleUpdateParameters\",\n modelProperties: {\n frontendEndpoints: {\n serializedName: \"frontendEndpoints\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n }\n }\n },\n acceptedProtocols: {\n serializedName: \"acceptedProtocols\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n patternsToMatch: {\n serializedName: \"patternsToMatch\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n enabledState: {\n serializedName: \"enabledState\",\n type: {\n name: \"String\"\n }\n },\n routeConfiguration: {\n serializedName: \"routeConfiguration\",\n type: {\n name: \"Composite\",\n className: \"RouteConfiguration\"\n }\n },\n rulesEngine: {\n serializedName: \"rulesEngine\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n }\n }\n }\n};\n\nexport const CacheConfiguration: msRest.CompositeMapper = {\n serializedName: \"CacheConfiguration\",\n type: {\n name: \"Composite\",\n className: \"CacheConfiguration\",\n modelProperties: {\n queryParameterStripDirective: {\n serializedName: \"queryParameterStripDirective\",\n type: {\n name: \"String\"\n }\n },\n queryParameters: {\n serializedName: \"queryParameters\",\n type: {\n name: \"String\"\n }\n },\n dynamicCompression: {\n serializedName: \"dynamicCompression\",\n type: {\n name: \"String\"\n }\n },\n cacheDuration: {\n serializedName: \"cacheDuration\",\n type: {\n name: \"TimeSpan\"\n }\n }\n }\n }\n};\n\nexport const ForwardingConfiguration: msRest.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration\",\n type: {\n name: \"Composite\",\n polymorphicDiscriminator: RouteConfiguration.type.polymorphicDiscriminator,\n uberParent: \"RouteConfiguration\",\n className: \"ForwardingConfiguration\",\n modelProperties: {\n ...RouteConfiguration.type.modelProperties,\n customForwardingPath: {\n serializedName: \"customForwardingPath\",\n type: {\n name: \"String\"\n }\n },\n forwardingProtocol: {\n serializedName: \"forwardingProtocol\",\n type: {\n name: \"String\"\n }\n },\n cacheConfiguration: {\n serializedName: \"cacheConfiguration\",\n type: {\n name: \"Composite\",\n className: \"CacheConfiguration\"\n }\n },\n backendPool: {\n serializedName: \"backendPool\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n }\n }\n }\n};\n\nexport const RedirectConfiguration: msRest.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration\",\n type: {\n name: \"Composite\",\n polymorphicDiscriminator: RouteConfiguration.type.polymorphicDiscriminator,\n uberParent: \"RouteConfiguration\",\n className: \"RedirectConfiguration\",\n modelProperties: {\n ...RouteConfiguration.type.modelProperties,\n redirectType: {\n serializedName: \"redirectType\",\n type: {\n name: \"String\"\n }\n },\n redirectProtocol: {\n serializedName: \"redirectProtocol\",\n type: {\n name: \"String\"\n }\n },\n customHost: {\n serializedName: \"customHost\",\n type: {\n name: \"String\"\n }\n },\n customPath: {\n serializedName: \"customPath\",\n type: {\n name: \"String\"\n }\n },\n customFragment: {\n serializedName: \"customFragment\",\n type: {\n name: \"String\"\n }\n },\n customQueryString: {\n serializedName: \"customQueryString\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Backend: msRest.CompositeMapper = {\n serializedName: \"Backend\",\n type: {\n name: \"Composite\",\n className: \"Backend\",\n modelProperties: {\n address: {\n serializedName: \"address\",\n type: {\n name: \"String\"\n }\n },\n privateLinkAlias: {\n serializedName: \"privateLinkAlias\",\n type: {\n name: \"String\"\n }\n },\n privateEndpointStatus: {\n readOnly: true,\n serializedName: \"privateEndpointStatus\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Pending\",\n \"Approved\",\n \"Rejected\",\n \"Disconnected\",\n \"Timeout\"\n ]\n }\n },\n privateLinkApprovalMessage: {\n serializedName: \"privateLinkApprovalMessage\",\n type: {\n name: \"String\"\n }\n },\n httpPort: {\n serializedName: \"httpPort\",\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 1\n },\n type: {\n name: \"Number\"\n }\n },\n httpsPort: {\n serializedName: \"httpsPort\",\n constraints: {\n InclusiveMaximum: 65535,\n InclusiveMinimum: 1\n },\n type: {\n name: \"Number\"\n }\n },\n enabledState: {\n serializedName: \"enabledState\",\n type: {\n name: \"String\"\n }\n },\n priority: {\n serializedName: \"priority\",\n constraints: {\n InclusiveMaximum: 5,\n InclusiveMinimum: 1\n },\n type: {\n name: \"Number\"\n }\n },\n weight: {\n serializedName: \"weight\",\n constraints: {\n InclusiveMaximum: 1000,\n InclusiveMinimum: 1\n },\n type: {\n name: \"Number\"\n }\n },\n backendHostHeader: {\n serializedName: \"backendHostHeader\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LoadBalancingSettingsListResult: msRest.CompositeMapper = {\n serializedName: \"LoadBalancingSettingsListResult\",\n type: {\n name: \"Composite\",\n className: \"LoadBalancingSettingsListResult\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"LoadBalancingSettingsModel\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LoadBalancingSettingsUpdateParameters: msRest.CompositeMapper = {\n serializedName: \"LoadBalancingSettingsUpdateParameters\",\n type: {\n name: \"Composite\",\n className: \"LoadBalancingSettingsUpdateParameters\",\n modelProperties: {\n sampleSize: {\n serializedName: \"sampleSize\",\n type: {\n name: \"Number\"\n }\n },\n successfulSamplesRequired: {\n serializedName: \"successfulSamplesRequired\",\n type: {\n name: \"Number\"\n }\n },\n additionalLatencyMilliseconds: {\n serializedName: \"additionalLatencyMilliseconds\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const HealthProbeSettingsListResult: msRest.CompositeMapper = {\n serializedName: \"HealthProbeSettingsListResult\",\n type: {\n name: \"Composite\",\n className: \"HealthProbeSettingsListResult\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"HealthProbeSettingsModel\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const HealthProbeSettingsUpdateParameters: msRest.CompositeMapper = {\n serializedName: \"HealthProbeSettingsUpdateParameters\",\n type: {\n name: \"Composite\",\n className: \"HealthProbeSettingsUpdateParameters\",\n modelProperties: {\n path: {\n serializedName: \"path\",\n type: {\n name: \"String\"\n }\n },\n protocol: {\n serializedName: \"protocol\",\n type: {\n name: \"String\"\n }\n },\n intervalInSeconds: {\n serializedName: \"intervalInSeconds\",\n type: {\n name: \"Number\"\n }\n },\n healthProbeMethod: {\n serializedName: \"healthProbeMethod\",\n defaultValue: 'HEAD',\n type: {\n name: \"String\"\n }\n },\n enabledState: {\n serializedName: \"enabledState\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BackendPoolUpdateParameters: msRest.CompositeMapper = {\n serializedName: \"BackendPoolUpdateParameters\",\n type: {\n name: \"Composite\",\n className: \"BackendPoolUpdateParameters\",\n modelProperties: {\n backends: {\n serializedName: \"backends\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Backend\"\n }\n }\n }\n },\n loadBalancingSettings: {\n serializedName: \"loadBalancingSettings\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n },\n healthProbeSettings: {\n serializedName: \"healthProbeSettings\",\n type: {\n name: \"Composite\",\n className: \"SubResource\"\n }\n }\n }\n }\n};\n\nexport const BackendPoolListResult: msRest.CompositeMapper = {\n serializedName: \"BackendPoolListResult\",\n type: {\n name: \"Composite\",\n className: \"BackendPoolListResult\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"value\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BackendPool\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink: msRest.CompositeMapper = {\n serializedName: \"FrontendEndpointUpdateParameters_webApplicationFirewallPolicyLink\",\n type: {\n name: \"Composite\",\n className: \"FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FrontendEndpointUpdateParameters: msRest.CompositeMapper = {\n serializedName: \"FrontendEndpointUpdateParameters\",\n type: {\n name: \"Composite\",\n className: \"FrontendEndpointUpdateParameters\",\n modelProperties: {\n hostName: {\n serializedName: \"hostName\",\n type: {\n name: \"String\"\n }\n },\n sessionAffinityEnabledState: {\n serializedName: \"sessionAffinityEnabledState\",\n type: {\n name: \"String\"\n }\n },\n sessionAffinityTtlSeconds: {\n serializedName: \"sessionAffinityTtlSeconds\",\n type: {\n name: \"Number\"\n }\n },\n webApplicationFirewallPolicyLink: {\n serializedName: \"webApplicationFirewallPolicyLink\",\n type: {\n name: \"Composite\",\n className: \"FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink\"\n }\n }\n }\n }\n};\n\nexport const HeaderAction: msRest.CompositeMapper = {\n serializedName: \"HeaderAction\",\n type: {\n name: \"Composite\",\n className: \"HeaderAction\",\n modelProperties: {\n headerActionType: {\n required: true,\n serializedName: \"headerActionType\",\n type: {\n name: \"String\"\n }\n },\n headerName: {\n required: true,\n serializedName: \"headerName\",\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RulesEngineMatchCondition: msRest.CompositeMapper = {\n serializedName: \"RulesEngineMatchCondition\",\n type: {\n name: \"Composite\",\n className: \"RulesEngineMatchCondition\",\n modelProperties: {\n rulesEngineMatchVariable: {\n required: true,\n serializedName: \"rulesEngineMatchVariable\",\n type: {\n name: \"String\"\n }\n },\n selector: {\n serializedName: \"selector\",\n type: {\n name: \"String\"\n }\n },\n rulesEngineOperator: {\n required: true,\n serializedName: \"rulesEngineOperator\",\n type: {\n name: \"String\"\n }\n },\n negateCondition: {\n serializedName: \"negateCondition\",\n type: {\n name: \"Boolean\"\n }\n },\n rulesEngineMatchValue: {\n required: true,\n serializedName: \"rulesEngineMatchValue\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n transforms: {\n serializedName: \"transforms\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const RulesEngineAction: msRest.CompositeMapper = {\n serializedName: \"RulesEngineAction\",\n type: {\n name: \"Composite\",\n className: \"RulesEngineAction\",\n modelProperties: {\n requestHeaderActions: {\n serializedName: \"requestHeaderActions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"HeaderAction\"\n }\n }\n }\n },\n responseHeaderActions: {\n serializedName: \"responseHeaderActions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"HeaderAction\"\n }\n }\n }\n },\n routeConfigurationOverride: {\n serializedName: \"routeConfigurationOverride\",\n type: {\n name: \"Composite\",\n className: \"RouteConfiguration\"\n }\n }\n }\n }\n};\n\nexport const RulesEngineRule: msRest.CompositeMapper = {\n serializedName: \"RulesEngineRule\",\n type: {\n name: \"Composite\",\n className: \"RulesEngineRule\",\n modelProperties: {\n name: {\n required: true,\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n priority: {\n required: true,\n serializedName: \"priority\",\n type: {\n name: \"Number\"\n }\n },\n action: {\n required: true,\n serializedName: \"action\",\n type: {\n name: \"Composite\",\n className: \"RulesEngineAction\"\n }\n },\n matchConditions: {\n serializedName: \"matchConditions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"RulesEngineMatchCondition\"\n }\n }\n }\n },\n matchProcessingBehavior: {\n serializedName: \"matchProcessingBehavior\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RulesEngineUpdateParameters: msRest.CompositeMapper = {\n serializedName: \"RulesEngineUpdateParameters\",\n type: {\n name: \"Composite\",\n className: \"RulesEngineUpdateParameters\",\n modelProperties: {\n rules: {\n serializedName: \"rules\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"RulesEngineRule\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ValidateCustomDomainInput: msRest.CompositeMapper = {\n serializedName: \"ValidateCustomDomainInput\",\n type: {\n name: \"Composite\",\n className: \"ValidateCustomDomainInput\",\n modelProperties: {\n hostName: {\n required: true,\n serializedName: \"hostName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ValidateCustomDomainOutput: msRest.CompositeMapper = {\n serializedName: \"ValidateCustomDomainOutput\",\n type: {\n name: \"Composite\",\n className: \"ValidateCustomDomainOutput\",\n modelProperties: {\n customDomainValidated: {\n readOnly: true,\n serializedName: \"customDomainValidated\",\n type: {\n name: \"Boolean\"\n }\n },\n reason: {\n readOnly: true,\n serializedName: \"reason\",\n type: {\n name: \"String\"\n }\n },\n message: {\n readOnly: true,\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CheckNameAvailabilityInput: msRest.CompositeMapper = {\n serializedName: \"CheckNameAvailabilityInput\",\n type: {\n name: \"Composite\",\n className: \"CheckNameAvailabilityInput\",\n modelProperties: {\n name: {\n required: true,\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n type: {\n required: true,\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Microsoft.Network/frontDoors\",\n \"Microsoft.Network/frontDoors/frontendEndpoints\"\n ]\n }\n }\n }\n }\n};\n\nexport const CheckNameAvailabilityOutput: msRest.CompositeMapper = {\n serializedName: \"CheckNameAvailabilityOutput\",\n type: {\n name: \"Composite\",\n className: \"CheckNameAvailabilityOutput\",\n modelProperties: {\n nameAvailability: {\n readOnly: true,\n serializedName: \"nameAvailability\",\n type: {\n name: \"String\"\n }\n },\n reason: {\n readOnly: true,\n serializedName: \"reason\",\n type: {\n name: \"String\"\n }\n },\n message: {\n readOnly: true,\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PolicySettings: msRest.CompositeMapper = {\n serializedName: \"PolicySettings\",\n type: {\n name: \"Composite\",\n className: \"PolicySettings\",\n modelProperties: {\n enabledState: {\n serializedName: \"enabledState\",\n type: {\n name: \"String\"\n }\n },\n mode: {\n serializedName: \"mode\",\n type: {\n name: \"String\"\n }\n },\n redirectUrl: {\n serializedName: \"redirectUrl\",\n type: {\n name: \"String\"\n }\n },\n customBlockResponseStatusCode: {\n serializedName: \"customBlockResponseStatusCode\",\n type: {\n name: \"Number\"\n }\n },\n customBlockResponseBody: {\n serializedName: \"customBlockResponseBody\",\n constraints: {\n Pattern: /^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$/\n },\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const MatchCondition: msRest.CompositeMapper = {\n serializedName: \"MatchCondition\",\n type: {\n name: \"Composite\",\n className: \"MatchCondition\",\n modelProperties: {\n matchVariable: {\n required: true,\n serializedName: \"matchVariable\",\n type: {\n name: \"String\"\n }\n },\n selector: {\n serializedName: \"selector\",\n type: {\n name: \"String\"\n }\n },\n operator: {\n required: true,\n serializedName: \"operator\",\n type: {\n name: \"String\"\n }\n },\n negateCondition: {\n serializedName: \"negateCondition\",\n type: {\n name: \"Boolean\"\n }\n },\n matchValue: {\n required: true,\n serializedName: \"matchValue\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n transforms: {\n serializedName: \"transforms\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CustomRule: msRest.CompositeMapper = {\n serializedName: \"CustomRule\",\n type: {\n name: \"Composite\",\n className: \"CustomRule\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n constraints: {\n MaxLength: 128\n },\n type: {\n name: \"String\"\n }\n },\n priority: {\n required: true,\n serializedName: \"priority\",\n type: {\n name: \"Number\"\n }\n },\n enabledState: {\n serializedName: \"enabledState\",\n type: {\n name: \"String\"\n }\n },\n ruleType: {\n required: true,\n serializedName: \"ruleType\",\n type: {\n name: \"String\"\n }\n },\n rateLimitDurationInMinutes: {\n serializedName: \"rateLimitDurationInMinutes\",\n constraints: {\n InclusiveMaximum: 5,\n InclusiveMinimum: 0\n },\n type: {\n name: \"Number\"\n }\n },\n rateLimitThreshold: {\n serializedName: \"rateLimitThreshold\",\n constraints: {\n InclusiveMinimum: 0\n },\n type: {\n name: \"Number\"\n }\n },\n matchConditions: {\n required: true,\n serializedName: \"matchConditions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"MatchCondition\"\n }\n }\n }\n },\n action: {\n required: true,\n serializedName: \"action\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CustomRuleList: msRest.CompositeMapper = {\n serializedName: \"CustomRuleList\",\n type: {\n name: \"Composite\",\n className: \"CustomRuleList\",\n modelProperties: {\n rules: {\n serializedName: \"rules\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CustomRule\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ManagedRuleExclusion: msRest.CompositeMapper = {\n serializedName: \"ManagedRuleExclusion\",\n type: {\n name: \"Composite\",\n className: \"ManagedRuleExclusion\",\n modelProperties: {\n matchVariable: {\n required: true,\n serializedName: \"matchVariable\",\n type: {\n name: \"String\"\n }\n },\n selectorMatchOperator: {\n required: true,\n serializedName: \"selectorMatchOperator\",\n type: {\n name: \"String\"\n }\n },\n selector: {\n required: true,\n serializedName: \"selector\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManagedRuleOverride: msRest.CompositeMapper = {\n serializedName: \"ManagedRuleOverride\",\n type: {\n name: \"Composite\",\n className: \"ManagedRuleOverride\",\n modelProperties: {\n ruleId: {\n required: true,\n serializedName: \"ruleId\",\n type: {\n name: \"String\"\n }\n },\n enabledState: {\n serializedName: \"enabledState\",\n type: {\n name: \"String\"\n }\n },\n action: {\n serializedName: \"action\",\n type: {\n name: \"String\"\n }\n },\n exclusions: {\n serializedName: \"exclusions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManagedRuleExclusion\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ManagedRuleGroupOverride: msRest.CompositeMapper = {\n serializedName: \"ManagedRuleGroupOverride\",\n type: {\n name: \"Composite\",\n className: \"ManagedRuleGroupOverride\",\n modelProperties: {\n ruleGroupName: {\n required: true,\n serializedName: \"ruleGroupName\",\n type: {\n name: \"String\"\n }\n },\n exclusions: {\n serializedName: \"exclusions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManagedRuleExclusion\"\n }\n }\n }\n },\n rules: {\n serializedName: \"rules\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManagedRuleOverride\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ManagedRuleSet: msRest.CompositeMapper = {\n serializedName: \"ManagedRuleSet\",\n type: {\n name: \"Composite\",\n className: \"ManagedRuleSet\",\n modelProperties: {\n ruleSetType: {\n required: true,\n serializedName: \"ruleSetType\",\n type: {\n name: \"String\"\n }\n },\n ruleSetVersion: {\n required: true,\n serializedName: \"ruleSetVersion\",\n type: {\n name: \"String\"\n }\n },\n exclusions: {\n serializedName: \"exclusions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManagedRuleExclusion\"\n }\n }\n }\n },\n ruleGroupOverrides: {\n serializedName: \"ruleGroupOverrides\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManagedRuleGroupOverride\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ManagedRuleSetList: msRest.CompositeMapper = {\n serializedName: \"ManagedRuleSetList\",\n type: {\n name: \"Composite\",\n className: \"ManagedRuleSetList\",\n modelProperties: {\n managedRuleSets: {\n serializedName: \"managedRuleSets\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManagedRuleSet\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const FrontendEndpointLink: msRest.CompositeMapper = {\n serializedName: \"FrontendEndpointLink\",\n type: {\n name: \"Composite\",\n className: \"FrontendEndpointLink\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const WebApplicationFirewallPolicy: msRest.CompositeMapper = {\n serializedName: \"WebApplicationFirewallPolicy\",\n type: {\n name: \"Composite\",\n className: \"WebApplicationFirewallPolicy\",\n modelProperties: {\n ...Resource.type.modelProperties,\n policySettings: {\n serializedName: \"properties.policySettings\",\n type: {\n name: \"Composite\",\n className: \"PolicySettings\"\n }\n },\n customRules: {\n serializedName: \"properties.customRules\",\n type: {\n name: \"Composite\",\n className: \"CustomRuleList\"\n }\n },\n managedRules: {\n serializedName: \"properties.managedRules\",\n type: {\n name: \"Composite\",\n className: \"ManagedRuleSetList\"\n }\n },\n frontendEndpointLinks: {\n readOnly: true,\n serializedName: \"properties.frontendEndpointLinks\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FrontendEndpointLink\"\n }\n }\n }\n },\n provisioningState: {\n readOnly: true,\n serializedName: \"properties.provisioningState\",\n type: {\n name: \"String\"\n }\n },\n resourceState: {\n readOnly: true,\n serializedName: \"properties.resourceState\",\n type: {\n name: \"String\"\n }\n },\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManagedRuleDefinition: msRest.CompositeMapper = {\n serializedName: \"ManagedRuleDefinition\",\n type: {\n name: \"Composite\",\n className: \"ManagedRuleDefinition\",\n modelProperties: {\n ruleId: {\n readOnly: true,\n serializedName: \"ruleId\",\n type: {\n name: \"String\"\n }\n },\n defaultState: {\n readOnly: true,\n serializedName: \"defaultState\",\n type: {\n name: \"String\"\n }\n },\n defaultAction: {\n readOnly: true,\n serializedName: \"defaultAction\",\n type: {\n name: \"String\"\n }\n },\n description: {\n readOnly: true,\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManagedRuleGroupDefinition: msRest.CompositeMapper = {\n serializedName: \"ManagedRuleGroupDefinition\",\n type: {\n name: \"Composite\",\n className: \"ManagedRuleGroupDefinition\",\n modelProperties: {\n ruleGroupName: {\n readOnly: true,\n serializedName: \"ruleGroupName\",\n type: {\n name: \"String\"\n }\n },\n description: {\n readOnly: true,\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n rules: {\n readOnly: true,\n serializedName: \"rules\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManagedRuleDefinition\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ManagedRuleSetDefinition: msRest.CompositeMapper = {\n serializedName: \"ManagedRuleSetDefinition\",\n type: {\n name: \"Composite\",\n className: \"ManagedRuleSetDefinition\",\n modelProperties: {\n ...Resource.type.modelProperties,\n provisioningState: {\n readOnly: true,\n serializedName: \"properties.provisioningState\",\n type: {\n name: \"String\"\n }\n },\n ruleSetId: {\n readOnly: true,\n serializedName: \"properties.ruleSetId\",\n type: {\n name: \"String\"\n }\n },\n ruleSetType: {\n readOnly: true,\n serializedName: \"properties.ruleSetType\",\n type: {\n name: \"String\"\n }\n },\n ruleSetVersion: {\n readOnly: true,\n serializedName: \"properties.ruleSetVersion\",\n type: {\n name: \"String\"\n }\n },\n ruleGroups: {\n readOnly: true,\n serializedName: \"properties.ruleGroups\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManagedRuleGroupDefinition\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ProfileList: msRest.CompositeMapper = {\n serializedName: \"ProfileList\",\n type: {\n name: \"Composite\",\n className: \"ProfileList\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Profile\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PreconfiguredEndpointList: msRest.CompositeMapper = {\n serializedName: \"PreconfiguredEndpointList\",\n type: {\n name: \"Composite\",\n className: \"PreconfiguredEndpointList\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"PreconfiguredEndpoint\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ExperimentList: msRest.CompositeMapper = {\n serializedName: \"ExperimentList\",\n type: {\n name: \"Composite\",\n className: \"ExperimentList\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Experiment\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FrontDoorListResult: msRest.CompositeMapper = {\n serializedName: \"FrontDoorListResult\",\n type: {\n name: \"Composite\",\n className: \"FrontDoorListResult\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FrontDoor\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FrontendEndpointsListResult: msRest.CompositeMapper = {\n serializedName: \"FrontendEndpointsListResult\",\n type: {\n name: \"Composite\",\n className: \"FrontendEndpointsListResult\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FrontendEndpoint\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const RulesEngineListResult: msRest.CompositeMapper = {\n serializedName: \"RulesEngineListResult\",\n type: {\n name: \"Composite\",\n className: \"RulesEngineListResult\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"RulesEngine\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const WebApplicationFirewallPolicyList: msRest.CompositeMapper = {\n serializedName: \"WebApplicationFirewallPolicyList\",\n type: {\n name: \"Composite\",\n className: \"WebApplicationFirewallPolicyList\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"WebApplicationFirewallPolicy\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ManagedRuleSetDefinitionList: msRest.CompositeMapper = {\n serializedName: \"ManagedRuleSetDefinitionList\",\n type: {\n name: \"Composite\",\n className: \"ManagedRuleSetDefinitionList\",\n modelProperties: {\n value: {\n readOnly: true,\n serializedName: \"\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ManagedRuleSetDefinition\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const discriminators = {\n 'RouteConfiguration' : RouteConfiguration,\n 'RouteConfiguration.#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' : ForwardingConfiguration,\n 'RouteConfiguration.#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' : RedirectConfiguration\n\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\n\nexport const acceptLanguage: msRest.OperationParameter = {\n parameterPath: \"acceptLanguage\",\n mapper: {\n serializedName: \"accept-language\",\n defaultValue: 'en-US',\n type: {\n name: \"String\"\n }\n }\n};\nexport const aggregationInterval: msRest.OperationQueryParameter = {\n parameterPath: \"aggregationInterval\",\n mapper: {\n required: true,\n serializedName: \"aggregationInterval\",\n type: {\n name: \"String\"\n }\n }\n};\nexport const apiVersion0: msRest.OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n required: true,\n isConstant: true,\n serializedName: \"api-version\",\n defaultValue: '2019-11-01',\n type: {\n name: \"String\"\n }\n }\n};\nexport const apiVersion1: msRest.OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n required: true,\n isConstant: true,\n serializedName: \"api-version\",\n defaultValue: '2020-01-01',\n type: {\n name: \"String\"\n }\n }\n};\nexport const apiVersion2: msRest.OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n required: true,\n isConstant: true,\n serializedName: \"api-version\",\n defaultValue: '2019-10-01',\n type: {\n name: \"String\"\n }\n }\n};\nexport const country: msRest.OperationQueryParameter = {\n parameterPath: [\n \"options\",\n \"country\"\n ],\n mapper: {\n serializedName: \"country\",\n type: {\n name: \"String\"\n }\n }\n};\nexport const endDateTimeUTC0: msRest.OperationQueryParameter = {\n parameterPath: [\n \"options\",\n \"endDateTimeUTC\"\n ],\n mapper: {\n serializedName: \"endDateTimeUTC\",\n type: {\n name: \"String\"\n }\n }\n};\nexport const endDateTimeUTC1: msRest.OperationQueryParameter = {\n parameterPath: \"endDateTimeUTC\",\n mapper: {\n required: true,\n serializedName: \"endDateTimeUTC\",\n type: {\n name: \"DateTime\"\n }\n }\n};\nexport const endpoint: msRest.OperationQueryParameter = {\n parameterPath: [\n \"options\",\n \"endpoint\"\n ],\n mapper: {\n serializedName: \"endpoint\",\n type: {\n name: \"String\"\n }\n }\n};\nexport const experimentName: msRest.OperationURLParameter = {\n parameterPath: \"experimentName\",\n mapper: {\n required: true,\n serializedName: \"experimentName\",\n constraints: {\n Pattern: /^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$/\n },\n type: {\n name: \"String\"\n }\n }\n};\nexport const frontDoorName: msRest.OperationURLParameter = {\n parameterPath: \"frontDoorName\",\n mapper: {\n required: true,\n serializedName: \"frontDoorName\",\n constraints: {\n MaxLength: 64,\n MinLength: 5,\n Pattern: /^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$/\n },\n type: {\n name: \"String\"\n }\n }\n};\nexport const frontendEndpointName: msRest.OperationURLParameter = {\n parameterPath: \"frontendEndpointName\",\n mapper: {\n required: true,\n serializedName: \"frontendEndpointName\",\n constraints: {\n MaxLength: 255,\n MinLength: 1,\n Pattern: /^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$/\n },\n type: {\n name: \"String\"\n }\n }\n};\nexport const nextPageLink: msRest.OperationURLParameter = {\n parameterPath: \"nextPageLink\",\n mapper: {\n required: true,\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\nexport const policyName: msRest.OperationURLParameter = {\n parameterPath: \"policyName\",\n mapper: {\n required: true,\n serializedName: \"policyName\",\n constraints: {\n MaxLength: 128\n },\n type: {\n name: \"String\"\n }\n }\n};\nexport const profileName: msRest.OperationURLParameter = {\n parameterPath: \"profileName\",\n mapper: {\n required: true,\n serializedName: \"profileName\",\n constraints: {\n Pattern: /^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$/\n },\n type: {\n name: \"String\"\n }\n }\n};\nexport const resourceGroupName: msRest.OperationURLParameter = {\n parameterPath: \"resourceGroupName\",\n mapper: {\n required: true,\n serializedName: \"resourceGroupName\",\n constraints: {\n MaxLength: 80,\n MinLength: 1,\n Pattern: /^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$/\n },\n type: {\n name: \"String\"\n }\n }\n};\nexport const rulesEngineName: msRest.OperationURLParameter = {\n parameterPath: \"rulesEngineName\",\n mapper: {\n required: true,\n serializedName: \"rulesEngineName\",\n constraints: {\n MaxLength: 90,\n MinLength: 1,\n Pattern: /^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$/\n },\n type: {\n name: \"String\"\n }\n }\n};\nexport const startDateTimeUTC: msRest.OperationQueryParameter = {\n parameterPath: \"startDateTimeUTC\",\n mapper: {\n required: true,\n serializedName: \"startDateTimeUTC\",\n type: {\n name: \"DateTime\"\n }\n }\n};\nexport const subscriptionId: msRest.OperationURLParameter = {\n parameterPath: \"subscriptionId\",\n mapper: {\n required: true,\n serializedName: \"subscriptionId\",\n type: {\n name: \"String\"\n }\n }\n};\nexport const timeseriesType: msRest.OperationQueryParameter = {\n parameterPath: \"timeseriesType\",\n mapper: {\n required: true,\n serializedName: \"timeseriesType\",\n type: {\n name: \"String\"\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport {\n discriminators,\n Backend,\n BackendPool,\n BackendPoolsSettings,\n BaseResource,\n CacheConfiguration,\n CustomHttpsConfiguration,\n CustomRule,\n CustomRuleList,\n Endpoint,\n ErrorResponse,\n Experiment,\n ForwardingConfiguration,\n FrontDoor,\n FrontendEndpoint,\n FrontendEndpointLink,\n FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n HeaderAction,\n HealthProbeSettingsModel,\n KeyVaultCertificateSourceParametersVault,\n LatencyMetric,\n LatencyScorecard,\n LoadBalancingSettingsModel,\n ManagedRuleDefinition,\n ManagedRuleExclusion,\n ManagedRuleGroupDefinition,\n ManagedRuleGroupOverride,\n ManagedRuleOverride,\n ManagedRuleSet,\n ManagedRuleSetDefinition,\n ManagedRuleSetList,\n MatchCondition,\n PolicySettings,\n PreconfiguredEndpoint,\n Profile,\n ProfileList,\n ProfileUpdateModel,\n RedirectConfiguration,\n Resource,\n RouteConfiguration,\n RoutingRule,\n RulesEngine,\n RulesEngineAction,\n RulesEngineMatchCondition,\n RulesEngineRule,\n SubResource,\n Timeseries,\n TimeseriesDataPoint,\n WebApplicationFirewallPolicy\n} from \"../models/mappers\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport * as msRestAzure from \"@azure/ms-rest-azure-js\";\nimport * as Models from \"../models\";\nimport * as Mappers from \"../models/networkExperimentProfilesMappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { FrontDoorManagementClientContext } from \"../frontDoorManagementClientContext\";\n\n/** Class representing a NetworkExperimentProfiles. */\nexport class NetworkExperimentProfiles {\n private readonly client: FrontDoorManagementClientContext;\n\n /**\n * Create a NetworkExperimentProfiles.\n * @param {FrontDoorManagementClientContext} client Reference to the service client.\n */\n constructor(client: FrontDoorManagementClientContext) {\n this.client = client;\n }\n\n /**\n * @summary Gets a list of Network Experiment Profiles under a subscription\n * @param [options] The optional parameters\n * @returns Promise<Models.NetworkExperimentProfilesListResponse>\n */\n list(options?: msRest.RequestOptionsBase): Promise<Models.NetworkExperimentProfilesListResponse>;\n /**\n * @param callback The callback\n */\n list(callback: msRest.ServiceCallback<Models.ProfileList>): void;\n /**\n * @param options The optional parameters\n * @param callback The callback\n */\n list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ProfileList>): void;\n list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ProfileList>, callback?: msRest.ServiceCallback<Models.ProfileList>): Promise<Models.NetworkExperimentProfilesListResponse> {\n return this.client.sendOperationRequest(\n {\n options\n },\n listOperationSpec,\n callback) as Promise<Models.NetworkExperimentProfilesListResponse>;\n }\n\n /**\n * @summary Gets a list of Network Experiment Profiles within a resource group under a subscription\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param [options] The optional parameters\n * @returns Promise<Models.NetworkExperimentProfilesListByResourceGroupResponse>\n */\n listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise<Models.NetworkExperimentProfilesListByResourceGroupResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param callback The callback\n */\n listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback<Models.ProfileList>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param options The optional parameters\n * @param callback The callback\n */\n listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ProfileList>): void;\n listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ProfileList>, callback?: msRest.ServiceCallback<Models.ProfileList>): Promise<Models.NetworkExperimentProfilesListByResourceGroupResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n options\n },\n listByResourceGroupOperationSpec,\n callback) as Promise<Models.NetworkExperimentProfilesListByResourceGroupResponse>;\n }\n\n /**\n * @summary Gets an NetworkExperiment Profile by ProfileName\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param [options] The optional parameters\n * @returns Promise<Models.NetworkExperimentProfilesGetResponse>\n */\n get(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase): Promise<Models.NetworkExperimentProfilesGetResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param callback The callback\n */\n get(resourceGroupName: string, profileName: string, callback: msRest.ServiceCallback<Models.Profile>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param options The optional parameters\n * @param callback The callback\n */\n get(resourceGroupName: string, profileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Profile>): void;\n get(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.Profile>, callback?: msRest.ServiceCallback<Models.Profile>): Promise<Models.NetworkExperimentProfilesGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n profileName,\n options\n },\n getOperationSpec,\n callback) as Promise<Models.NetworkExperimentProfilesGetResponse>;\n }\n\n /**\n * @summary Creates an NetworkExperiment Profile\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param parameters An Network Experiment Profile\n * @param [options] The optional parameters\n * @returns Promise<Models.NetworkExperimentProfilesCreateOrUpdateResponse>\n */\n createOrUpdate(profileName: string, resourceGroupName: string, parameters: Models.Profile, options?: msRest.RequestOptionsBase): Promise<Models.NetworkExperimentProfilesCreateOrUpdateResponse> {\n return this.beginCreateOrUpdate(profileName,resourceGroupName,parameters,options)\n .then(lroPoller => lroPoller.pollUntilFinished()) as Promise<Models.NetworkExperimentProfilesCreateOrUpdateResponse>;\n }\n\n /**\n * Updates an NetworkExperimentProfiles\n * @summary Updates an NetworkExperimentProfiles by NetworkExperimentProfile name\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param parameters The Profile Update Model\n * @param [options] The optional parameters\n * @returns Promise<Models.NetworkExperimentProfilesUpdateResponse>\n */\n update(resourceGroupName: string, profileName: string, parameters: Models.ProfileUpdateModel, options?: msRest.RequestOptionsBase): Promise<Models.NetworkExperimentProfilesUpdateResponse> {\n return this.beginUpdate(resourceGroupName,profileName,parameters,options)\n .then(lroPoller => lroPoller.pollUntilFinished()) as Promise<Models.NetworkExperimentProfilesUpdateResponse>;\n }\n\n /**\n * @summary Deletes an NetworkExperiment Profile by ProfileName\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param [options] The optional parameters\n * @returns Promise<msRest.RestResponse>\n */\n deleteMethod(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {\n return this.beginDeleteMethod(resourceGroupName,profileName,options)\n .then(lroPoller => lroPoller.pollUntilFinished());\n }\n\n /**\n * @summary Creates an NetworkExperiment Profile\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param parameters An Network Experiment Profile\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginCreateOrUpdate(profileName: string, resourceGroupName: string, parameters: Models.Profile, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n profileName,\n resourceGroupName,\n parameters,\n options\n },\n beginCreateOrUpdateOperationSpec,\n options);\n }\n\n /**\n * Updates an NetworkExperimentProfiles\n * @summary Updates an NetworkExperimentProfiles by NetworkExperimentProfile name\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param parameters The Profile Update Model\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginUpdate(resourceGroupName: string, profileName: string, parameters: Models.ProfileUpdateModel, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n profileName,\n parameters,\n options\n },\n beginUpdateOperationSpec,\n options);\n }\n\n /**\n * @summary Deletes an NetworkExperiment Profile by ProfileName\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginDeleteMethod(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n profileName,\n options\n },\n beginDeleteMethodOperationSpec,\n options);\n }\n\n /**\n * @summary Gets a list of Network Experiment Profiles under a subscription\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param [options] The optional parameters\n * @returns Promise<Models.NetworkExperimentProfilesListNextResponse>\n */\n listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.NetworkExperimentProfilesListNextResponse>;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param callback The callback\n */\n listNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.ProfileList>): void;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param options The optional parameters\n * @param callback The callback\n */\n listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ProfileList>): void;\n listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ProfileList>, callback?: msRest.ServiceCallback<Models.ProfileList>): Promise<Models.NetworkExperimentProfilesListNextResponse> {\n return this.client.sendOperationRequest(\n {\n nextPageLink,\n options\n },\n listNextOperationSpec,\n callback) as Promise<Models.NetworkExperimentProfilesListNextResponse>;\n }\n\n /**\n * @summary Gets a list of Network Experiment Profiles within a resource group under a subscription\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param [options] The optional parameters\n * @returns Promise<Models.NetworkExperimentProfilesListByResourceGroupNextResponse>\n */\n listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.NetworkExperimentProfilesListByResourceGroupNextResponse>;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param callback The callback\n */\n listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.ProfileList>): void;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param options The optional parameters\n * @param callback The callback\n */\n listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ProfileList>): void;\n listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ProfileList>, callback?: msRest.ServiceCallback<Models.ProfileList>): Promise<Models.NetworkExperimentProfilesListByResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n {\n nextPageLink,\n options\n },\n listByResourceGroupNextOperationSpec,\n callback) as Promise<Models.NetworkExperimentProfilesListByResourceGroupNextResponse>;\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst listOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/providers/Microsoft.Network/NetworkExperimentProfiles\",\n urlParameters: [\n Parameters.subscriptionId\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.ProfileList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listByResourceGroupOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.ProfileList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst getOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.Profile\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginCreateOrUpdateOperationSpec: msRest.OperationSpec = {\n httpMethod: \"PUT\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}\",\n urlParameters: [\n Parameters.profileName,\n Parameters.subscriptionId,\n Parameters.resourceGroupName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"parameters\",\n mapper: {\n ...Mappers.Profile,\n required: true\n }\n },\n responses: {\n 200: {\n bodyMapper: Mappers.Profile\n },\n 201: {\n bodyMapper: Mappers.Profile\n },\n 202: {\n bodyMapper: Mappers.Profile\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginUpdateOperationSpec: msRest.OperationSpec = {\n httpMethod: \"PATCH\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"parameters\",\n mapper: {\n ...Mappers.ProfileUpdateModel,\n required: true\n }\n },\n responses: {\n 200: {\n bodyMapper: Mappers.Profile\n },\n 202: {\n bodyMapper: Mappers.Profile\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginDeleteMethodOperationSpec: msRest.OperationSpec = {\n httpMethod: \"DELETE\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listNextOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n baseUrl: \"https://management.azure.com\",\n path: \"{nextLink}\",\n urlParameters: [\n Parameters.nextPageLink\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.ProfileList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listByResourceGroupNextOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n baseUrl: \"https://management.azure.com\",\n path: \"{nextLink}\",\n urlParameters: [\n Parameters.nextPageLink\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.ProfileList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport {\n discriminators,\n Backend,\n BackendPool,\n BackendPoolsSettings,\n BaseResource,\n CacheConfiguration,\n CustomHttpsConfiguration,\n CustomRule,\n CustomRuleList,\n Endpoint,\n ErrorResponse,\n Experiment,\n ForwardingConfiguration,\n FrontDoor,\n FrontendEndpoint,\n FrontendEndpointLink,\n FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n HeaderAction,\n HealthProbeSettingsModel,\n KeyVaultCertificateSourceParametersVault,\n LatencyMetric,\n LatencyScorecard,\n LoadBalancingSettingsModel,\n ManagedRuleDefinition,\n ManagedRuleExclusion,\n ManagedRuleGroupDefinition,\n ManagedRuleGroupOverride,\n ManagedRuleOverride,\n ManagedRuleSet,\n ManagedRuleSetDefinition,\n ManagedRuleSetList,\n MatchCondition,\n PolicySettings,\n PreconfiguredEndpoint,\n PreconfiguredEndpointList,\n Profile,\n RedirectConfiguration,\n Resource,\n RouteConfiguration,\n RoutingRule,\n RulesEngine,\n RulesEngineAction,\n RulesEngineMatchCondition,\n RulesEngineRule,\n SubResource,\n Timeseries,\n TimeseriesDataPoint,\n WebApplicationFirewallPolicy\n} from \"../models/mappers\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport * as Models from \"../models\";\nimport * as Mappers from \"../models/preconfiguredEndpointsMappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { FrontDoorManagementClientContext } from \"../frontDoorManagementClientContext\";\n\n/** Class representing a PreconfiguredEndpoints. */\nexport class PreconfiguredEndpoints {\n private readonly client: FrontDoorManagementClientContext;\n\n /**\n * Create a PreconfiguredEndpoints.\n * @param {FrontDoorManagementClientContext} client Reference to the service client.\n */\n constructor(client: FrontDoorManagementClientContext) {\n this.client = client;\n }\n\n /**\n * @summary Gets a list of Preconfigured Endpoints\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param [options] The optional parameters\n * @returns Promise<Models.PreconfiguredEndpointsListResponse>\n */\n list(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase): Promise<Models.PreconfiguredEndpointsListResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param callback The callback\n */\n list(resourceGroupName: string, profileName: string, callback: msRest.ServiceCallback<Models.PreconfiguredEndpointList>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param options The optional parameters\n * @param callback The callback\n */\n list(resourceGroupName: string, profileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.PreconfiguredEndpointList>): void;\n list(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.PreconfiguredEndpointList>, callback?: msRest.ServiceCallback<Models.PreconfiguredEndpointList>): Promise<Models.PreconfiguredEndpointsListResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n profileName,\n options\n },\n listOperationSpec,\n callback) as Promise<Models.PreconfiguredEndpointsListResponse>;\n }\n\n /**\n * @summary Gets a list of Preconfigured Endpoints\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param [options] The optional parameters\n * @returns Promise<Models.PreconfiguredEndpointsListNextResponse>\n */\n listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.PreconfiguredEndpointsListNextResponse>;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param callback The callback\n */\n listNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.PreconfiguredEndpointList>): void;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param options The optional parameters\n * @param callback The callback\n */\n listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.PreconfiguredEndpointList>): void;\n listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.PreconfiguredEndpointList>, callback?: msRest.ServiceCallback<Models.PreconfiguredEndpointList>): Promise<Models.PreconfiguredEndpointsListNextResponse> {\n return this.client.sendOperationRequest(\n {\n nextPageLink,\n options\n },\n listNextOperationSpec,\n callback) as Promise<Models.PreconfiguredEndpointsListNextResponse>;\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst listOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/PreconfiguredEndpoints\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.PreconfiguredEndpointList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listNextOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n baseUrl: \"https://management.azure.com\",\n path: \"{nextLink}\",\n urlParameters: [\n Parameters.nextPageLink\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.PreconfiguredEndpointList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport {\n discriminators,\n Backend,\n BackendPool,\n BackendPoolsSettings,\n BaseResource,\n CacheConfiguration,\n CustomHttpsConfiguration,\n CustomRule,\n CustomRuleList,\n Endpoint,\n ErrorResponse,\n Experiment,\n ExperimentList,\n ExperimentUpdateModel,\n ForwardingConfiguration,\n FrontDoor,\n FrontendEndpoint,\n FrontendEndpointLink,\n FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n HeaderAction,\n HealthProbeSettingsModel,\n KeyVaultCertificateSourceParametersVault,\n LatencyMetric,\n LatencyScorecard,\n LoadBalancingSettingsModel,\n ManagedRuleDefinition,\n ManagedRuleExclusion,\n ManagedRuleGroupDefinition,\n ManagedRuleGroupOverride,\n ManagedRuleOverride,\n ManagedRuleSet,\n ManagedRuleSetDefinition,\n ManagedRuleSetList,\n MatchCondition,\n PolicySettings,\n PreconfiguredEndpoint,\n Profile,\n RedirectConfiguration,\n Resource,\n RouteConfiguration,\n RoutingRule,\n RulesEngine,\n RulesEngineAction,\n RulesEngineMatchCondition,\n RulesEngineRule,\n SubResource,\n Timeseries,\n TimeseriesDataPoint,\n WebApplicationFirewallPolicy\n} from \"../models/mappers\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport * as msRestAzure from \"@azure/ms-rest-azure-js\";\nimport * as Models from \"../models\";\nimport * as Mappers from \"../models/experimentsMappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { FrontDoorManagementClientContext } from \"../frontDoorManagementClientContext\";\n\n/** Class representing a Experiments. */\nexport class Experiments {\n private readonly client: FrontDoorManagementClientContext;\n\n /**\n * Create a Experiments.\n * @param {FrontDoorManagementClientContext} client Reference to the service client.\n */\n constructor(client: FrontDoorManagementClientContext) {\n this.client = client;\n }\n\n /**\n * @summary Gets a list of Experiments\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param [options] The optional parameters\n * @returns Promise<Models.ExperimentsListByProfileResponse>\n */\n listByProfile(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase): Promise<Models.ExperimentsListByProfileResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param callback The callback\n */\n listByProfile(resourceGroupName: string, profileName: string, callback: msRest.ServiceCallback<Models.ExperimentList>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param options The optional parameters\n * @param callback The callback\n */\n listByProfile(resourceGroupName: string, profileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ExperimentList>): void;\n listByProfile(resourceGroupName: string, profileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ExperimentList>, callback?: msRest.ServiceCallback<Models.ExperimentList>): Promise<Models.ExperimentsListByProfileResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n profileName,\n options\n },\n listByProfileOperationSpec,\n callback) as Promise<Models.ExperimentsListByProfileResponse>;\n }\n\n /**\n * @summary Gets an Experiment by ExperimentName\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param [options] The optional parameters\n * @returns Promise<Models.ExperimentsGetResponse>\n */\n get(resourceGroupName: string, profileName: string, experimentName: string, options?: msRest.RequestOptionsBase): Promise<Models.ExperimentsGetResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param callback The callback\n */\n get(resourceGroupName: string, profileName: string, experimentName: string, callback: msRest.ServiceCallback<Models.Experiment>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param options The optional parameters\n * @param callback The callback\n */\n get(resourceGroupName: string, profileName: string, experimentName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Experiment>): void;\n get(resourceGroupName: string, profileName: string, experimentName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.Experiment>, callback?: msRest.ServiceCallback<Models.Experiment>): Promise<Models.ExperimentsGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n profileName,\n experimentName,\n options\n },\n getOperationSpec,\n callback) as Promise<Models.ExperimentsGetResponse>;\n }\n\n /**\n * @summary Creates or updates an Experiment\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param parameters The Experiment resource\n * @param [options] The optional parameters\n * @returns Promise<Models.ExperimentsCreateOrUpdateResponse>\n */\n createOrUpdate(resourceGroupName: string, profileName: string, experimentName: string, parameters: Models.Experiment, options?: msRest.RequestOptionsBase): Promise<Models.ExperimentsCreateOrUpdateResponse> {\n return this.beginCreateOrUpdate(resourceGroupName,profileName,experimentName,parameters,options)\n .then(lroPoller => lroPoller.pollUntilFinished()) as Promise<Models.ExperimentsCreateOrUpdateResponse>;\n }\n\n /**\n * Updates an Experiment\n * @summary Updates an Experiment by Experiment id\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param parameters The Experiment Update Model\n * @param [options] The optional parameters\n * @returns Promise<Models.ExperimentsUpdateResponse>\n */\n update(resourceGroupName: string, profileName: string, experimentName: string, parameters: Models.ExperimentUpdateModel, options?: msRest.RequestOptionsBase): Promise<Models.ExperimentsUpdateResponse> {\n return this.beginUpdate(resourceGroupName,profileName,experimentName,parameters,options)\n .then(lroPoller => lroPoller.pollUntilFinished()) as Promise<Models.ExperimentsUpdateResponse>;\n }\n\n /**\n * @summary Deletes an Experiment\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param [options] The optional parameters\n * @returns Promise<msRest.RestResponse>\n */\n deleteMethod(resourceGroupName: string, profileName: string, experimentName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {\n return this.beginDeleteMethod(resourceGroupName,profileName,experimentName,options)\n .then(lroPoller => lroPoller.pollUntilFinished());\n }\n\n /**\n * @summary Creates or updates an Experiment\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param parameters The Experiment resource\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginCreateOrUpdate(resourceGroupName: string, profileName: string, experimentName: string, parameters: Models.Experiment, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n profileName,\n experimentName,\n parameters,\n options\n },\n beginCreateOrUpdateOperationSpec,\n options);\n }\n\n /**\n * Updates an Experiment\n * @summary Updates an Experiment by Experiment id\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param parameters The Experiment Update Model\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginUpdate(resourceGroupName: string, profileName: string, experimentName: string, parameters: Models.ExperimentUpdateModel, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n profileName,\n experimentName,\n parameters,\n options\n },\n beginUpdateOperationSpec,\n options);\n }\n\n /**\n * @summary Deletes an Experiment\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginDeleteMethod(resourceGroupName: string, profileName: string, experimentName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n profileName,\n experimentName,\n options\n },\n beginDeleteMethodOperationSpec,\n options);\n }\n\n /**\n * @summary Gets a list of Experiments\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param [options] The optional parameters\n * @returns Promise<Models.ExperimentsListByProfileNextResponse>\n */\n listByProfileNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.ExperimentsListByProfileNextResponse>;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param callback The callback\n */\n listByProfileNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.ExperimentList>): void;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param options The optional parameters\n * @param callback The callback\n */\n listByProfileNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ExperimentList>): void;\n listByProfileNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ExperimentList>, callback?: msRest.ServiceCallback<Models.ExperimentList>): Promise<Models.ExperimentsListByProfileNextResponse> {\n return this.client.sendOperationRequest(\n {\n nextPageLink,\n options\n },\n listByProfileNextOperationSpec,\n callback) as Promise<Models.ExperimentsListByProfileNextResponse>;\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst listByProfileOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.ExperimentList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst getOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName,\n Parameters.experimentName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.Experiment\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginCreateOrUpdateOperationSpec: msRest.OperationSpec = {\n httpMethod: \"PUT\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName,\n Parameters.experimentName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"parameters\",\n mapper: {\n ...Mappers.Experiment,\n required: true\n }\n },\n responses: {\n 200: {\n bodyMapper: Mappers.Experiment\n },\n 201: {\n bodyMapper: Mappers.Experiment\n },\n 202: {\n bodyMapper: Mappers.Experiment\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginUpdateOperationSpec: msRest.OperationSpec = {\n httpMethod: \"PATCH\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName,\n Parameters.experimentName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"parameters\",\n mapper: {\n ...Mappers.ExperimentUpdateModel,\n required: true\n }\n },\n responses: {\n 200: {\n bodyMapper: Mappers.Experiment\n },\n 202: {\n bodyMapper: Mappers.Experiment\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginDeleteMethodOperationSpec: msRest.OperationSpec = {\n httpMethod: \"DELETE\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName,\n Parameters.experimentName\n ],\n queryParameters: [\n Parameters.apiVersion0\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listByProfileNextOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n baseUrl: \"https://management.azure.com\",\n path: \"{nextLink}\",\n urlParameters: [\n Parameters.nextPageLink\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.ExperimentList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport {\n discriminators,\n Backend,\n BackendPool,\n BackendPoolsSettings,\n BaseResource,\n CacheConfiguration,\n CustomHttpsConfiguration,\n CustomRule,\n CustomRuleList,\n Endpoint,\n ErrorResponse,\n Experiment,\n ForwardingConfiguration,\n FrontDoor,\n FrontendEndpoint,\n FrontendEndpointLink,\n FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n HeaderAction,\n HealthProbeSettingsModel,\n KeyVaultCertificateSourceParametersVault,\n LatencyMetric,\n LatencyScorecard,\n LoadBalancingSettingsModel,\n ManagedRuleDefinition,\n ManagedRuleExclusion,\n ManagedRuleGroupDefinition,\n ManagedRuleGroupOverride,\n ManagedRuleOverride,\n ManagedRuleSet,\n ManagedRuleSetDefinition,\n ManagedRuleSetList,\n MatchCondition,\n PolicySettings,\n PreconfiguredEndpoint,\n Profile,\n RedirectConfiguration,\n Resource,\n RouteConfiguration,\n RoutingRule,\n RulesEngine,\n RulesEngineAction,\n RulesEngineMatchCondition,\n RulesEngineRule,\n SubResource,\n Timeseries,\n TimeseriesDataPoint,\n WebApplicationFirewallPolicy\n} from \"../models/mappers\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport * as Models from \"../models\";\nimport * as Mappers from \"../models/reportsMappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { FrontDoorManagementClientContext } from \"../frontDoorManagementClientContext\";\n\n/** Class representing a Reports. */\nexport class Reports {\n private readonly client: FrontDoorManagementClientContext;\n\n /**\n * Create a Reports.\n * @param {FrontDoorManagementClientContext} client Reference to the service client.\n */\n constructor(client: FrontDoorManagementClientContext) {\n this.client = client;\n }\n\n /**\n * @summary Gets a Latency Scorecard for a given Experiment\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param aggregationInterval The aggregation interval of the Latency Scorecard. Possible values\n * include: 'Daily', 'Weekly', 'Monthly'\n * @param [options] The optional parameters\n * @returns Promise<Models.ReportsGetLatencyScorecardsResponse>\n */\n getLatencyScorecards(resourceGroupName: string, profileName: string, experimentName: string, aggregationInterval: Models.LatencyScorecardAggregationInterval, options?: Models.ReportsGetLatencyScorecardsOptionalParams): Promise<Models.ReportsGetLatencyScorecardsResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param aggregationInterval The aggregation interval of the Latency Scorecard. Possible values\n * include: 'Daily', 'Weekly', 'Monthly'\n * @param callback The callback\n */\n getLatencyScorecards(resourceGroupName: string, profileName: string, experimentName: string, aggregationInterval: Models.LatencyScorecardAggregationInterval, callback: msRest.ServiceCallback<Models.LatencyScorecard>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param aggregationInterval The aggregation interval of the Latency Scorecard. Possible values\n * include: 'Daily', 'Weekly', 'Monthly'\n * @param options The optional parameters\n * @param callback The callback\n */\n getLatencyScorecards(resourceGroupName: string, profileName: string, experimentName: string, aggregationInterval: Models.LatencyScorecardAggregationInterval, options: Models.ReportsGetLatencyScorecardsOptionalParams, callback: msRest.ServiceCallback<Models.LatencyScorecard>): void;\n getLatencyScorecards(resourceGroupName: string, profileName: string, experimentName: string, aggregationInterval: Models.LatencyScorecardAggregationInterval, options?: Models.ReportsGetLatencyScorecardsOptionalParams | msRest.ServiceCallback<Models.LatencyScorecard>, callback?: msRest.ServiceCallback<Models.LatencyScorecard>): Promise<Models.ReportsGetLatencyScorecardsResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n profileName,\n experimentName,\n aggregationInterval,\n options\n },\n getLatencyScorecardsOperationSpec,\n callback) as Promise<Models.ReportsGetLatencyScorecardsResponse>;\n }\n\n /**\n * @summary Gets a Timeseries for a given Experiment\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param startDateTimeUTC The start DateTime of the Timeseries in UTC\n * @param endDateTimeUTC The end DateTime of the Timeseries in UTC\n * @param aggregationInterval The aggregation interval of the Timeseries. Possible values include:\n * 'Hourly', 'Daily'\n * @param timeseriesType The type of Timeseries. Possible values include: 'MeasurementCounts',\n * 'LatencyP50', 'LatencyP75', 'LatencyP95'\n * @param [options] The optional parameters\n * @returns Promise<Models.ReportsGetTimeseriesResponse>\n */\n getTimeseries(resourceGroupName: string, profileName: string, experimentName: string, startDateTimeUTC: Date | string, endDateTimeUTC: Date | string, aggregationInterval: Models.TimeseriesAggregationInterval, timeseriesType: Models.TimeseriesType, options?: Models.ReportsGetTimeseriesOptionalParams): Promise<Models.ReportsGetTimeseriesResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param startDateTimeUTC The start DateTime of the Timeseries in UTC\n * @param endDateTimeUTC The end DateTime of the Timeseries in UTC\n * @param aggregationInterval The aggregation interval of the Timeseries. Possible values include:\n * 'Hourly', 'Daily'\n * @param timeseriesType The type of Timeseries. Possible values include: 'MeasurementCounts',\n * 'LatencyP50', 'LatencyP75', 'LatencyP95'\n * @param callback The callback\n */\n getTimeseries(resourceGroupName: string, profileName: string, experimentName: string, startDateTimeUTC: Date | string, endDateTimeUTC: Date | string, aggregationInterval: Models.TimeseriesAggregationInterval, timeseriesType: Models.TimeseriesType, callback: msRest.ServiceCallback<Models.Timeseries>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param profileName The Profile identifier associated with the Tenant and Partner\n * @param experimentName The Experiment identifier associated with the Experiment\n * @param startDateTimeUTC The start DateTime of the Timeseries in UTC\n * @param endDateTimeUTC The end DateTime of the Timeseries in UTC\n * @param aggregationInterval The aggregation interval of the Timeseries. Possible values include:\n * 'Hourly', 'Daily'\n * @param timeseriesType The type of Timeseries. Possible values include: 'MeasurementCounts',\n * 'LatencyP50', 'LatencyP75', 'LatencyP95'\n * @param options The optional parameters\n * @param callback The callback\n */\n getTimeseries(resourceGroupName: string, profileName: string, experimentName: string, startDateTimeUTC: Date | string, endDateTimeUTC: Date | string, aggregationInterval: Models.TimeseriesAggregationInterval, timeseriesType: Models.TimeseriesType, options: Models.ReportsGetTimeseriesOptionalParams, callback: msRest.ServiceCallback<Models.Timeseries>): void;\n getTimeseries(resourceGroupName: string, profileName: string, experimentName: string, startDateTimeUTC: Date | string, endDateTimeUTC: Date | string, aggregationInterval: Models.TimeseriesAggregationInterval, timeseriesType: Models.TimeseriesType, options?: Models.ReportsGetTimeseriesOptionalParams | msRest.ServiceCallback<Models.Timeseries>, callback?: msRest.ServiceCallback<Models.Timeseries>): Promise<Models.ReportsGetTimeseriesResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n profileName,\n experimentName,\n startDateTimeUTC,\n endDateTimeUTC,\n aggregationInterval,\n timeseriesType,\n options\n },\n getTimeseriesOperationSpec,\n callback) as Promise<Models.ReportsGetTimeseriesResponse>;\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst getLatencyScorecardsOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/LatencyScorecard\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName,\n Parameters.experimentName\n ],\n queryParameters: [\n Parameters.apiVersion0,\n Parameters.endDateTimeUTC0,\n Parameters.country,\n Parameters.aggregationInterval\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.LatencyScorecard\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst getTimeseriesOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/Timeseries\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.profileName,\n Parameters.experimentName\n ],\n queryParameters: [\n Parameters.apiVersion0,\n Parameters.startDateTimeUTC,\n Parameters.endDateTimeUTC1,\n Parameters.aggregationInterval,\n Parameters.timeseriesType,\n Parameters.endpoint,\n Parameters.country\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.Timeseries\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport {\n discriminators,\n Backend,\n BackendPool,\n BackendPoolsSettings,\n BaseResource,\n CacheConfiguration,\n CustomHttpsConfiguration,\n CustomRule,\n CustomRuleList,\n Endpoint,\n ErrorResponse,\n Experiment,\n ForwardingConfiguration,\n FrontDoor,\n FrontDoorListResult,\n FrontendEndpoint,\n FrontendEndpointLink,\n FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n HeaderAction,\n HealthProbeSettingsModel,\n KeyVaultCertificateSourceParametersVault,\n LatencyMetric,\n LatencyScorecard,\n LoadBalancingSettingsModel,\n ManagedRuleDefinition,\n ManagedRuleExclusion,\n ManagedRuleGroupDefinition,\n ManagedRuleGroupOverride,\n ManagedRuleOverride,\n ManagedRuleSet,\n ManagedRuleSetDefinition,\n ManagedRuleSetList,\n MatchCondition,\n PolicySettings,\n PreconfiguredEndpoint,\n Profile,\n RedirectConfiguration,\n Resource,\n RouteConfiguration,\n RoutingRule,\n RulesEngine,\n RulesEngineAction,\n RulesEngineMatchCondition,\n RulesEngineRule,\n SubResource,\n Timeseries,\n TimeseriesDataPoint,\n ValidateCustomDomainInput,\n ValidateCustomDomainOutput,\n WebApplicationFirewallPolicy\n} from \"../models/mappers\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport * as msRestAzure from \"@azure/ms-rest-azure-js\";\nimport * as Models from \"../models\";\nimport * as Mappers from \"../models/frontDoorsMappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { FrontDoorManagementClientContext } from \"../frontDoorManagementClientContext\";\n\n/** Class representing a FrontDoors. */\nexport class FrontDoors {\n private readonly client: FrontDoorManagementClientContext;\n\n /**\n * Create a FrontDoors.\n * @param {FrontDoorManagementClientContext} client Reference to the service client.\n */\n constructor(client: FrontDoorManagementClientContext) {\n this.client = client;\n }\n\n /**\n * Lists all of the Front Doors within an Azure subscription.\n * @param [options] The optional parameters\n * @returns Promise<Models.FrontDoorsListResponse>\n */\n list(options?: msRest.RequestOptionsBase): Promise<Models.FrontDoorsListResponse>;\n /**\n * @param callback The callback\n */\n list(callback: msRest.ServiceCallback<Models.FrontDoorListResult>): void;\n /**\n * @param options The optional parameters\n * @param callback The callback\n */\n list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FrontDoorListResult>): void;\n list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.FrontDoorListResult>, callback?: msRest.ServiceCallback<Models.FrontDoorListResult>): Promise<Models.FrontDoorsListResponse> {\n return this.client.sendOperationRequest(\n {\n options\n },\n listOperationSpec,\n callback) as Promise<Models.FrontDoorsListResponse>;\n }\n\n /**\n * Lists all of the Front Doors within a resource group under a subscription.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param [options] The optional parameters\n * @returns Promise<Models.FrontDoorsListByResourceGroupResponse>\n */\n listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise<Models.FrontDoorsListByResourceGroupResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param callback The callback\n */\n listByResourceGroup(resourceGroupName: string, callback: msRest.ServiceCallback<Models.FrontDoorListResult>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param options The optional parameters\n * @param callback The callback\n */\n listByResourceGroup(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FrontDoorListResult>): void;\n listByResourceGroup(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.FrontDoorListResult>, callback?: msRest.ServiceCallback<Models.FrontDoorListResult>): Promise<Models.FrontDoorsListByResourceGroupResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n options\n },\n listByResourceGroupOperationSpec,\n callback) as Promise<Models.FrontDoorsListByResourceGroupResponse>;\n }\n\n /**\n * Gets a Front Door with the specified Front Door name under the specified subscription and\n * resource group.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param [options] The optional parameters\n * @returns Promise<Models.FrontDoorsGetResponse>\n */\n get(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase): Promise<Models.FrontDoorsGetResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param callback The callback\n */\n get(resourceGroupName: string, frontDoorName: string, callback: msRest.ServiceCallback<Models.FrontDoor>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param options The optional parameters\n * @param callback The callback\n */\n get(resourceGroupName: string, frontDoorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FrontDoor>): void;\n get(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.FrontDoor>, callback?: msRest.ServiceCallback<Models.FrontDoor>): Promise<Models.FrontDoorsGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n frontDoorName,\n options\n },\n getOperationSpec,\n callback) as Promise<Models.FrontDoorsGetResponse>;\n }\n\n /**\n * Creates a new Front Door with a Front Door name under the specified subscription and resource\n * group.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param frontDoorParameters Front Door properties needed to create a new Front Door.\n * @param [options] The optional parameters\n * @returns Promise<Models.FrontDoorsCreateOrUpdateResponse>\n */\n createOrUpdate(resourceGroupName: string, frontDoorName: string, frontDoorParameters: Models.FrontDoor, options?: msRest.RequestOptionsBase): Promise<Models.FrontDoorsCreateOrUpdateResponse> {\n return this.beginCreateOrUpdate(resourceGroupName,frontDoorName,frontDoorParameters,options)\n .then(lroPoller => lroPoller.pollUntilFinished()) as Promise<Models.FrontDoorsCreateOrUpdateResponse>;\n }\n\n /**\n * Deletes an existing Front Door with the specified parameters.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param [options] The optional parameters\n * @returns Promise<msRest.RestResponse>\n */\n deleteMethod(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {\n return this.beginDeleteMethod(resourceGroupName,frontDoorName,options)\n .then(lroPoller => lroPoller.pollUntilFinished());\n }\n\n /**\n * Validates the custom domain mapping to ensure it maps to the correct Front Door endpoint in DNS.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param customDomainProperties Custom domain to be validated.\n * @param [options] The optional parameters\n * @returns Promise<Models.FrontDoorsValidateCustomDomainResponse>\n */\n validateCustomDomain(resourceGroupName: string, frontDoorName: string, customDomainProperties: Models.ValidateCustomDomainInput, options?: msRest.RequestOptionsBase): Promise<Models.FrontDoorsValidateCustomDomainResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param customDomainProperties Custom domain to be validated.\n * @param callback The callback\n */\n validateCustomDomain(resourceGroupName: string, frontDoorName: string, customDomainProperties: Models.ValidateCustomDomainInput, callback: msRest.ServiceCallback<Models.ValidateCustomDomainOutput>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param customDomainProperties Custom domain to be validated.\n * @param options The optional parameters\n * @param callback The callback\n */\n validateCustomDomain(resourceGroupName: string, frontDoorName: string, customDomainProperties: Models.ValidateCustomDomainInput, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ValidateCustomDomainOutput>): void;\n validateCustomDomain(resourceGroupName: string, frontDoorName: string, customDomainProperties: Models.ValidateCustomDomainInput, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ValidateCustomDomainOutput>, callback?: msRest.ServiceCallback<Models.ValidateCustomDomainOutput>): Promise<Models.FrontDoorsValidateCustomDomainResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n frontDoorName,\n customDomainProperties,\n options\n },\n validateCustomDomainOperationSpec,\n callback) as Promise<Models.FrontDoorsValidateCustomDomainResponse>;\n }\n\n /**\n * Creates a new Front Door with a Front Door name under the specified subscription and resource\n * group.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param frontDoorParameters Front Door properties needed to create a new Front Door.\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginCreateOrUpdate(resourceGroupName: string, frontDoorName: string, frontDoorParameters: Models.FrontDoor, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n frontDoorName,\n frontDoorParameters,\n options\n },\n beginCreateOrUpdateOperationSpec,\n options);\n }\n\n /**\n * Deletes an existing Front Door with the specified parameters.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginDeleteMethod(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n frontDoorName,\n options\n },\n beginDeleteMethodOperationSpec,\n options);\n }\n\n /**\n * Lists all of the Front Doors within an Azure subscription.\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param [options] The optional parameters\n * @returns Promise<Models.FrontDoorsListNextResponse>\n */\n listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.FrontDoorsListNextResponse>;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param callback The callback\n */\n listNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.FrontDoorListResult>): void;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param options The optional parameters\n * @param callback The callback\n */\n listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FrontDoorListResult>): void;\n listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.FrontDoorListResult>, callback?: msRest.ServiceCallback<Models.FrontDoorListResult>): Promise<Models.FrontDoorsListNextResponse> {\n return this.client.sendOperationRequest(\n {\n nextPageLink,\n options\n },\n listNextOperationSpec,\n callback) as Promise<Models.FrontDoorsListNextResponse>;\n }\n\n /**\n * Lists all of the Front Doors within a resource group under a subscription.\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param [options] The optional parameters\n * @returns Promise<Models.FrontDoorsListByResourceGroupNextResponse>\n */\n listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.FrontDoorsListByResourceGroupNextResponse>;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param callback The callback\n */\n listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.FrontDoorListResult>): void;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param options The optional parameters\n * @param callback The callback\n */\n listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FrontDoorListResult>): void;\n listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.FrontDoorListResult>, callback?: msRest.ServiceCallback<Models.FrontDoorListResult>): Promise<Models.FrontDoorsListByResourceGroupNextResponse> {\n return this.client.sendOperationRequest(\n {\n nextPageLink,\n options\n },\n listByResourceGroupNextOperationSpec,\n callback) as Promise<Models.FrontDoorsListByResourceGroupNextResponse>;\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst listOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/providers/Microsoft.Network/frontDoors\",\n urlParameters: [\n Parameters.subscriptionId\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.FrontDoorListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listByResourceGroupOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.FrontDoorListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst getOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.FrontDoor\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst validateCustomDomainOperationSpec: msRest.OperationSpec = {\n httpMethod: \"POST\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/validateCustomDomain\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"customDomainProperties\",\n mapper: {\n ...Mappers.ValidateCustomDomainInput,\n required: true\n }\n },\n responses: {\n 200: {\n bodyMapper: Mappers.ValidateCustomDomainOutput\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginCreateOrUpdateOperationSpec: msRest.OperationSpec = {\n httpMethod: \"PUT\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"frontDoorParameters\",\n mapper: {\n ...Mappers.FrontDoor,\n required: true\n }\n },\n responses: {\n 200: {\n bodyMapper: Mappers.FrontDoor\n },\n 201: {\n bodyMapper: Mappers.FrontDoor\n },\n 202: {\n bodyMapper: Mappers.FrontDoor\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginDeleteMethodOperationSpec: msRest.OperationSpec = {\n httpMethod: \"DELETE\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listNextOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n baseUrl: \"https://management.azure.com\",\n path: \"{nextLink}\",\n urlParameters: [\n Parameters.nextPageLink\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.FrontDoorListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listByResourceGroupNextOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n baseUrl: \"https://management.azure.com\",\n path: \"{nextLink}\",\n urlParameters: [\n Parameters.nextPageLink\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.FrontDoorListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport {\n discriminators,\n Backend,\n BackendPool,\n BackendPoolsSettings,\n BaseResource,\n CacheConfiguration,\n CustomHttpsConfiguration,\n CustomRule,\n CustomRuleList,\n Endpoint,\n ErrorResponse,\n Experiment,\n ForwardingConfiguration,\n FrontDoor,\n FrontendEndpoint,\n FrontendEndpointLink,\n FrontendEndpointsListResult,\n FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n HeaderAction,\n HealthProbeSettingsModel,\n KeyVaultCertificateSourceParametersVault,\n LatencyMetric,\n LatencyScorecard,\n LoadBalancingSettingsModel,\n ManagedRuleDefinition,\n ManagedRuleExclusion,\n ManagedRuleGroupDefinition,\n ManagedRuleGroupOverride,\n ManagedRuleOverride,\n ManagedRuleSet,\n ManagedRuleSetDefinition,\n ManagedRuleSetList,\n MatchCondition,\n PolicySettings,\n PreconfiguredEndpoint,\n Profile,\n RedirectConfiguration,\n Resource,\n RouteConfiguration,\n RoutingRule,\n RulesEngine,\n RulesEngineAction,\n RulesEngineMatchCondition,\n RulesEngineRule,\n SubResource,\n Timeseries,\n TimeseriesDataPoint,\n WebApplicationFirewallPolicy\n} from \"../models/mappers\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport * as msRestAzure from \"@azure/ms-rest-azure-js\";\nimport * as Models from \"../models\";\nimport * as Mappers from \"../models/frontendEndpointsMappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { FrontDoorManagementClientContext } from \"../frontDoorManagementClientContext\";\n\n/** Class representing a FrontendEndpoints. */\nexport class FrontendEndpoints {\n private readonly client: FrontDoorManagementClientContext;\n\n /**\n * Create a FrontendEndpoints.\n * @param {FrontDoorManagementClientContext} client Reference to the service client.\n */\n constructor(client: FrontDoorManagementClientContext) {\n this.client = client;\n }\n\n /**\n * Lists all of the frontend endpoints within a Front Door.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param [options] The optional parameters\n * @returns Promise<Models.FrontendEndpointsListByFrontDoorResponse>\n */\n listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase): Promise<Models.FrontendEndpointsListByFrontDoorResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param callback The callback\n */\n listByFrontDoor(resourceGroupName: string, frontDoorName: string, callback: msRest.ServiceCallback<Models.FrontendEndpointsListResult>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param options The optional parameters\n * @param callback The callback\n */\n listByFrontDoor(resourceGroupName: string, frontDoorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FrontendEndpointsListResult>): void;\n listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.FrontendEndpointsListResult>, callback?: msRest.ServiceCallback<Models.FrontendEndpointsListResult>): Promise<Models.FrontendEndpointsListByFrontDoorResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n frontDoorName,\n options\n },\n listByFrontDoorOperationSpec,\n callback) as Promise<Models.FrontendEndpointsListByFrontDoorResponse>;\n }\n\n /**\n * Gets a Frontend endpoint with the specified name within the specified Front Door.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door.\n * @param [options] The optional parameters\n * @returns Promise<Models.FrontendEndpointsGetResponse>\n */\n get(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, options?: msRest.RequestOptionsBase): Promise<Models.FrontendEndpointsGetResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door.\n * @param callback The callback\n */\n get(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, callback: msRest.ServiceCallback<Models.FrontendEndpoint>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door.\n * @param options The optional parameters\n * @param callback The callback\n */\n get(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FrontendEndpoint>): void;\n get(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.FrontendEndpoint>, callback?: msRest.ServiceCallback<Models.FrontendEndpoint>): Promise<Models.FrontendEndpointsGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n frontDoorName,\n frontendEndpointName,\n options\n },\n getOperationSpec,\n callback) as Promise<Models.FrontendEndpointsGetResponse>;\n }\n\n /**\n * Enables a frontendEndpoint for HTTPS traffic\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door.\n * @param customHttpsConfiguration The configuration specifying how to enable HTTPS\n * @param [options] The optional parameters\n * @returns Promise<msRest.RestResponse>\n */\n enableHttps(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, customHttpsConfiguration: Models.CustomHttpsConfiguration, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {\n return this.beginEnableHttps(resourceGroupName,frontDoorName,frontendEndpointName,customHttpsConfiguration,options)\n .then(lroPoller => lroPoller.pollUntilFinished());\n }\n\n /**\n * Disables a frontendEndpoint for HTTPS traffic\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door.\n * @param [options] The optional parameters\n * @returns Promise<msRest.RestResponse>\n */\n disableHttps(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {\n return this.beginDisableHttps(resourceGroupName,frontDoorName,frontendEndpointName,options)\n .then(lroPoller => lroPoller.pollUntilFinished());\n }\n\n /**\n * Enables a frontendEndpoint for HTTPS traffic\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door.\n * @param customHttpsConfiguration The configuration specifying how to enable HTTPS\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginEnableHttps(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, customHttpsConfiguration: Models.CustomHttpsConfiguration, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n frontDoorName,\n frontendEndpointName,\n customHttpsConfiguration,\n options\n },\n beginEnableHttpsOperationSpec,\n options);\n }\n\n /**\n * Disables a frontendEndpoint for HTTPS traffic\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param frontendEndpointName Name of the Frontend endpoint which is unique within the Front Door.\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginDisableHttps(resourceGroupName: string, frontDoorName: string, frontendEndpointName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n frontDoorName,\n frontendEndpointName,\n options\n },\n beginDisableHttpsOperationSpec,\n options);\n }\n\n /**\n * Lists all of the frontend endpoints within a Front Door.\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param [options] The optional parameters\n * @returns Promise<Models.FrontendEndpointsListByFrontDoorNextResponse>\n */\n listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.FrontendEndpointsListByFrontDoorNextResponse>;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param callback The callback\n */\n listByFrontDoorNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.FrontendEndpointsListResult>): void;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param options The optional parameters\n * @param callback The callback\n */\n listByFrontDoorNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FrontendEndpointsListResult>): void;\n listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.FrontendEndpointsListResult>, callback?: msRest.ServiceCallback<Models.FrontendEndpointsListResult>): Promise<Models.FrontendEndpointsListByFrontDoorNextResponse> {\n return this.client.sendOperationRequest(\n {\n nextPageLink,\n options\n },\n listByFrontDoorNextOperationSpec,\n callback) as Promise<Models.FrontendEndpointsListByFrontDoorNextResponse>;\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst listByFrontDoorOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.FrontendEndpointsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst getOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName,\n Parameters.frontendEndpointName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.FrontendEndpoint\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginEnableHttpsOperationSpec: msRest.OperationSpec = {\n httpMethod: \"POST\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/enableHttps\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName,\n Parameters.frontendEndpointName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"customHttpsConfiguration\",\n mapper: {\n ...Mappers.CustomHttpsConfiguration,\n required: true\n }\n },\n responses: {\n 200: {},\n 202: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginDisableHttpsOperationSpec: msRest.OperationSpec = {\n httpMethod: \"POST\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/disableHttps\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName,\n Parameters.frontendEndpointName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {},\n 202: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listByFrontDoorNextOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n baseUrl: \"https://management.azure.com\",\n path: \"{nextLink}\",\n urlParameters: [\n Parameters.nextPageLink\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.FrontendEndpointsListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport {\n discriminators,\n ErrorResponse,\n PurgeParameters\n} from \"../models/mappers\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport * as msRestAzure from \"@azure/ms-rest-azure-js\";\nimport * as Models from \"../models\";\nimport * as Mappers from \"../models/endpointsMappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { FrontDoorManagementClientContext } from \"../frontDoorManagementClientContext\";\n\n/** Class representing a Endpoints. */\nexport class Endpoints {\n private readonly client: FrontDoorManagementClientContext;\n\n /**\n * Create a Endpoints.\n * @param {FrontDoorManagementClientContext} client Reference to the service client.\n */\n constructor(client: FrontDoorManagementClientContext) {\n this.client = client;\n }\n\n /**\n * Removes a content from Front Door.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param contentFilePaths The path to the content to be purged. Path can be a full URL, e.g.\n * '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g.\n * '/pictures/*' which removes all folders and files in the directory.\n * @param [options] The optional parameters\n * @returns Promise<msRest.RestResponse>\n */\n purgeContent(resourceGroupName: string, frontDoorName: string, contentFilePaths: Models.PurgeParameters, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {\n return this.beginPurgeContent(resourceGroupName,frontDoorName,contentFilePaths,options)\n .then(lroPoller => lroPoller.pollUntilFinished());\n }\n\n /**\n * Removes a content from Front Door.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param contentFilePaths The path to the content to be purged. Path can be a full URL, e.g.\n * '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g.\n * '/pictures/*' which removes all folders and files in the directory.\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginPurgeContent(resourceGroupName: string, frontDoorName: string, contentFilePaths: Models.PurgeParameters, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n frontDoorName,\n contentFilePaths,\n options\n },\n beginPurgeContentOperationSpec,\n options);\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst beginPurgeContentOperationSpec: msRest.OperationSpec = {\n httpMethod: \"POST\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/purge\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"contentFilePaths\",\n mapper: {\n ...Mappers.PurgeParameters,\n required: true\n }\n },\n responses: {\n 200: {},\n 202: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport {\n discriminators,\n Backend,\n BackendPool,\n BackendPoolsSettings,\n BaseResource,\n CacheConfiguration,\n CustomHttpsConfiguration,\n CustomRule,\n CustomRuleList,\n Endpoint,\n ErrorResponse,\n Experiment,\n ForwardingConfiguration,\n FrontDoor,\n FrontendEndpoint,\n FrontendEndpointLink,\n FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n HeaderAction,\n HealthProbeSettingsModel,\n KeyVaultCertificateSourceParametersVault,\n LatencyMetric,\n LatencyScorecard,\n LoadBalancingSettingsModel,\n ManagedRuleDefinition,\n ManagedRuleExclusion,\n ManagedRuleGroupDefinition,\n ManagedRuleGroupOverride,\n ManagedRuleOverride,\n ManagedRuleSet,\n ManagedRuleSetDefinition,\n ManagedRuleSetList,\n MatchCondition,\n PolicySettings,\n PreconfiguredEndpoint,\n Profile,\n RedirectConfiguration,\n Resource,\n RouteConfiguration,\n RoutingRule,\n RulesEngine,\n RulesEngineAction,\n RulesEngineListResult,\n RulesEngineMatchCondition,\n RulesEngineRule,\n SubResource,\n Timeseries,\n TimeseriesDataPoint,\n WebApplicationFirewallPolicy\n} from \"../models/mappers\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport * as msRestAzure from \"@azure/ms-rest-azure-js\";\nimport * as Models from \"../models\";\nimport * as Mappers from \"../models/rulesEnginesMappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { FrontDoorManagementClientContext } from \"../frontDoorManagementClientContext\";\n\n/** Class representing a RulesEngines. */\nexport class RulesEngines {\n private readonly client: FrontDoorManagementClientContext;\n\n /**\n * Create a RulesEngines.\n * @param {FrontDoorManagementClientContext} client Reference to the service client.\n */\n constructor(client: FrontDoorManagementClientContext) {\n this.client = client;\n }\n\n /**\n * Lists all of the Rules Engine Configurations within a Front Door.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param [options] The optional parameters\n * @returns Promise<Models.RulesEnginesListByFrontDoorResponse>\n */\n listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase): Promise<Models.RulesEnginesListByFrontDoorResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param callback The callback\n */\n listByFrontDoor(resourceGroupName: string, frontDoorName: string, callback: msRest.ServiceCallback<Models.RulesEngineListResult>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param options The optional parameters\n * @param callback The callback\n */\n listByFrontDoor(resourceGroupName: string, frontDoorName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.RulesEngineListResult>): void;\n listByFrontDoor(resourceGroupName: string, frontDoorName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.RulesEngineListResult>, callback?: msRest.ServiceCallback<Models.RulesEngineListResult>): Promise<Models.RulesEnginesListByFrontDoorResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n frontDoorName,\n options\n },\n listByFrontDoorOperationSpec,\n callback) as Promise<Models.RulesEnginesListByFrontDoorResponse>;\n }\n\n /**\n * Gets a Rules Engine Configuration with the specified name within the specified Front Door.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door.\n * @param [options] The optional parameters\n * @returns Promise<Models.RulesEnginesGetResponse>\n */\n get(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, options?: msRest.RequestOptionsBase): Promise<Models.RulesEnginesGetResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door.\n * @param callback The callback\n */\n get(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, callback: msRest.ServiceCallback<Models.RulesEngine>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door.\n * @param options The optional parameters\n * @param callback The callback\n */\n get(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.RulesEngine>): void;\n get(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.RulesEngine>, callback?: msRest.ServiceCallback<Models.RulesEngine>): Promise<Models.RulesEnginesGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n frontDoorName,\n rulesEngineName,\n options\n },\n getOperationSpec,\n callback) as Promise<Models.RulesEnginesGetResponse>;\n }\n\n /**\n * Creates a new Rules Engine Configuration with the specified name within the specified Front\n * Door.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door.\n * @param rulesEngineParameters Rules Engine Configuration properties needed to create a new Rules\n * Engine Configuration.\n * @param [options] The optional parameters\n * @returns Promise<Models.RulesEnginesCreateOrUpdateResponse>\n */\n createOrUpdate(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, rulesEngineParameters: Models.RulesEngine, options?: msRest.RequestOptionsBase): Promise<Models.RulesEnginesCreateOrUpdateResponse> {\n return this.beginCreateOrUpdate(resourceGroupName,frontDoorName,rulesEngineName,rulesEngineParameters,options)\n .then(lroPoller => lroPoller.pollUntilFinished()) as Promise<Models.RulesEnginesCreateOrUpdateResponse>;\n }\n\n /**\n * Deletes an existing Rules Engine Configuration with the specified parameters.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door.\n * @param [options] The optional parameters\n * @returns Promise<msRest.RestResponse>\n */\n deleteMethod(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {\n return this.beginDeleteMethod(resourceGroupName,frontDoorName,rulesEngineName,options)\n .then(lroPoller => lroPoller.pollUntilFinished());\n }\n\n /**\n * Creates a new Rules Engine Configuration with the specified name within the specified Front\n * Door.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door.\n * @param rulesEngineParameters Rules Engine Configuration properties needed to create a new Rules\n * Engine Configuration.\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginCreateOrUpdate(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, rulesEngineParameters: Models.RulesEngine, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n frontDoorName,\n rulesEngineName,\n rulesEngineParameters,\n options\n },\n beginCreateOrUpdateOperationSpec,\n options);\n }\n\n /**\n * Deletes an existing Rules Engine Configuration with the specified parameters.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param frontDoorName Name of the Front Door which is globally unique.\n * @param rulesEngineName Name of the Rules Engine which is unique within the Front Door.\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginDeleteMethod(resourceGroupName: string, frontDoorName: string, rulesEngineName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n frontDoorName,\n rulesEngineName,\n options\n },\n beginDeleteMethodOperationSpec,\n options);\n }\n\n /**\n * Lists all of the Rules Engine Configurations within a Front Door.\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param [options] The optional parameters\n * @returns Promise<Models.RulesEnginesListByFrontDoorNextResponse>\n */\n listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.RulesEnginesListByFrontDoorNextResponse>;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param callback The callback\n */\n listByFrontDoorNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.RulesEngineListResult>): void;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param options The optional parameters\n * @param callback The callback\n */\n listByFrontDoorNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.RulesEngineListResult>): void;\n listByFrontDoorNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.RulesEngineListResult>, callback?: msRest.ServiceCallback<Models.RulesEngineListResult>): Promise<Models.RulesEnginesListByFrontDoorNextResponse> {\n return this.client.sendOperationRequest(\n {\n nextPageLink,\n options\n },\n listByFrontDoorNextOperationSpec,\n callback) as Promise<Models.RulesEnginesListByFrontDoorNextResponse>;\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst listByFrontDoorOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.RulesEngineListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst getOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName,\n Parameters.rulesEngineName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.RulesEngine\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginCreateOrUpdateOperationSpec: msRest.OperationSpec = {\n httpMethod: \"PUT\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName,\n Parameters.rulesEngineName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"rulesEngineParameters\",\n mapper: {\n ...Mappers.RulesEngine,\n required: true\n }\n },\n responses: {\n 200: {\n bodyMapper: Mappers.RulesEngine\n },\n 201: {\n bodyMapper: Mappers.RulesEngine\n },\n 202: {\n bodyMapper: Mappers.RulesEngine\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginDeleteMethodOperationSpec: msRest.OperationSpec = {\n httpMethod: \"DELETE\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/rulesEngines/{rulesEngineName}\",\n urlParameters: [\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.frontDoorName,\n Parameters.rulesEngineName\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listByFrontDoorNextOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n baseUrl: \"https://management.azure.com\",\n path: \"{nextLink}\",\n urlParameters: [\n Parameters.nextPageLink\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.RulesEngineListResult\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport {\n discriminators,\n Backend,\n BackendPool,\n BackendPoolsSettings,\n BaseResource,\n CacheConfiguration,\n CloudError,\n CustomHttpsConfiguration,\n CustomRule,\n CustomRuleList,\n Endpoint,\n ErrorResponse,\n Experiment,\n ForwardingConfiguration,\n FrontDoor,\n FrontendEndpoint,\n FrontendEndpointLink,\n FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n HeaderAction,\n HealthProbeSettingsModel,\n KeyVaultCertificateSourceParametersVault,\n LatencyMetric,\n LatencyScorecard,\n LoadBalancingSettingsModel,\n ManagedRuleDefinition,\n ManagedRuleExclusion,\n ManagedRuleGroupDefinition,\n ManagedRuleGroupOverride,\n ManagedRuleOverride,\n ManagedRuleSet,\n ManagedRuleSetDefinition,\n ManagedRuleSetList,\n MatchCondition,\n PolicySettings,\n PreconfiguredEndpoint,\n Profile,\n RedirectConfiguration,\n Resource,\n RouteConfiguration,\n RoutingRule,\n RulesEngine,\n RulesEngineAction,\n RulesEngineMatchCondition,\n RulesEngineRule,\n SubResource,\n Timeseries,\n TimeseriesDataPoint,\n WebApplicationFirewallPolicy,\n WebApplicationFirewallPolicyList\n} from \"../models/mappers\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport * as msRestAzure from \"@azure/ms-rest-azure-js\";\nimport * as Models from \"../models\";\nimport * as Mappers from \"../models/policiesMappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { FrontDoorManagementClientContext } from \"../frontDoorManagementClientContext\";\n\n/** Class representing a Policies. */\nexport class Policies {\n private readonly client: FrontDoorManagementClientContext;\n\n /**\n * Create a Policies.\n * @param {FrontDoorManagementClientContext} client Reference to the service client.\n */\n constructor(client: FrontDoorManagementClientContext) {\n this.client = client;\n }\n\n /**\n * Lists all of the protection policies within a resource group.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param [options] The optional parameters\n * @returns Promise<Models.PoliciesListResponse>\n */\n list(resourceGroupName: string, options?: msRest.RequestOptionsBase): Promise<Models.PoliciesListResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param callback The callback\n */\n list(resourceGroupName: string, callback: msRest.ServiceCallback<Models.WebApplicationFirewallPolicyList>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param options The optional parameters\n * @param callback The callback\n */\n list(resourceGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.WebApplicationFirewallPolicyList>): void;\n list(resourceGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.WebApplicationFirewallPolicyList>, callback?: msRest.ServiceCallback<Models.WebApplicationFirewallPolicyList>): Promise<Models.PoliciesListResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n options\n },\n listOperationSpec,\n callback) as Promise<Models.PoliciesListResponse>;\n }\n\n /**\n * Retrieve protection policy with specified name within a resource group.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param policyName The name of the Web Application Firewall Policy.\n * @param [options] The optional parameters\n * @returns Promise<Models.PoliciesGetResponse>\n */\n get(resourceGroupName: string, policyName: string, options?: msRest.RequestOptionsBase): Promise<Models.PoliciesGetResponse>;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param policyName The name of the Web Application Firewall Policy.\n * @param callback The callback\n */\n get(resourceGroupName: string, policyName: string, callback: msRest.ServiceCallback<Models.WebApplicationFirewallPolicy>): void;\n /**\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param policyName The name of the Web Application Firewall Policy.\n * @param options The optional parameters\n * @param callback The callback\n */\n get(resourceGroupName: string, policyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.WebApplicationFirewallPolicy>): void;\n get(resourceGroupName: string, policyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.WebApplicationFirewallPolicy>, callback?: msRest.ServiceCallback<Models.WebApplicationFirewallPolicy>): Promise<Models.PoliciesGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n policyName,\n options\n },\n getOperationSpec,\n callback) as Promise<Models.PoliciesGetResponse>;\n }\n\n /**\n * Create or update policy with specified rule set name within a resource group.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param policyName The name of the Web Application Firewall Policy.\n * @param parameters Policy to be created.\n * @param [options] The optional parameters\n * @returns Promise<Models.PoliciesCreateOrUpdateResponse>\n */\n createOrUpdate(resourceGroupName: string, policyName: string, parameters: Models.WebApplicationFirewallPolicy, options?: msRest.RequestOptionsBase): Promise<Models.PoliciesCreateOrUpdateResponse> {\n return this.beginCreateOrUpdate(resourceGroupName,policyName,parameters,options)\n .then(lroPoller => lroPoller.pollUntilFinished()) as Promise<Models.PoliciesCreateOrUpdateResponse>;\n }\n\n /**\n * Deletes Policy\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param policyName The name of the Web Application Firewall Policy.\n * @param [options] The optional parameters\n * @returns Promise<msRest.RestResponse>\n */\n deleteMethod(resourceGroupName: string, policyName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse> {\n return this.beginDeleteMethod(resourceGroupName,policyName,options)\n .then(lroPoller => lroPoller.pollUntilFinished());\n }\n\n /**\n * Create or update policy with specified rule set name within a resource group.\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param policyName The name of the Web Application Firewall Policy.\n * @param parameters Policy to be created.\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginCreateOrUpdate(resourceGroupName: string, policyName: string, parameters: Models.WebApplicationFirewallPolicy, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n policyName,\n parameters,\n options\n },\n beginCreateOrUpdateOperationSpec,\n options);\n }\n\n /**\n * Deletes Policy\n * @param resourceGroupName Name of the Resource group within the Azure subscription.\n * @param policyName The name of the Web Application Firewall Policy.\n * @param [options] The optional parameters\n * @returns Promise<msRestAzure.LROPoller>\n */\n beginDeleteMethod(resourceGroupName: string, policyName: string, options?: msRest.RequestOptionsBase): Promise<msRestAzure.LROPoller> {\n return this.client.sendLRORequest(\n {\n resourceGroupName,\n policyName,\n options\n },\n beginDeleteMethodOperationSpec,\n options);\n }\n\n /**\n * Lists all of the protection policies within a resource group.\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param [options] The optional parameters\n * @returns Promise<Models.PoliciesListNextResponse>\n */\n listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.PoliciesListNextResponse>;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param callback The callback\n */\n listNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.WebApplicationFirewallPolicyList>): void;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param options The optional parameters\n * @param callback The callback\n */\n listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.WebApplicationFirewallPolicyList>): void;\n listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.WebApplicationFirewallPolicyList>, callback?: msRest.ServiceCallback<Models.WebApplicationFirewallPolicyList>): Promise<Models.PoliciesListNextResponse> {\n return this.client.sendOperationRequest(\n {\n nextPageLink,\n options\n },\n listNextOperationSpec,\n callback) as Promise<Models.PoliciesListNextResponse>;\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst listOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies\",\n urlParameters: [\n Parameters.resourceGroupName,\n Parameters.subscriptionId\n ],\n queryParameters: [\n Parameters.apiVersion2\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.WebApplicationFirewallPolicyList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst getOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}\",\n urlParameters: [\n Parameters.resourceGroupName,\n Parameters.policyName,\n Parameters.subscriptionId\n ],\n queryParameters: [\n Parameters.apiVersion2\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.WebApplicationFirewallPolicy\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginCreateOrUpdateOperationSpec: msRest.OperationSpec = {\n httpMethod: \"PUT\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}\",\n urlParameters: [\n Parameters.resourceGroupName,\n Parameters.policyName,\n Parameters.subscriptionId\n ],\n queryParameters: [\n Parameters.apiVersion2\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"parameters\",\n mapper: {\n ...Mappers.WebApplicationFirewallPolicy,\n required: true\n }\n },\n responses: {\n 200: {\n bodyMapper: Mappers.WebApplicationFirewallPolicy\n },\n 201: {\n bodyMapper: Mappers.WebApplicationFirewallPolicy\n },\n 202: {\n bodyMapper: Mappers.WebApplicationFirewallPolicy\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst beginDeleteMethodOperationSpec: msRest.OperationSpec = {\n httpMethod: \"DELETE\",\n path: \"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}\",\n urlParameters: [\n Parameters.resourceGroupName,\n Parameters.policyName,\n Parameters.subscriptionId\n ],\n queryParameters: [\n Parameters.apiVersion2\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.CloudError\n }\n },\n serializer\n};\n\nconst listNextOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n baseUrl: \"https://management.azure.com\",\n path: \"{nextLink}\",\n urlParameters: [\n Parameters.nextPageLink\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.WebApplicationFirewallPolicyList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nexport {\n discriminators,\n Backend,\n BackendPool,\n BackendPoolsSettings,\n BaseResource,\n CacheConfiguration,\n CustomHttpsConfiguration,\n CustomRule,\n CustomRuleList,\n Endpoint,\n ErrorResponse,\n Experiment,\n ForwardingConfiguration,\n FrontDoor,\n FrontendEndpoint,\n FrontendEndpointLink,\n FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink,\n HeaderAction,\n HealthProbeSettingsModel,\n KeyVaultCertificateSourceParametersVault,\n LatencyMetric,\n LatencyScorecard,\n LoadBalancingSettingsModel,\n ManagedRuleDefinition,\n ManagedRuleExclusion,\n ManagedRuleGroupDefinition,\n ManagedRuleGroupOverride,\n ManagedRuleOverride,\n ManagedRuleSet,\n ManagedRuleSetDefinition,\n ManagedRuleSetDefinitionList,\n ManagedRuleSetList,\n MatchCondition,\n PolicySettings,\n PreconfiguredEndpoint,\n Profile,\n RedirectConfiguration,\n Resource,\n RouteConfiguration,\n RoutingRule,\n RulesEngine,\n RulesEngineAction,\n RulesEngineMatchCondition,\n RulesEngineRule,\n SubResource,\n Timeseries,\n TimeseriesDataPoint,\n WebApplicationFirewallPolicy\n} from \"../models/mappers\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport * as Models from \"../models\";\nimport * as Mappers from \"../models/managedRuleSetsMappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { FrontDoorManagementClientContext } from \"../frontDoorManagementClientContext\";\n\n/** Class representing a ManagedRuleSets. */\nexport class ManagedRuleSets {\n private readonly client: FrontDoorManagementClientContext;\n\n /**\n * Create a ManagedRuleSets.\n * @param {FrontDoorManagementClientContext} client Reference to the service client.\n */\n constructor(client: FrontDoorManagementClientContext) {\n this.client = client;\n }\n\n /**\n * Lists all available managed rule sets.\n * @param [options] The optional parameters\n * @returns Promise<Models.ManagedRuleSetsListResponse>\n */\n list(options?: msRest.RequestOptionsBase): Promise<Models.ManagedRuleSetsListResponse>;\n /**\n * @param callback The callback\n */\n list(callback: msRest.ServiceCallback<Models.ManagedRuleSetDefinitionList>): void;\n /**\n * @param options The optional parameters\n * @param callback The callback\n */\n list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ManagedRuleSetDefinitionList>): void;\n list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ManagedRuleSetDefinitionList>, callback?: msRest.ServiceCallback<Models.ManagedRuleSetDefinitionList>): Promise<Models.ManagedRuleSetsListResponse> {\n return this.client.sendOperationRequest(\n {\n options\n },\n listOperationSpec,\n callback) as Promise<Models.ManagedRuleSetsListResponse>;\n }\n\n /**\n * Lists all available managed rule sets.\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param [options] The optional parameters\n * @returns Promise<Models.ManagedRuleSetsListNextResponse>\n */\n listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.ManagedRuleSetsListNextResponse>;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param callback The callback\n */\n listNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.ManagedRuleSetDefinitionList>): void;\n /**\n * @param nextPageLink The NextLink from the previous successful call to List operation.\n * @param options The optional parameters\n * @param callback The callback\n */\n listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ManagedRuleSetDefinitionList>): void;\n listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ManagedRuleSetDefinitionList>, callback?: msRest.ServiceCallback<Models.ManagedRuleSetDefinitionList>): Promise<Models.ManagedRuleSetsListNextResponse> {\n return this.client.sendOperationRequest(\n {\n nextPageLink,\n options\n },\n listNextOperationSpec,\n callback) as Promise<Models.ManagedRuleSetsListNextResponse>;\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst listOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n path: \"subscriptions/{subscriptionId}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets\",\n urlParameters: [\n Parameters.subscriptionId\n ],\n queryParameters: [\n Parameters.apiVersion2\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.ManagedRuleSetDefinitionList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst listNextOperationSpec: msRest.OperationSpec = {\n httpMethod: \"GET\",\n baseUrl: \"https://management.azure.com\",\n path: \"{nextLink}\",\n urlParameters: [\n Parameters.nextPageLink\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.ManagedRuleSetDefinitionList\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as Models from \"./models\";\nimport * as msRest from \"@azure/ms-rest-js\";\nimport { TokenCredential } from \"@azure/core-auth\";\nimport * as msRestAzure from \"@azure/ms-rest-azure-js\";\n\nconst packageName = \"@azure/arm-frontdoor\";\nconst packageVersion = \"4.1.1\";\n\nexport class FrontDoorManagementClientContext extends msRestAzure.AzureServiceClient {\n credentials: msRest.ServiceClientCredentials | TokenCredential;\n subscriptionId: string;\n\n /**\n * Initializes a new instance of the FrontDoorManagementClient class.\n * @param credentials Credentials needed for the client to connect to Azure. Credentials\n * implementing the TokenCredential interface from the @azure/identity package are recommended. For\n * more information about these credentials, see\n * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the\n * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and\n * @azure/ms-rest-browserauth are also supported.\n * @param subscriptionId The subscription credentials which uniquely identify the Microsoft Azure\n * subscription. The subscription ID forms part of the URI for every service call.\n * @param [options] The parameter options\n */\n constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.FrontDoorManagementClientOptions) {\n if (credentials == undefined) {\n throw new Error('\\'credentials\\' cannot be null.');\n }\n if (subscriptionId == undefined) {\n throw new Error('\\'subscriptionId\\' cannot be null.');\n }\n\n if (!options) {\n options = {};\n }\n if (!options.userAgent) {\n const defaultUserAgent = msRestAzure.getDefaultUserAgentValue();\n options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;\n }\n\n super(credentials, options);\n\n this.acceptLanguage = 'en-US';\n this.longRunningOperationRetryTimeout = 30;\n this.baseUri = options.baseUri || this.baseUri || \"https://management.azure.com\";\n this.requestContentType = \"application/json; charset=utf-8\";\n this.credentials = credentials;\n this.subscriptionId = subscriptionId;\n\n if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) {\n this.acceptLanguage = options.acceptLanguage;\n }\n if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) {\n this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout;\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for\n * license information.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"@azure/ms-rest-js\";\nimport { TokenCredential } from \"@azure/core-auth\";\nimport * as Models from \"./models\";\nimport * as Mappers from \"./models/mappers\";\nimport * as Parameters from \"./models/parameters\";\nimport * as operations from \"./operations\";\nimport { FrontDoorManagementClientContext } from \"./frontDoorManagementClientContext\";\n\n\nclass FrontDoorManagementClient extends FrontDoorManagementClientContext {\n // Operation groups\n networkExperimentProfiles: operations.NetworkExperimentProfiles;\n preconfiguredEndpoints: operations.PreconfiguredEndpoints;\n experiments: operations.Experiments;\n reports: operations.Reports;\n frontDoors: operations.FrontDoors;\n frontendEndpoints: operations.FrontendEndpoints;\n endpoints: operations.Endpoints;\n rulesEngines: operations.RulesEngines;\n policies: operations.Policies;\n managedRuleSets: operations.ManagedRuleSets;\n\n /**\n * Initializes a new instance of the FrontDoorManagementClient class.\n * @param credentials Credentials needed for the client to connect to Azure. Credentials\n * implementing the TokenCredential interface from the @azure/identity package are recommended. For\n * more information about these credentials, see\n * {@link https://www.npmjs.com/package/@azure/identity}. Credentials implementing the\n * ServiceClientCredentials interface from the older packages @azure/ms-rest-nodeauth and\n * @azure/ms-rest-browserauth are also supported.\n * @param subscriptionId The subscription credentials which uniquely identify the Microsoft Azure\n * subscription. The subscription ID forms part of the URI for every service call.\n * @param [options] The parameter options\n */\n constructor(credentials: msRest.ServiceClientCredentials | TokenCredential, subscriptionId: string, options?: Models.FrontDoorManagementClientOptions) {\n super(credentials, subscriptionId, options);\n this.networkExperimentProfiles = new operations.NetworkExperimentProfiles(this);\n this.preconfiguredEndpoints = new operations.PreconfiguredEndpoints(this);\n this.experiments = new operations.Experiments(this);\n this.reports = new operations.Reports(this);\n this.frontDoors = new operations.FrontDoors(this);\n this.frontendEndpoints = new operations.FrontendEndpoints(this);\n this.endpoints = new operations.Endpoints(this);\n this.rulesEngines = new operations.RulesEngines(this);\n this.policies = new operations.Policies(this);\n this.managedRuleSets = new operations.ManagedRuleSets(this);\n }\n\n /**\n * Check the availability of a Front Door resource name.\n * @param checkFrontDoorNameAvailabilityInput Input to check.\n * @param [options] The optional parameters\n * @returns Promise<Models.CheckFrontDoorNameAvailabilityResponse>\n */\n checkFrontDoorNameAvailability(checkFrontDoorNameAvailabilityInput: Models.CheckNameAvailabilityInput, options?: msRest.RequestOptionsBase): Promise<Models.CheckFrontDoorNameAvailabilityResponse>;\n /**\n * @param checkFrontDoorNameAvailabilityInput Input to check.\n * @param callback The callback\n */\n checkFrontDoorNameAvailability(checkFrontDoorNameAvailabilityInput: Models.CheckNameAvailabilityInput, callback: msRest.ServiceCallback<Models.CheckNameAvailabilityOutput>): void;\n /**\n * @param checkFrontDoorNameAvailabilityInput Input to check.\n * @param options The optional parameters\n * @param callback The callback\n */\n checkFrontDoorNameAvailability(checkFrontDoorNameAvailabilityInput: Models.CheckNameAvailabilityInput, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.CheckNameAvailabilityOutput>): void;\n checkFrontDoorNameAvailability(checkFrontDoorNameAvailabilityInput: Models.CheckNameAvailabilityInput, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.CheckNameAvailabilityOutput>, callback?: msRest.ServiceCallback<Models.CheckNameAvailabilityOutput>): Promise<Models.CheckFrontDoorNameAvailabilityResponse> {\n return this.sendOperationRequest(\n {\n checkFrontDoorNameAvailabilityInput,\n options\n },\n checkFrontDoorNameAvailabilityOperationSpec,\n callback) as Promise<Models.CheckFrontDoorNameAvailabilityResponse>;\n }\n\n /**\n * Check the availability of a Front Door subdomain.\n * @param checkFrontDoorNameAvailabilityInput Input to check.\n * @param [options] The optional parameters\n * @returns Promise<Models.CheckFrontDoorNameAvailabilityWithSubscriptionResponse>\n */\n checkFrontDoorNameAvailabilityWithSubscription(checkFrontDoorNameAvailabilityInput: Models.CheckNameAvailabilityInput, options?: msRest.RequestOptionsBase): Promise<Models.CheckFrontDoorNameAvailabilityWithSubscriptionResponse>;\n /**\n * @param checkFrontDoorNameAvailabilityInput Input to check.\n * @param callback The callback\n */\n checkFrontDoorNameAvailabilityWithSubscription(checkFrontDoorNameAvailabilityInput: Models.CheckNameAvailabilityInput, callback: msRest.ServiceCallback<Models.CheckNameAvailabilityOutput>): void;\n /**\n * @param checkFrontDoorNameAvailabilityInput Input to check.\n * @param options The optional parameters\n * @param callback The callback\n */\n checkFrontDoorNameAvailabilityWithSubscription(checkFrontDoorNameAvailabilityInput: Models.CheckNameAvailabilityInput, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.CheckNameAvailabilityOutput>): void;\n checkFrontDoorNameAvailabilityWithSubscription(checkFrontDoorNameAvailabilityInput: Models.CheckNameAvailabilityInput, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.CheckNameAvailabilityOutput>, callback?: msRest.ServiceCallback<Models.CheckNameAvailabilityOutput>): Promise<Models.CheckFrontDoorNameAvailabilityWithSubscriptionResponse> {\n return this.sendOperationRequest(\n {\n checkFrontDoorNameAvailabilityInput,\n options\n },\n checkFrontDoorNameAvailabilityWithSubscriptionOperationSpec,\n callback) as Promise<Models.CheckFrontDoorNameAvailabilityWithSubscriptionResponse>;\n }\n}\n\n// Operation Specifications\nconst serializer = new msRest.Serializer(Mappers);\nconst checkFrontDoorNameAvailabilityOperationSpec: msRest.OperationSpec = {\n httpMethod: \"POST\",\n path: \"providers/Microsoft.Network/checkFrontDoorNameAvailability\",\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"checkFrontDoorNameAvailabilityInput\",\n mapper: {\n ...Mappers.CheckNameAvailabilityInput,\n required: true\n }\n },\n responses: {\n 200: {\n bodyMapper: Mappers.CheckNameAvailabilityOutput\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nconst checkFrontDoorNameAvailabilityWithSubscriptionOperationSpec: msRest.OperationSpec = {\n httpMethod: \"POST\",\n path: \"subscriptions/{subscriptionId}/providers/Microsoft.Network/checkFrontDoorNameAvailability\",\n urlParameters: [\n Parameters.subscriptionId\n ],\n queryParameters: [\n Parameters.apiVersion1\n ],\n headerParameters: [\n Parameters.acceptLanguage\n ],\n requestBody: {\n parameterPath: \"checkFrontDoorNameAvailabilityInput\",\n mapper: {\n ...Mappers.CheckNameAvailabilityInput,\n required: true\n }\n },\n responses: {\n 200: {\n bodyMapper: Mappers.CheckNameAvailabilityOutput\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n serializer\n};\n\nexport {\n FrontDoorManagementClient,\n FrontDoorManagementClientContext,\n Models as FrontDoorManagementModels,\n Mappers as FrontDoorManagementMappers\n};\nexport * from \"./operations\";\n"],"names":["CloudErrorMapper","BaseResourceMapper","msRest.Serializer","Mappers","Parameters.subscriptionId","Parameters.apiVersion0","Parameters.acceptLanguage","Mappers.ProfileList","Mappers.ErrorResponse","Parameters.resourceGroupName","Parameters.profileName","Mappers.Profile","Mappers.ProfileUpdateModel","Parameters.nextPageLink","listOperationSpec","listNextOperationSpec","serializer","Mappers.PreconfiguredEndpointList","getOperationSpec","beginCreateOrUpdateOperationSpec","beginUpdateOperationSpec","beginDeleteMethodOperationSpec","Mappers.ExperimentList","Parameters.experimentName","Mappers.Experiment","Mappers.ExperimentUpdateModel","Parameters.endDateTimeUTC0","Parameters.country","Parameters.aggregationInterval","Mappers.LatencyScorecard","Parameters.startDateTimeUTC","Parameters.endDateTimeUTC1","Parameters.timeseriesType","Parameters.endpoint","Mappers.Timeseries","listByResourceGroupOperationSpec","listByResourceGroupNextOperationSpec","Parameters.apiVersion1","Mappers.FrontDoorListResult","Parameters.frontDoorName","Mappers.FrontDoor","Mappers.ValidateCustomDomainInput","Mappers.ValidateCustomDomainOutput","Mappers.FrontendEndpointsListResult","Parameters.frontendEndpointName","Mappers.FrontendEndpoint","Mappers.CustomHttpsConfiguration","Mappers.PurgeParameters","listByFrontDoorOperationSpec","listByFrontDoorNextOperationSpec","Mappers.RulesEngineListResult","Parameters.rulesEngineName","Mappers.RulesEngine","Parameters.apiVersion2","Mappers.WebApplicationFirewallPolicyList","Parameters.policyName","Mappers.WebApplicationFirewallPolicy","Mappers.CloudError","Mappers.ManagedRuleSetDefinitionList","msRestAzure.getDefaultUserAgentValue","msRestAzure.AzureServiceClient","operations.NetworkExperimentProfiles","operations.PreconfiguredEndpoints","operations.Experiments","operations.Reports","operations.FrontDoors","operations.FrontendEndpoints","operations.Endpoints","operations.RulesEngines","operations.Policies","operations.ManagedRuleSets","Mappers.CheckNameAvailabilityInput","Mappers.CheckNameAvailabilityOutput"],"mappings":"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"}