@azure/arm-frontdoor 3.1.0 → 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 (292) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +21 -0
  3. package/LICENSE.txt +1 -1
  4. package/README.md +75 -73
  5. package/dist/index.js +6728 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/index.min.js +1 -0
  8. package/dist/index.min.js.map +1 -0
  9. package/dist-esm/src/frontDoorManagementClient.d.ts +29 -0
  10. package/dist-esm/src/frontDoorManagementClient.d.ts.map +1 -0
  11. package/dist-esm/src/frontDoorManagementClient.js +62 -0
  12. package/dist-esm/src/frontDoorManagementClient.js.map +1 -0
  13. package/dist-esm/src/index.d.ts +5 -0
  14. package/dist-esm/src/index.d.ts.map +1 -0
  15. package/dist-esm/src/index.js +12 -0
  16. package/dist-esm/src/index.js.map +1 -0
  17. package/dist-esm/src/lroImpl.d.ts +16 -0
  18. package/dist-esm/src/lroImpl.d.ts.map +1 -0
  19. package/dist-esm/src/lroImpl.js +29 -0
  20. package/dist-esm/src/lroImpl.js.map +1 -0
  21. package/dist-esm/src/models/index.d.ts +2380 -0
  22. package/dist-esm/src/models/index.d.ts.map +1 -0
  23. package/dist-esm/src/models/index.js +399 -0
  24. package/dist-esm/src/models/index.js.map +1 -0
  25. package/dist-esm/src/models/mappers.d.ts +93 -0
  26. package/dist-esm/src/models/mappers.d.ts.map +1 -0
  27. package/dist-esm/src/models/mappers.js +3048 -0
  28. package/dist-esm/src/models/mappers.js.map +1 -0
  29. package/dist-esm/src/models/parameters.d.ts +36 -0
  30. package/dist-esm/src/models/parameters.d.ts.map +1 -0
  31. package/dist-esm/src/models/parameters.js +316 -0
  32. package/dist-esm/src/models/parameters.js.map +1 -0
  33. package/dist-esm/src/operations/endpoints.d.ts +34 -0
  34. package/dist-esm/src/operations/endpoints.d.ts.map +1 -0
  35. package/dist-esm/src/operations/endpoints.js +106 -0
  36. package/dist-esm/src/operations/endpoints.js.map +1 -0
  37. package/dist-esm/src/operations/experiments.d.ts +99 -0
  38. package/dist-esm/src/operations/experiments.d.ts.map +1 -0
  39. package/dist-esm/src/operations/experiments.js +417 -0
  40. package/dist-esm/src/operations/experiments.js.map +1 -0
  41. package/dist-esm/src/operations/frontDoorNameAvailability.d.ts +19 -0
  42. package/dist-esm/src/operations/frontDoorNameAvailability.d.ts.map +1 -0
  43. package/dist-esm/src/operations/frontDoorNameAvailability.js +49 -0
  44. package/dist-esm/src/operations/frontDoorNameAvailability.js.map +1 -0
  45. package/dist-esm/src/operations/frontDoorNameAvailabilityWithSubscription.d.ts +19 -0
  46. package/dist-esm/src/operations/frontDoorNameAvailabilityWithSubscription.d.ts.map +1 -0
  47. package/dist-esm/src/operations/frontDoorNameAvailabilityWithSubscription.js +49 -0
  48. package/dist-esm/src/operations/frontDoorNameAvailabilityWithSubscription.js.map +1 -0
  49. package/dist-esm/src/operations/frontDoors.d.ts +100 -0
  50. package/dist-esm/src/operations/frontDoors.d.ts.map +1 -0
  51. package/dist-esm/src/operations/frontDoors.js +453 -0
  52. package/dist-esm/src/operations/frontDoors.js.map +1 -0
  53. package/dist-esm/src/operations/frontendEndpoints.d.ts +81 -0
  54. package/dist-esm/src/operations/frontendEndpoints.d.ts.map +1 -0
  55. package/dist-esm/src/operations/frontendEndpoints.js +331 -0
  56. package/dist-esm/src/operations/frontendEndpoints.js.map +1 -0
  57. package/dist-esm/src/operations/index.d.ts +13 -0
  58. package/dist-esm/src/operations/index.d.ts.map +1 -0
  59. package/dist-esm/src/operations/index.js +20 -0
  60. package/dist-esm/src/operations/index.js.map +1 -0
  61. package/dist-esm/src/operations/managedRuleSets.d.ts +32 -0
  62. package/dist-esm/src/operations/managedRuleSets.d.ts.map +1 -0
  63. package/dist-esm/src/operations/managedRuleSets.js +124 -0
  64. package/dist-esm/src/operations/managedRuleSets.js.map +1 -0
  65. package/dist-esm/src/operations/networkExperimentProfiles.d.ts +107 -0
  66. package/dist-esm/src/operations/networkExperimentProfiles.d.ts.map +1 -0
  67. package/dist-esm/src/operations/networkExperimentProfiles.js +500 -0
  68. package/dist-esm/src/operations/networkExperimentProfiles.js.map +1 -0
  69. package/dist-esm/src/operations/policies.d.ts +73 -0
  70. package/dist-esm/src/operations/policies.d.ts.map +1 -0
  71. package/dist-esm/src/operations/policies.js +309 -0
  72. package/dist-esm/src/operations/policies.js.map +1 -0
  73. package/dist-esm/src/operations/preconfiguredEndpoints.d.ts +38 -0
  74. package/dist-esm/src/operations/preconfiguredEndpoints.d.ts.map +1 -0
  75. package/dist-esm/src/operations/preconfiguredEndpoints.js +137 -0
  76. package/dist-esm/src/operations/preconfiguredEndpoints.js.map +1 -0
  77. package/dist-esm/src/operations/reports.d.ts +34 -0
  78. package/dist-esm/src/operations/reports.d.ts.map +1 -0
  79. package/dist-esm/src/operations/reports.js +120 -0
  80. package/dist-esm/src/operations/reports.js.map +1 -0
  81. package/dist-esm/src/operations/rulesEngines.d.ts +83 -0
  82. package/dist-esm/src/operations/rulesEngines.d.ts.map +1 -0
  83. package/dist-esm/src/operations/rulesEngines.js +341 -0
  84. package/dist-esm/src/operations/rulesEngines.js.map +1 -0
  85. package/dist-esm/src/operationsInterfaces/endpoints.d.ts +26 -0
  86. package/dist-esm/src/operationsInterfaces/endpoints.d.ts.map +1 -0
  87. package/dist-esm/src/operationsInterfaces/endpoints.js +9 -0
  88. package/dist-esm/src/operationsInterfaces/endpoints.js.map +1 -0
  89. package/dist-esm/src/operationsInterfaces/experiments.d.ts +74 -0
  90. package/dist-esm/src/operationsInterfaces/experiments.d.ts.map +1 -0
  91. package/dist-esm/src/operationsInterfaces/experiments.js +9 -0
  92. package/dist-esm/src/operationsInterfaces/experiments.js.map +1 -0
  93. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailability.d.ts +11 -0
  94. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailability.d.ts.map +1 -0
  95. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailability.js +9 -0
  96. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailability.js.map +1 -0
  97. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailabilityWithSubscription.d.ts +11 -0
  98. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailabilityWithSubscription.d.ts.map +1 -0
  99. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailabilityWithSubscription.js +9 -0
  100. package/dist-esm/src/operationsInterfaces/frontDoorNameAvailabilityWithSubscription.js.map +1 -0
  101. package/dist-esm/src/operationsInterfaces/frontDoors.d.ts +64 -0
  102. package/dist-esm/src/operationsInterfaces/frontDoors.d.ts.map +1 -0
  103. package/dist-esm/src/operationsInterfaces/frontDoors.js +9 -0
  104. package/dist-esm/src/operationsInterfaces/frontDoors.js.map +1 -0
  105. package/dist-esm/src/operationsInterfaces/frontendEndpoints.d.ts +56 -0
  106. package/dist-esm/src/operationsInterfaces/frontendEndpoints.d.ts.map +1 -0
  107. package/dist-esm/src/operationsInterfaces/frontendEndpoints.js +9 -0
  108. package/dist-esm/src/operationsInterfaces/frontendEndpoints.js.map +1 -0
  109. package/dist-esm/src/operationsInterfaces/index.d.ts +13 -0
  110. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
  111. package/dist-esm/src/operationsInterfaces/index.js +20 -0
  112. package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
  113. package/dist-esm/src/operationsInterfaces/managedRuleSets.d.ts +11 -0
  114. package/dist-esm/src/operationsInterfaces/managedRuleSets.d.ts.map +1 -0
  115. package/dist-esm/src/operationsInterfaces/managedRuleSets.js +9 -0
  116. package/dist-esm/src/operationsInterfaces/managedRuleSets.js.map +1 -0
  117. package/dist-esm/src/operationsInterfaces/networkExperimentProfiles.d.ts +71 -0
  118. package/dist-esm/src/operationsInterfaces/networkExperimentProfiles.d.ts.map +1 -0
  119. package/dist-esm/src/operationsInterfaces/networkExperimentProfiles.js +9 -0
  120. package/dist-esm/src/operationsInterfaces/networkExperimentProfiles.js.map +1 -0
  121. package/dist-esm/src/operationsInterfaces/policies.d.ts +50 -0
  122. package/dist-esm/src/operationsInterfaces/policies.d.ts.map +1 -0
  123. package/dist-esm/src/operationsInterfaces/policies.js +9 -0
  124. package/dist-esm/src/operationsInterfaces/policies.js.map +1 -0
  125. package/dist-esm/src/operationsInterfaces/preconfiguredEndpoints.d.ts +13 -0
  126. package/dist-esm/src/operationsInterfaces/preconfiguredEndpoints.d.ts.map +1 -0
  127. package/dist-esm/src/operationsInterfaces/preconfiguredEndpoints.js +9 -0
  128. package/dist-esm/src/operationsInterfaces/preconfiguredEndpoints.js.map +1 -0
  129. package/dist-esm/src/operationsInterfaces/reports.d.ts +26 -0
  130. package/dist-esm/src/operationsInterfaces/reports.d.ts.map +1 -0
  131. package/dist-esm/src/operationsInterfaces/reports.js +9 -0
  132. package/dist-esm/src/operationsInterfaces/reports.js.map +1 -0
  133. package/dist-esm/src/operationsInterfaces/rulesEngines.d.ts +58 -0
  134. package/dist-esm/src/operationsInterfaces/rulesEngines.d.ts.map +1 -0
  135. package/dist-esm/src/operationsInterfaces/rulesEngines.js +9 -0
  136. package/dist-esm/src/operationsInterfaces/rulesEngines.js.map +1 -0
  137. package/dist-esm/test/sampleTest.d.ts +2 -0
  138. package/dist-esm/test/sampleTest.d.ts.map +1 -0
  139. package/dist-esm/test/sampleTest.js +40 -0
  140. package/dist-esm/test/sampleTest.js.map +1 -0
  141. package/package.json +70 -34
  142. package/review/arm-frontdoor.api.md +1910 -0
  143. package/rollup.config.js +184 -27
  144. package/src/frontDoorManagementClient.ts +124 -0
  145. package/src/index.ts +12 -0
  146. package/src/lroImpl.ts +34 -0
  147. package/src/models/index.ts +2676 -0
  148. package/src/models/mappers.ts +3311 -0
  149. package/src/models/parameters.ts +367 -0
  150. package/src/operations/endpoints.ts +150 -0
  151. package/src/operations/experiments.ts +608 -0
  152. package/src/operations/frontDoorNameAvailability.ts +68 -0
  153. package/src/operations/frontDoorNameAvailabilityWithSubscription.ts +69 -0
  154. package/src/operations/frontDoors.ts +594 -0
  155. package/src/operations/frontendEndpoints.ts +471 -0
  156. package/src/operations/index.ts +20 -0
  157. package/src/operations/managedRuleSets.ts +142 -0
  158. package/src/operations/networkExperimentProfiles.ts +672 -0
  159. package/src/operations/policies.ts +425 -0
  160. package/src/operations/preconfiguredEndpoints.ts +177 -0
  161. package/src/operations/reports.ts +160 -0
  162. package/src/operations/rulesEngines.ts +486 -0
  163. package/src/operationsInterfaces/endpoints.ts +47 -0
  164. package/src/operationsInterfaces/experiments.ts +147 -0
  165. package/src/operationsInterfaces/frontDoorNameAvailability.ts +26 -0
  166. package/src/operationsInterfaces/frontDoorNameAvailabilityWithSubscription.ts +26 -0
  167. package/src/operationsInterfaces/frontDoors.ts +122 -0
  168. package/src/operationsInterfaces/frontendEndpoints.ts +104 -0
  169. package/src/operationsInterfaces/index.ts +20 -0
  170. package/src/operationsInterfaces/managedRuleSets.ts +25 -0
  171. package/src/operationsInterfaces/networkExperimentProfiles.ts +139 -0
  172. package/src/operationsInterfaces/policies.ts +97 -0
  173. package/src/operationsInterfaces/preconfiguredEndpoints.ts +29 -0
  174. package/src/operationsInterfaces/reports.ts +57 -0
  175. package/src/operationsInterfaces/rulesEngines.ts +111 -0
  176. package/tsconfig.json +4 -4
  177. package/types/arm-frontdoor.d.ts +3127 -0
  178. package/types/tsdoc-metadata.json +11 -0
  179. package/dist/arm-frontdoor.js +0 -4289
  180. package/dist/arm-frontdoor.js.map +0 -1
  181. package/dist/arm-frontdoor.min.js +0 -1
  182. package/dist/arm-frontdoor.min.js.map +0 -1
  183. package/esm/frontDoorManagementClient.d.ts +0 -62
  184. package/esm/frontDoorManagementClient.d.ts.map +0 -1
  185. package/esm/frontDoorManagementClient.js +0 -105
  186. package/esm/frontDoorManagementClient.js.map +0 -1
  187. package/esm/frontDoorManagementClientContext.d.ts +0 -16
  188. package/esm/frontDoorManagementClientContext.d.ts.map +0 -1
  189. package/esm/frontDoorManagementClientContext.js +0 -56
  190. package/esm/frontDoorManagementClientContext.js.map +0 -1
  191. package/esm/models/backendPoolsMappers.d.ts +0 -2
  192. package/esm/models/backendPoolsMappers.d.ts.map +0 -1
  193. package/esm/models/backendPoolsMappers.js +0 -11
  194. package/esm/models/backendPoolsMappers.js.map +0 -1
  195. package/esm/models/endpointsMappers.d.ts +0 -2
  196. package/esm/models/endpointsMappers.d.ts.map +0 -1
  197. package/esm/models/endpointsMappers.js +0 -11
  198. package/esm/models/endpointsMappers.js.map +0 -1
  199. package/esm/models/frontDoorsMappers.d.ts +0 -2
  200. package/esm/models/frontDoorsMappers.d.ts.map +0 -1
  201. package/esm/models/frontDoorsMappers.js +0 -11
  202. package/esm/models/frontDoorsMappers.js.map +0 -1
  203. package/esm/models/frontendEndpointsMappers.d.ts +0 -2
  204. package/esm/models/frontendEndpointsMappers.d.ts.map +0 -1
  205. package/esm/models/frontendEndpointsMappers.js +0 -11
  206. package/esm/models/frontendEndpointsMappers.js.map +0 -1
  207. package/esm/models/healthProbeSettingsMappers.d.ts +0 -2
  208. package/esm/models/healthProbeSettingsMappers.d.ts.map +0 -1
  209. package/esm/models/healthProbeSettingsMappers.js +0 -11
  210. package/esm/models/healthProbeSettingsMappers.js.map +0 -1
  211. package/esm/models/index.d.ts +0 -2143
  212. package/esm/models/index.d.ts.map +0 -1
  213. package/esm/models/index.js +0 -10
  214. package/esm/models/index.js.map +0 -1
  215. package/esm/models/loadBalancingSettingsMappers.d.ts +0 -2
  216. package/esm/models/loadBalancingSettingsMappers.d.ts.map +0 -1
  217. package/esm/models/loadBalancingSettingsMappers.js +0 -11
  218. package/esm/models/loadBalancingSettingsMappers.js.map +0 -1
  219. package/esm/models/mappers.d.ts +0 -53
  220. package/esm/models/mappers.d.ts.map +0 -1
  221. package/esm/models/mappers.js +0 -1653
  222. package/esm/models/mappers.js.map +0 -1
  223. package/esm/models/parameters.d.ts +0 -15
  224. package/esm/models/parameters.d.ts.map +0 -1
  225. package/esm/models/parameters.js +0 -181
  226. package/esm/models/parameters.js.map +0 -1
  227. package/esm/models/policiesMappers.d.ts +0 -2
  228. package/esm/models/policiesMappers.d.ts.map +0 -1
  229. package/esm/models/policiesMappers.js +0 -11
  230. package/esm/models/policiesMappers.js.map +0 -1
  231. package/esm/models/routingRulesMappers.d.ts +0 -2
  232. package/esm/models/routingRulesMappers.d.ts.map +0 -1
  233. package/esm/models/routingRulesMappers.js +0 -11
  234. package/esm/models/routingRulesMappers.js.map +0 -1
  235. package/esm/operations/backendPools.d.ts +0 -115
  236. package/esm/operations/backendPools.d.ts.map +0 -1
  237. package/esm/operations/backendPools.js +0 -236
  238. package/esm/operations/backendPools.js.map +0 -1
  239. package/esm/operations/endpoints.d.ts +0 -36
  240. package/esm/operations/endpoints.d.ts.map +0 -1
  241. package/esm/operations/endpoints.js +0 -87
  242. package/esm/operations/endpoints.js.map +0 -1
  243. package/esm/operations/frontDoors.d.ts +0 -165
  244. package/esm/operations/frontDoors.d.ts.map +0 -1
  245. package/esm/operations/frontDoors.js +0 -315
  246. package/esm/operations/frontDoors.js.map +0 -1
  247. package/esm/operations/frontendEndpoints.d.ts +0 -153
  248. package/esm/operations/frontendEndpoints.d.ts.map +0 -1
  249. package/esm/operations/frontendEndpoints.js +0 -347
  250. package/esm/operations/frontendEndpoints.js.map +0 -1
  251. package/esm/operations/healthProbeSettings.d.ts +0 -124
  252. package/esm/operations/healthProbeSettings.d.ts.map +0 -1
  253. package/esm/operations/healthProbeSettings.js +0 -242
  254. package/esm/operations/healthProbeSettings.js.map +0 -1
  255. package/esm/operations/index.d.ts +0 -9
  256. package/esm/operations/index.d.ts.map +0 -1
  257. package/esm/operations/index.js +0 -18
  258. package/esm/operations/index.js.map +0 -1
  259. package/esm/operations/loadBalancingSettings.d.ts +0 -126
  260. package/esm/operations/loadBalancingSettings.d.ts.map +0 -1
  261. package/esm/operations/loadBalancingSettings.js +0 -244
  262. package/esm/operations/loadBalancingSettings.js.map +0 -1
  263. package/esm/operations/policies.d.ts +0 -111
  264. package/esm/operations/policies.d.ts.map +0 -1
  265. package/esm/operations/policies.js +0 -202
  266. package/esm/operations/policies.js.map +0 -1
  267. package/esm/operations/routingRules.d.ts +0 -115
  268. package/esm/operations/routingRules.d.ts.map +0 -1
  269. package/esm/operations/routingRules.js +0 -236
  270. package/esm/operations/routingRules.js.map +0 -1
  271. package/lib/frontDoorManagementClient.ts +0 -171
  272. package/lib/frontDoorManagementClientContext.ts +0 -61
  273. package/lib/models/backendPoolsMappers.ts +0 -39
  274. package/lib/models/endpointsMappers.ts +0 -16
  275. package/lib/models/frontDoorsMappers.ts +0 -41
  276. package/lib/models/frontendEndpointsMappers.ts +0 -39
  277. package/lib/models/healthProbeSettingsMappers.ts +0 -39
  278. package/lib/models/index.ts +0 -2261
  279. package/lib/models/loadBalancingSettingsMappers.ts +0 -39
  280. package/lib/models/mappers.ts +0 -1772
  281. package/lib/models/parameters.ts +0 -183
  282. package/lib/models/policiesMappers.ts +0 -40
  283. package/lib/models/routingRulesMappers.ts +0 -39
  284. package/lib/operations/backendPools.ts +0 -332
  285. package/lib/operations/endpoints.ts +0 -99
  286. package/lib/operations/frontDoors.ts +0 -481
  287. package/lib/operations/frontendEndpoints.ts +0 -458
  288. package/lib/operations/healthProbeSettings.ts +0 -341
  289. package/lib/operations/index.ts +0 -18
  290. package/lib/operations/loadBalancingSettings.ts +0 -343
  291. package/lib/operations/policies.ts +0 -315
  292. package/lib/operations/routingRules.ts +0 -332
@@ -0,0 +1,425 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ *
5
+ * Code generated by Microsoft (R) AutoRest Code Generator.
6
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
+ */
8
+
9
+ import { PagedAsyncIterableIterator } from "@azure/core-paging";
10
+ import { Policies } from "../operationsInterfaces";
11
+ import * as coreClient from "@azure/core-client";
12
+ import * as Mappers from "../models/mappers";
13
+ import * as Parameters from "../models/parameters";
14
+ import { FrontDoorManagementClient } from "../frontDoorManagementClient";
15
+ import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro";
16
+ import { LroImpl } from "../lroImpl";
17
+ import {
18
+ WebApplicationFirewallPolicy,
19
+ PoliciesListNextOptionalParams,
20
+ PoliciesListOptionalParams,
21
+ PoliciesListResponse,
22
+ PoliciesGetOptionalParams,
23
+ PoliciesGetResponse,
24
+ PoliciesCreateOrUpdateOptionalParams,
25
+ PoliciesCreateOrUpdateResponse,
26
+ PoliciesDeleteOptionalParams,
27
+ PoliciesListNextResponse
28
+ } from "../models";
29
+
30
+ /// <reference lib="esnext.asynciterable" />
31
+ /** Class containing Policies operations. */
32
+ export class PoliciesImpl implements Policies {
33
+ private readonly client: FrontDoorManagementClient;
34
+
35
+ /**
36
+ * Initialize a new instance of the class Policies class.
37
+ * @param client Reference to the service client
38
+ */
39
+ constructor(client: FrontDoorManagementClient) {
40
+ this.client = client;
41
+ }
42
+
43
+ /**
44
+ * Lists all of the protection policies within a resource group.
45
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
46
+ * @param options The options parameters.
47
+ */
48
+ public list(
49
+ resourceGroupName: string,
50
+ options?: PoliciesListOptionalParams
51
+ ): PagedAsyncIterableIterator<WebApplicationFirewallPolicy> {
52
+ const iter = this.listPagingAll(resourceGroupName, options);
53
+ return {
54
+ next() {
55
+ return iter.next();
56
+ },
57
+ [Symbol.asyncIterator]() {
58
+ return this;
59
+ },
60
+ byPage: () => {
61
+ return this.listPagingPage(resourceGroupName, options);
62
+ }
63
+ };
64
+ }
65
+
66
+ private async *listPagingPage(
67
+ resourceGroupName: string,
68
+ options?: PoliciesListOptionalParams
69
+ ): AsyncIterableIterator<WebApplicationFirewallPolicy[]> {
70
+ let result = await this._list(resourceGroupName, options);
71
+ yield result.value || [];
72
+ let continuationToken = result.nextLink;
73
+ while (continuationToken) {
74
+ result = await this._listNext(
75
+ resourceGroupName,
76
+ continuationToken,
77
+ options
78
+ );
79
+ continuationToken = result.nextLink;
80
+ yield result.value || [];
81
+ }
82
+ }
83
+
84
+ private async *listPagingAll(
85
+ resourceGroupName: string,
86
+ options?: PoliciesListOptionalParams
87
+ ): AsyncIterableIterator<WebApplicationFirewallPolicy> {
88
+ for await (const page of this.listPagingPage(resourceGroupName, options)) {
89
+ yield* page;
90
+ }
91
+ }
92
+
93
+ /**
94
+ * Lists all of the protection policies within a resource group.
95
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
96
+ * @param options The options parameters.
97
+ */
98
+ private _list(
99
+ resourceGroupName: string,
100
+ options?: PoliciesListOptionalParams
101
+ ): Promise<PoliciesListResponse> {
102
+ return this.client.sendOperationRequest(
103
+ { resourceGroupName, options },
104
+ listOperationSpec
105
+ );
106
+ }
107
+
108
+ /**
109
+ * Retrieve protection policy with specified name within a resource group.
110
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
111
+ * @param policyName The name of the Web Application Firewall Policy.
112
+ * @param options The options parameters.
113
+ */
114
+ get(
115
+ resourceGroupName: string,
116
+ policyName: string,
117
+ options?: PoliciesGetOptionalParams
118
+ ): Promise<PoliciesGetResponse> {
119
+ return this.client.sendOperationRequest(
120
+ { resourceGroupName, policyName, options },
121
+ getOperationSpec
122
+ );
123
+ }
124
+
125
+ /**
126
+ * Create or update policy with specified rule set name within a resource group.
127
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
128
+ * @param policyName The name of the Web Application Firewall Policy.
129
+ * @param parameters Policy to be created.
130
+ * @param options The options parameters.
131
+ */
132
+ async beginCreateOrUpdate(
133
+ resourceGroupName: string,
134
+ policyName: string,
135
+ parameters: WebApplicationFirewallPolicy,
136
+ options?: PoliciesCreateOrUpdateOptionalParams
137
+ ): Promise<
138
+ PollerLike<
139
+ PollOperationState<PoliciesCreateOrUpdateResponse>,
140
+ PoliciesCreateOrUpdateResponse
141
+ >
142
+ > {
143
+ const directSendOperation = async (
144
+ args: coreClient.OperationArguments,
145
+ spec: coreClient.OperationSpec
146
+ ): Promise<PoliciesCreateOrUpdateResponse> => {
147
+ return this.client.sendOperationRequest(args, spec);
148
+ };
149
+ const sendOperation = async (
150
+ args: coreClient.OperationArguments,
151
+ spec: coreClient.OperationSpec
152
+ ) => {
153
+ let currentRawResponse:
154
+ | coreClient.FullOperationResponse
155
+ | undefined = undefined;
156
+ const providedCallback = args.options?.onResponse;
157
+ const callback: coreClient.RawResponseCallback = (
158
+ rawResponse: coreClient.FullOperationResponse,
159
+ flatResponse: unknown
160
+ ) => {
161
+ currentRawResponse = rawResponse;
162
+ providedCallback?.(rawResponse, flatResponse);
163
+ };
164
+ const updatedArgs = {
165
+ ...args,
166
+ options: {
167
+ ...args.options,
168
+ onResponse: callback
169
+ }
170
+ };
171
+ const flatResponse = await directSendOperation(updatedArgs, spec);
172
+ return {
173
+ flatResponse,
174
+ rawResponse: {
175
+ statusCode: currentRawResponse!.status,
176
+ body: currentRawResponse!.parsedBody,
177
+ headers: currentRawResponse!.headers.toJSON()
178
+ }
179
+ };
180
+ };
181
+
182
+ const lro = new LroImpl(
183
+ sendOperation,
184
+ { resourceGroupName, policyName, parameters, options },
185
+ createOrUpdateOperationSpec
186
+ );
187
+ return new LroEngine(lro, {
188
+ resumeFrom: options?.resumeFrom,
189
+ intervalInMs: options?.updateIntervalInMs
190
+ });
191
+ }
192
+
193
+ /**
194
+ * Create or update policy with specified rule set name within a resource group.
195
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
196
+ * @param policyName The name of the Web Application Firewall Policy.
197
+ * @param parameters Policy to be created.
198
+ * @param options The options parameters.
199
+ */
200
+ async beginCreateOrUpdateAndWait(
201
+ resourceGroupName: string,
202
+ policyName: string,
203
+ parameters: WebApplicationFirewallPolicy,
204
+ options?: PoliciesCreateOrUpdateOptionalParams
205
+ ): Promise<PoliciesCreateOrUpdateResponse> {
206
+ const poller = await this.beginCreateOrUpdate(
207
+ resourceGroupName,
208
+ policyName,
209
+ parameters,
210
+ options
211
+ );
212
+ return poller.pollUntilDone();
213
+ }
214
+
215
+ /**
216
+ * Deletes Policy
217
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
218
+ * @param policyName The name of the Web Application Firewall Policy.
219
+ * @param options The options parameters.
220
+ */
221
+ async beginDelete(
222
+ resourceGroupName: string,
223
+ policyName: string,
224
+ options?: PoliciesDeleteOptionalParams
225
+ ): Promise<PollerLike<PollOperationState<void>, void>> {
226
+ const directSendOperation = async (
227
+ args: coreClient.OperationArguments,
228
+ spec: coreClient.OperationSpec
229
+ ): Promise<void> => {
230
+ return this.client.sendOperationRequest(args, spec);
231
+ };
232
+ const sendOperation = async (
233
+ args: coreClient.OperationArguments,
234
+ spec: coreClient.OperationSpec
235
+ ) => {
236
+ let currentRawResponse:
237
+ | coreClient.FullOperationResponse
238
+ | undefined = undefined;
239
+ const providedCallback = args.options?.onResponse;
240
+ const callback: coreClient.RawResponseCallback = (
241
+ rawResponse: coreClient.FullOperationResponse,
242
+ flatResponse: unknown
243
+ ) => {
244
+ currentRawResponse = rawResponse;
245
+ providedCallback?.(rawResponse, flatResponse);
246
+ };
247
+ const updatedArgs = {
248
+ ...args,
249
+ options: {
250
+ ...args.options,
251
+ onResponse: callback
252
+ }
253
+ };
254
+ const flatResponse = await directSendOperation(updatedArgs, spec);
255
+ return {
256
+ flatResponse,
257
+ rawResponse: {
258
+ statusCode: currentRawResponse!.status,
259
+ body: currentRawResponse!.parsedBody,
260
+ headers: currentRawResponse!.headers.toJSON()
261
+ }
262
+ };
263
+ };
264
+
265
+ const lro = new LroImpl(
266
+ sendOperation,
267
+ { resourceGroupName, policyName, options },
268
+ deleteOperationSpec
269
+ );
270
+ return new LroEngine(lro, {
271
+ resumeFrom: options?.resumeFrom,
272
+ intervalInMs: options?.updateIntervalInMs
273
+ });
274
+ }
275
+
276
+ /**
277
+ * Deletes Policy
278
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
279
+ * @param policyName The name of the Web Application Firewall Policy.
280
+ * @param options The options parameters.
281
+ */
282
+ async beginDeleteAndWait(
283
+ resourceGroupName: string,
284
+ policyName: string,
285
+ options?: PoliciesDeleteOptionalParams
286
+ ): Promise<void> {
287
+ const poller = await this.beginDelete(
288
+ resourceGroupName,
289
+ policyName,
290
+ options
291
+ );
292
+ return poller.pollUntilDone();
293
+ }
294
+
295
+ /**
296
+ * ListNext
297
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
298
+ * @param nextLink The nextLink from the previous successful call to the List method.
299
+ * @param options The options parameters.
300
+ */
301
+ private _listNext(
302
+ resourceGroupName: string,
303
+ nextLink: string,
304
+ options?: PoliciesListNextOptionalParams
305
+ ): Promise<PoliciesListNextResponse> {
306
+ return this.client.sendOperationRequest(
307
+ { resourceGroupName, nextLink, options },
308
+ listNextOperationSpec
309
+ );
310
+ }
311
+ }
312
+ // Operation Specifications
313
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
314
+
315
+ const listOperationSpec: coreClient.OperationSpec = {
316
+ path:
317
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies",
318
+ httpMethod: "GET",
319
+ responses: {
320
+ 200: {
321
+ bodyMapper: Mappers.WebApplicationFirewallPolicyList
322
+ },
323
+ default: {
324
+ bodyMapper: Mappers.ErrorResponse
325
+ }
326
+ },
327
+ queryParameters: [Parameters.apiVersion2],
328
+ urlParameters: [
329
+ Parameters.$host,
330
+ Parameters.subscriptionId,
331
+ Parameters.resourceGroupName
332
+ ],
333
+ headerParameters: [Parameters.accept],
334
+ serializer
335
+ };
336
+ const getOperationSpec: coreClient.OperationSpec = {
337
+ path:
338
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}",
339
+ httpMethod: "GET",
340
+ responses: {
341
+ 200: {
342
+ bodyMapper: Mappers.WebApplicationFirewallPolicy
343
+ },
344
+ default: {
345
+ bodyMapper: Mappers.ErrorResponse
346
+ }
347
+ },
348
+ queryParameters: [Parameters.apiVersion2],
349
+ urlParameters: [
350
+ Parameters.$host,
351
+ Parameters.subscriptionId,
352
+ Parameters.resourceGroupName,
353
+ Parameters.policyName
354
+ ],
355
+ headerParameters: [Parameters.accept],
356
+ serializer
357
+ };
358
+ const createOrUpdateOperationSpec: coreClient.OperationSpec = {
359
+ path:
360
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}",
361
+ httpMethod: "PUT",
362
+ responses: {
363
+ 200: {
364
+ bodyMapper: Mappers.WebApplicationFirewallPolicy
365
+ },
366
+ 201: {
367
+ bodyMapper: Mappers.WebApplicationFirewallPolicy
368
+ },
369
+ 202: {
370
+ bodyMapper: Mappers.WebApplicationFirewallPolicy
371
+ },
372
+ 204: {
373
+ bodyMapper: Mappers.WebApplicationFirewallPolicy
374
+ },
375
+ default: {
376
+ bodyMapper: Mappers.ErrorResponse
377
+ }
378
+ },
379
+ requestBody: Parameters.parameters4,
380
+ queryParameters: [Parameters.apiVersion2],
381
+ urlParameters: [
382
+ Parameters.$host,
383
+ Parameters.subscriptionId,
384
+ Parameters.resourceGroupName,
385
+ Parameters.policyName
386
+ ],
387
+ headerParameters: [Parameters.accept, Parameters.contentType],
388
+ mediaType: "json",
389
+ serializer
390
+ };
391
+ const deleteOperationSpec: coreClient.OperationSpec = {
392
+ path:
393
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}",
394
+ httpMethod: "DELETE",
395
+ responses: { 200: {}, 201: {}, 202: {}, 204: {} },
396
+ queryParameters: [Parameters.apiVersion2],
397
+ urlParameters: [
398
+ Parameters.$host,
399
+ Parameters.subscriptionId,
400
+ Parameters.resourceGroupName,
401
+ Parameters.policyName
402
+ ],
403
+ serializer
404
+ };
405
+ const listNextOperationSpec: coreClient.OperationSpec = {
406
+ path: "{nextLink}",
407
+ httpMethod: "GET",
408
+ responses: {
409
+ 200: {
410
+ bodyMapper: Mappers.WebApplicationFirewallPolicyList
411
+ },
412
+ default: {
413
+ bodyMapper: Mappers.ErrorResponse
414
+ }
415
+ },
416
+ queryParameters: [Parameters.apiVersion2],
417
+ urlParameters: [
418
+ Parameters.$host,
419
+ Parameters.subscriptionId,
420
+ Parameters.resourceGroupName,
421
+ Parameters.nextLink
422
+ ],
423
+ headerParameters: [Parameters.accept],
424
+ serializer
425
+ };
@@ -0,0 +1,177 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ *
5
+ * Code generated by Microsoft (R) AutoRest Code Generator.
6
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
+ */
8
+
9
+ import { PagedAsyncIterableIterator } from "@azure/core-paging";
10
+ import { PreconfiguredEndpoints } from "../operationsInterfaces";
11
+ import * as coreClient from "@azure/core-client";
12
+ import * as Mappers from "../models/mappers";
13
+ import * as Parameters from "../models/parameters";
14
+ import { FrontDoorManagementClient } from "../frontDoorManagementClient";
15
+ import {
16
+ PreconfiguredEndpoint,
17
+ PreconfiguredEndpointsListNextOptionalParams,
18
+ PreconfiguredEndpointsListOptionalParams,
19
+ PreconfiguredEndpointsListResponse,
20
+ PreconfiguredEndpointsListNextResponse
21
+ } from "../models";
22
+
23
+ /// <reference lib="esnext.asynciterable" />
24
+ /** Class containing PreconfiguredEndpoints operations. */
25
+ export class PreconfiguredEndpointsImpl implements PreconfiguredEndpoints {
26
+ private readonly client: FrontDoorManagementClient;
27
+
28
+ /**
29
+ * Initialize a new instance of the class PreconfiguredEndpoints class.
30
+ * @param client Reference to the service client
31
+ */
32
+ constructor(client: FrontDoorManagementClient) {
33
+ this.client = client;
34
+ }
35
+
36
+ /**
37
+ * Gets a list of Preconfigured Endpoints
38
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
39
+ * @param profileName The Profile identifier associated with the Tenant and Partner
40
+ * @param options The options parameters.
41
+ */
42
+ public list(
43
+ resourceGroupName: string,
44
+ profileName: string,
45
+ options?: PreconfiguredEndpointsListOptionalParams
46
+ ): PagedAsyncIterableIterator<PreconfiguredEndpoint> {
47
+ const iter = this.listPagingAll(resourceGroupName, profileName, options);
48
+ return {
49
+ next() {
50
+ return iter.next();
51
+ },
52
+ [Symbol.asyncIterator]() {
53
+ return this;
54
+ },
55
+ byPage: () => {
56
+ return this.listPagingPage(resourceGroupName, profileName, options);
57
+ }
58
+ };
59
+ }
60
+
61
+ private async *listPagingPage(
62
+ resourceGroupName: string,
63
+ profileName: string,
64
+ options?: PreconfiguredEndpointsListOptionalParams
65
+ ): AsyncIterableIterator<PreconfiguredEndpoint[]> {
66
+ let result = await this._list(resourceGroupName, profileName, options);
67
+ yield result.value || [];
68
+ let continuationToken = result.nextLink;
69
+ while (continuationToken) {
70
+ result = await this._listNext(
71
+ resourceGroupName,
72
+ profileName,
73
+ continuationToken,
74
+ options
75
+ );
76
+ continuationToken = result.nextLink;
77
+ yield result.value || [];
78
+ }
79
+ }
80
+
81
+ private async *listPagingAll(
82
+ resourceGroupName: string,
83
+ profileName: string,
84
+ options?: PreconfiguredEndpointsListOptionalParams
85
+ ): AsyncIterableIterator<PreconfiguredEndpoint> {
86
+ for await (const page of this.listPagingPage(
87
+ resourceGroupName,
88
+ profileName,
89
+ options
90
+ )) {
91
+ yield* page;
92
+ }
93
+ }
94
+
95
+ /**
96
+ * Gets a list of Preconfigured Endpoints
97
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
98
+ * @param profileName The Profile identifier associated with the Tenant and Partner
99
+ * @param options The options parameters.
100
+ */
101
+ private _list(
102
+ resourceGroupName: string,
103
+ profileName: string,
104
+ options?: PreconfiguredEndpointsListOptionalParams
105
+ ): Promise<PreconfiguredEndpointsListResponse> {
106
+ return this.client.sendOperationRequest(
107
+ { resourceGroupName, profileName, options },
108
+ listOperationSpec
109
+ );
110
+ }
111
+
112
+ /**
113
+ * ListNext
114
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
115
+ * @param profileName The Profile identifier associated with the Tenant and Partner
116
+ * @param nextLink The nextLink from the previous successful call to the List method.
117
+ * @param options The options parameters.
118
+ */
119
+ private _listNext(
120
+ resourceGroupName: string,
121
+ profileName: string,
122
+ nextLink: string,
123
+ options?: PreconfiguredEndpointsListNextOptionalParams
124
+ ): Promise<PreconfiguredEndpointsListNextResponse> {
125
+ return this.client.sendOperationRequest(
126
+ { resourceGroupName, profileName, nextLink, options },
127
+ listNextOperationSpec
128
+ );
129
+ }
130
+ }
131
+ // Operation Specifications
132
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
133
+
134
+ const listOperationSpec: coreClient.OperationSpec = {
135
+ path:
136
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/PreconfiguredEndpoints",
137
+ httpMethod: "GET",
138
+ responses: {
139
+ 200: {
140
+ bodyMapper: Mappers.PreconfiguredEndpointList
141
+ },
142
+ default: {
143
+ bodyMapper: Mappers.ErrorResponse
144
+ }
145
+ },
146
+ queryParameters: [Parameters.apiVersion],
147
+ urlParameters: [
148
+ Parameters.$host,
149
+ Parameters.subscriptionId,
150
+ Parameters.resourceGroupName,
151
+ Parameters.profileName
152
+ ],
153
+ headerParameters: [Parameters.accept],
154
+ serializer
155
+ };
156
+ const listNextOperationSpec: coreClient.OperationSpec = {
157
+ path: "{nextLink}",
158
+ httpMethod: "GET",
159
+ responses: {
160
+ 200: {
161
+ bodyMapper: Mappers.PreconfiguredEndpointList
162
+ },
163
+ default: {
164
+ bodyMapper: Mappers.ErrorResponse
165
+ }
166
+ },
167
+ queryParameters: [Parameters.apiVersion],
168
+ urlParameters: [
169
+ Parameters.$host,
170
+ Parameters.subscriptionId,
171
+ Parameters.resourceGroupName,
172
+ Parameters.profileName,
173
+ Parameters.nextLink
174
+ ],
175
+ headerParameters: [Parameters.accept],
176
+ serializer
177
+ };