@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,69 @@
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 { FrontDoorNameAvailabilityWithSubscription } from "../operationsInterfaces";
10
+ import * as coreClient from "@azure/core-client";
11
+ import * as Mappers from "../models/mappers";
12
+ import * as Parameters from "../models/parameters";
13
+ import { FrontDoorManagementClient } from "../frontDoorManagementClient";
14
+ import {
15
+ CheckNameAvailabilityInput,
16
+ FrontDoorNameAvailabilityWithSubscriptionCheckOptionalParams,
17
+ FrontDoorNameAvailabilityWithSubscriptionCheckResponse
18
+ } from "../models";
19
+
20
+ /** Class containing FrontDoorNameAvailabilityWithSubscription operations. */
21
+ export class FrontDoorNameAvailabilityWithSubscriptionImpl
22
+ implements FrontDoorNameAvailabilityWithSubscription {
23
+ private readonly client: FrontDoorManagementClient;
24
+
25
+ /**
26
+ * Initialize a new instance of the class FrontDoorNameAvailabilityWithSubscription class.
27
+ * @param client Reference to the service client
28
+ */
29
+ constructor(client: FrontDoorManagementClient) {
30
+ this.client = client;
31
+ }
32
+
33
+ /**
34
+ * Check the availability of a Front Door subdomain.
35
+ * @param checkFrontDoorNameAvailabilityInput Input to check.
36
+ * @param options The options parameters.
37
+ */
38
+ check(
39
+ checkFrontDoorNameAvailabilityInput: CheckNameAvailabilityInput,
40
+ options?: FrontDoorNameAvailabilityWithSubscriptionCheckOptionalParams
41
+ ): Promise<FrontDoorNameAvailabilityWithSubscriptionCheckResponse> {
42
+ return this.client.sendOperationRequest(
43
+ { checkFrontDoorNameAvailabilityInput, options },
44
+ checkOperationSpec
45
+ );
46
+ }
47
+ }
48
+ // Operation Specifications
49
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
50
+
51
+ const checkOperationSpec: coreClient.OperationSpec = {
52
+ path:
53
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/checkFrontDoorNameAvailability",
54
+ httpMethod: "POST",
55
+ responses: {
56
+ 200: {
57
+ bodyMapper: Mappers.CheckNameAvailabilityOutput
58
+ },
59
+ default: {
60
+ bodyMapper: Mappers.ErrorResponse
61
+ }
62
+ },
63
+ requestBody: Parameters.checkFrontDoorNameAvailabilityInput,
64
+ queryParameters: [Parameters.apiVersion1],
65
+ urlParameters: [Parameters.$host, Parameters.subscriptionId],
66
+ headerParameters: [Parameters.accept, Parameters.contentType],
67
+ mediaType: "json",
68
+ serializer
69
+ };
@@ -0,0 +1,594 @@
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 { FrontDoors } 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
+ FrontDoor,
19
+ FrontDoorsListNextOptionalParams,
20
+ FrontDoorsListOptionalParams,
21
+ FrontDoorsListByResourceGroupNextOptionalParams,
22
+ FrontDoorsListByResourceGroupOptionalParams,
23
+ FrontDoorsListResponse,
24
+ FrontDoorsListByResourceGroupResponse,
25
+ FrontDoorsGetOptionalParams,
26
+ FrontDoorsGetResponse,
27
+ FrontDoorsCreateOrUpdateOptionalParams,
28
+ FrontDoorsCreateOrUpdateResponse,
29
+ FrontDoorsDeleteOptionalParams,
30
+ ValidateCustomDomainInput,
31
+ FrontDoorsValidateCustomDomainOptionalParams,
32
+ FrontDoorsValidateCustomDomainResponse,
33
+ FrontDoorsListNextResponse,
34
+ FrontDoorsListByResourceGroupNextResponse
35
+ } from "../models";
36
+
37
+ /// <reference lib="esnext.asynciterable" />
38
+ /** Class containing FrontDoors operations. */
39
+ export class FrontDoorsImpl implements FrontDoors {
40
+ private readonly client: FrontDoorManagementClient;
41
+
42
+ /**
43
+ * Initialize a new instance of the class FrontDoors class.
44
+ * @param client Reference to the service client
45
+ */
46
+ constructor(client: FrontDoorManagementClient) {
47
+ this.client = client;
48
+ }
49
+
50
+ /**
51
+ * Lists all of the Front Doors within an Azure subscription.
52
+ * @param options The options parameters.
53
+ */
54
+ public list(
55
+ options?: FrontDoorsListOptionalParams
56
+ ): PagedAsyncIterableIterator<FrontDoor> {
57
+ const iter = this.listPagingAll(options);
58
+ return {
59
+ next() {
60
+ return iter.next();
61
+ },
62
+ [Symbol.asyncIterator]() {
63
+ return this;
64
+ },
65
+ byPage: () => {
66
+ return this.listPagingPage(options);
67
+ }
68
+ };
69
+ }
70
+
71
+ private async *listPagingPage(
72
+ options?: FrontDoorsListOptionalParams
73
+ ): AsyncIterableIterator<FrontDoor[]> {
74
+ let result = await this._list(options);
75
+ yield result.value || [];
76
+ let continuationToken = result.nextLink;
77
+ while (continuationToken) {
78
+ result = await this._listNext(continuationToken, options);
79
+ continuationToken = result.nextLink;
80
+ yield result.value || [];
81
+ }
82
+ }
83
+
84
+ private async *listPagingAll(
85
+ options?: FrontDoorsListOptionalParams
86
+ ): AsyncIterableIterator<FrontDoor> {
87
+ for await (const page of this.listPagingPage(options)) {
88
+ yield* page;
89
+ }
90
+ }
91
+
92
+ /**
93
+ * Lists all of the Front Doors within a resource group under a subscription.
94
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
95
+ * @param options The options parameters.
96
+ */
97
+ public listByResourceGroup(
98
+ resourceGroupName: string,
99
+ options?: FrontDoorsListByResourceGroupOptionalParams
100
+ ): PagedAsyncIterableIterator<FrontDoor> {
101
+ const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);
102
+ return {
103
+ next() {
104
+ return iter.next();
105
+ },
106
+ [Symbol.asyncIterator]() {
107
+ return this;
108
+ },
109
+ byPage: () => {
110
+ return this.listByResourceGroupPagingPage(resourceGroupName, options);
111
+ }
112
+ };
113
+ }
114
+
115
+ private async *listByResourceGroupPagingPage(
116
+ resourceGroupName: string,
117
+ options?: FrontDoorsListByResourceGroupOptionalParams
118
+ ): AsyncIterableIterator<FrontDoor[]> {
119
+ let result = await this._listByResourceGroup(resourceGroupName, options);
120
+ yield result.value || [];
121
+ let continuationToken = result.nextLink;
122
+ while (continuationToken) {
123
+ result = await this._listByResourceGroupNext(
124
+ resourceGroupName,
125
+ continuationToken,
126
+ options
127
+ );
128
+ continuationToken = result.nextLink;
129
+ yield result.value || [];
130
+ }
131
+ }
132
+
133
+ private async *listByResourceGroupPagingAll(
134
+ resourceGroupName: string,
135
+ options?: FrontDoorsListByResourceGroupOptionalParams
136
+ ): AsyncIterableIterator<FrontDoor> {
137
+ for await (const page of this.listByResourceGroupPagingPage(
138
+ resourceGroupName,
139
+ options
140
+ )) {
141
+ yield* page;
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Lists all of the Front Doors within an Azure subscription.
147
+ * @param options The options parameters.
148
+ */
149
+ private _list(
150
+ options?: FrontDoorsListOptionalParams
151
+ ): Promise<FrontDoorsListResponse> {
152
+ return this.client.sendOperationRequest({ options }, listOperationSpec);
153
+ }
154
+
155
+ /**
156
+ * Lists all of the Front Doors within a resource group under a subscription.
157
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
158
+ * @param options The options parameters.
159
+ */
160
+ private _listByResourceGroup(
161
+ resourceGroupName: string,
162
+ options?: FrontDoorsListByResourceGroupOptionalParams
163
+ ): Promise<FrontDoorsListByResourceGroupResponse> {
164
+ return this.client.sendOperationRequest(
165
+ { resourceGroupName, options },
166
+ listByResourceGroupOperationSpec
167
+ );
168
+ }
169
+
170
+ /**
171
+ * Gets a Front Door with the specified Front Door name under the specified subscription and resource
172
+ * group.
173
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
174
+ * @param frontDoorName Name of the Front Door which is globally unique.
175
+ * @param options The options parameters.
176
+ */
177
+ get(
178
+ resourceGroupName: string,
179
+ frontDoorName: string,
180
+ options?: FrontDoorsGetOptionalParams
181
+ ): Promise<FrontDoorsGetResponse> {
182
+ return this.client.sendOperationRequest(
183
+ { resourceGroupName, frontDoorName, options },
184
+ getOperationSpec
185
+ );
186
+ }
187
+
188
+ /**
189
+ * Creates a new Front Door with a Front Door name under the specified subscription and resource group.
190
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
191
+ * @param frontDoorName Name of the Front Door which is globally unique.
192
+ * @param frontDoorParameters Front Door properties needed to create a new Front Door.
193
+ * @param options The options parameters.
194
+ */
195
+ async beginCreateOrUpdate(
196
+ resourceGroupName: string,
197
+ frontDoorName: string,
198
+ frontDoorParameters: FrontDoor,
199
+ options?: FrontDoorsCreateOrUpdateOptionalParams
200
+ ): Promise<
201
+ PollerLike<
202
+ PollOperationState<FrontDoorsCreateOrUpdateResponse>,
203
+ FrontDoorsCreateOrUpdateResponse
204
+ >
205
+ > {
206
+ const directSendOperation = async (
207
+ args: coreClient.OperationArguments,
208
+ spec: coreClient.OperationSpec
209
+ ): Promise<FrontDoorsCreateOrUpdateResponse> => {
210
+ return this.client.sendOperationRequest(args, spec);
211
+ };
212
+ const sendOperation = async (
213
+ args: coreClient.OperationArguments,
214
+ spec: coreClient.OperationSpec
215
+ ) => {
216
+ let currentRawResponse:
217
+ | coreClient.FullOperationResponse
218
+ | undefined = undefined;
219
+ const providedCallback = args.options?.onResponse;
220
+ const callback: coreClient.RawResponseCallback = (
221
+ rawResponse: coreClient.FullOperationResponse,
222
+ flatResponse: unknown
223
+ ) => {
224
+ currentRawResponse = rawResponse;
225
+ providedCallback?.(rawResponse, flatResponse);
226
+ };
227
+ const updatedArgs = {
228
+ ...args,
229
+ options: {
230
+ ...args.options,
231
+ onResponse: callback
232
+ }
233
+ };
234
+ const flatResponse = await directSendOperation(updatedArgs, spec);
235
+ return {
236
+ flatResponse,
237
+ rawResponse: {
238
+ statusCode: currentRawResponse!.status,
239
+ body: currentRawResponse!.parsedBody,
240
+ headers: currentRawResponse!.headers.toJSON()
241
+ }
242
+ };
243
+ };
244
+
245
+ const lro = new LroImpl(
246
+ sendOperation,
247
+ { resourceGroupName, frontDoorName, frontDoorParameters, options },
248
+ createOrUpdateOperationSpec
249
+ );
250
+ return new LroEngine(lro, {
251
+ resumeFrom: options?.resumeFrom,
252
+ intervalInMs: options?.updateIntervalInMs,
253
+ lroResourceLocationConfig: "azure-async-operation"
254
+ });
255
+ }
256
+
257
+ /**
258
+ * Creates a new Front Door with a Front Door name under the specified subscription and resource group.
259
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
260
+ * @param frontDoorName Name of the Front Door which is globally unique.
261
+ * @param frontDoorParameters Front Door properties needed to create a new Front Door.
262
+ * @param options The options parameters.
263
+ */
264
+ async beginCreateOrUpdateAndWait(
265
+ resourceGroupName: string,
266
+ frontDoorName: string,
267
+ frontDoorParameters: FrontDoor,
268
+ options?: FrontDoorsCreateOrUpdateOptionalParams
269
+ ): Promise<FrontDoorsCreateOrUpdateResponse> {
270
+ const poller = await this.beginCreateOrUpdate(
271
+ resourceGroupName,
272
+ frontDoorName,
273
+ frontDoorParameters,
274
+ options
275
+ );
276
+ return poller.pollUntilDone();
277
+ }
278
+
279
+ /**
280
+ * Deletes an existing Front Door with the specified parameters.
281
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
282
+ * @param frontDoorName Name of the Front Door which is globally unique.
283
+ * @param options The options parameters.
284
+ */
285
+ async beginDelete(
286
+ resourceGroupName: string,
287
+ frontDoorName: string,
288
+ options?: FrontDoorsDeleteOptionalParams
289
+ ): Promise<PollerLike<PollOperationState<void>, void>> {
290
+ const directSendOperation = async (
291
+ args: coreClient.OperationArguments,
292
+ spec: coreClient.OperationSpec
293
+ ): Promise<void> => {
294
+ return this.client.sendOperationRequest(args, spec);
295
+ };
296
+ const sendOperation = async (
297
+ args: coreClient.OperationArguments,
298
+ spec: coreClient.OperationSpec
299
+ ) => {
300
+ let currentRawResponse:
301
+ | coreClient.FullOperationResponse
302
+ | undefined = undefined;
303
+ const providedCallback = args.options?.onResponse;
304
+ const callback: coreClient.RawResponseCallback = (
305
+ rawResponse: coreClient.FullOperationResponse,
306
+ flatResponse: unknown
307
+ ) => {
308
+ currentRawResponse = rawResponse;
309
+ providedCallback?.(rawResponse, flatResponse);
310
+ };
311
+ const updatedArgs = {
312
+ ...args,
313
+ options: {
314
+ ...args.options,
315
+ onResponse: callback
316
+ }
317
+ };
318
+ const flatResponse = await directSendOperation(updatedArgs, spec);
319
+ return {
320
+ flatResponse,
321
+ rawResponse: {
322
+ statusCode: currentRawResponse!.status,
323
+ body: currentRawResponse!.parsedBody,
324
+ headers: currentRawResponse!.headers.toJSON()
325
+ }
326
+ };
327
+ };
328
+
329
+ const lro = new LroImpl(
330
+ sendOperation,
331
+ { resourceGroupName, frontDoorName, options },
332
+ deleteOperationSpec
333
+ );
334
+ return new LroEngine(lro, {
335
+ resumeFrom: options?.resumeFrom,
336
+ intervalInMs: options?.updateIntervalInMs,
337
+ lroResourceLocationConfig: "azure-async-operation"
338
+ });
339
+ }
340
+
341
+ /**
342
+ * Deletes an existing Front Door with the specified parameters.
343
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
344
+ * @param frontDoorName Name of the Front Door which is globally unique.
345
+ * @param options The options parameters.
346
+ */
347
+ async beginDeleteAndWait(
348
+ resourceGroupName: string,
349
+ frontDoorName: string,
350
+ options?: FrontDoorsDeleteOptionalParams
351
+ ): Promise<void> {
352
+ const poller = await this.beginDelete(
353
+ resourceGroupName,
354
+ frontDoorName,
355
+ options
356
+ );
357
+ return poller.pollUntilDone();
358
+ }
359
+
360
+ /**
361
+ * Validates the custom domain mapping to ensure it maps to the correct Front Door endpoint in DNS.
362
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
363
+ * @param frontDoorName Name of the Front Door which is globally unique.
364
+ * @param customDomainProperties Custom domain to be validated.
365
+ * @param options The options parameters.
366
+ */
367
+ validateCustomDomain(
368
+ resourceGroupName: string,
369
+ frontDoorName: string,
370
+ customDomainProperties: ValidateCustomDomainInput,
371
+ options?: FrontDoorsValidateCustomDomainOptionalParams
372
+ ): Promise<FrontDoorsValidateCustomDomainResponse> {
373
+ return this.client.sendOperationRequest(
374
+ { resourceGroupName, frontDoorName, customDomainProperties, options },
375
+ validateCustomDomainOperationSpec
376
+ );
377
+ }
378
+
379
+ /**
380
+ * ListNext
381
+ * @param nextLink The nextLink from the previous successful call to the List method.
382
+ * @param options The options parameters.
383
+ */
384
+ private _listNext(
385
+ nextLink: string,
386
+ options?: FrontDoorsListNextOptionalParams
387
+ ): Promise<FrontDoorsListNextResponse> {
388
+ return this.client.sendOperationRequest(
389
+ { nextLink, options },
390
+ listNextOperationSpec
391
+ );
392
+ }
393
+
394
+ /**
395
+ * ListByResourceGroupNext
396
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
397
+ * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
398
+ * @param options The options parameters.
399
+ */
400
+ private _listByResourceGroupNext(
401
+ resourceGroupName: string,
402
+ nextLink: string,
403
+ options?: FrontDoorsListByResourceGroupNextOptionalParams
404
+ ): Promise<FrontDoorsListByResourceGroupNextResponse> {
405
+ return this.client.sendOperationRequest(
406
+ { resourceGroupName, nextLink, options },
407
+ listByResourceGroupNextOperationSpec
408
+ );
409
+ }
410
+ }
411
+ // Operation Specifications
412
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
413
+
414
+ const listOperationSpec: coreClient.OperationSpec = {
415
+ path:
416
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/frontDoors",
417
+ httpMethod: "GET",
418
+ responses: {
419
+ 200: {
420
+ bodyMapper: Mappers.FrontDoorListResult
421
+ },
422
+ default: {
423
+ bodyMapper: Mappers.ErrorResponse
424
+ }
425
+ },
426
+ queryParameters: [Parameters.apiVersion1],
427
+ urlParameters: [Parameters.$host, Parameters.subscriptionId],
428
+ headerParameters: [Parameters.accept],
429
+ serializer
430
+ };
431
+ const listByResourceGroupOperationSpec: coreClient.OperationSpec = {
432
+ path:
433
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors",
434
+ httpMethod: "GET",
435
+ responses: {
436
+ 200: {
437
+ bodyMapper: Mappers.FrontDoorListResult
438
+ },
439
+ default: {
440
+ bodyMapper: Mappers.ErrorResponse
441
+ }
442
+ },
443
+ queryParameters: [Parameters.apiVersion1],
444
+ urlParameters: [
445
+ Parameters.$host,
446
+ Parameters.subscriptionId,
447
+ Parameters.resourceGroupName
448
+ ],
449
+ headerParameters: [Parameters.accept],
450
+ serializer
451
+ };
452
+ const getOperationSpec: coreClient.OperationSpec = {
453
+ path:
454
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}",
455
+ httpMethod: "GET",
456
+ responses: {
457
+ 200: {
458
+ bodyMapper: Mappers.FrontDoor
459
+ },
460
+ default: {
461
+ bodyMapper: Mappers.ErrorResponse
462
+ }
463
+ },
464
+ queryParameters: [Parameters.apiVersion1],
465
+ urlParameters: [
466
+ Parameters.$host,
467
+ Parameters.subscriptionId,
468
+ Parameters.resourceGroupName,
469
+ Parameters.frontDoorName
470
+ ],
471
+ headerParameters: [Parameters.accept],
472
+ serializer
473
+ };
474
+ const createOrUpdateOperationSpec: coreClient.OperationSpec = {
475
+ path:
476
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}",
477
+ httpMethod: "PUT",
478
+ responses: {
479
+ 200: {
480
+ bodyMapper: Mappers.FrontDoor
481
+ },
482
+ 201: {
483
+ bodyMapper: Mappers.FrontDoor
484
+ },
485
+ 202: {
486
+ bodyMapper: Mappers.FrontDoor
487
+ },
488
+ 204: {
489
+ bodyMapper: Mappers.FrontDoor
490
+ },
491
+ default: {
492
+ bodyMapper: Mappers.ErrorResponse
493
+ }
494
+ },
495
+ requestBody: Parameters.frontDoorParameters,
496
+ queryParameters: [Parameters.apiVersion1],
497
+ urlParameters: [
498
+ Parameters.$host,
499
+ Parameters.subscriptionId,
500
+ Parameters.resourceGroupName,
501
+ Parameters.frontDoorName
502
+ ],
503
+ headerParameters: [Parameters.accept, Parameters.contentType],
504
+ mediaType: "json",
505
+ serializer
506
+ };
507
+ const deleteOperationSpec: coreClient.OperationSpec = {
508
+ path:
509
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}",
510
+ httpMethod: "DELETE",
511
+ responses: {
512
+ 200: {},
513
+ 201: {},
514
+ 202: {},
515
+ 204: {},
516
+ default: {
517
+ bodyMapper: Mappers.ErrorResponse
518
+ }
519
+ },
520
+ queryParameters: [Parameters.apiVersion1],
521
+ urlParameters: [
522
+ Parameters.$host,
523
+ Parameters.subscriptionId,
524
+ Parameters.resourceGroupName,
525
+ Parameters.frontDoorName
526
+ ],
527
+ headerParameters: [Parameters.accept],
528
+ serializer
529
+ };
530
+ const validateCustomDomainOperationSpec: coreClient.OperationSpec = {
531
+ path:
532
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/validateCustomDomain",
533
+ httpMethod: "POST",
534
+ responses: {
535
+ 200: {
536
+ bodyMapper: Mappers.ValidateCustomDomainOutput
537
+ },
538
+ default: {
539
+ bodyMapper: Mappers.ErrorResponse
540
+ }
541
+ },
542
+ requestBody: Parameters.customDomainProperties,
543
+ queryParameters: [Parameters.apiVersion1],
544
+ urlParameters: [
545
+ Parameters.$host,
546
+ Parameters.subscriptionId,
547
+ Parameters.resourceGroupName,
548
+ Parameters.frontDoorName
549
+ ],
550
+ headerParameters: [Parameters.accept, Parameters.contentType],
551
+ mediaType: "json",
552
+ serializer
553
+ };
554
+ const listNextOperationSpec: coreClient.OperationSpec = {
555
+ path: "{nextLink}",
556
+ httpMethod: "GET",
557
+ responses: {
558
+ 200: {
559
+ bodyMapper: Mappers.FrontDoorListResult
560
+ },
561
+ default: {
562
+ bodyMapper: Mappers.ErrorResponse
563
+ }
564
+ },
565
+ queryParameters: [Parameters.apiVersion1],
566
+ urlParameters: [
567
+ Parameters.$host,
568
+ Parameters.subscriptionId,
569
+ Parameters.nextLink
570
+ ],
571
+ headerParameters: [Parameters.accept],
572
+ serializer
573
+ };
574
+ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {
575
+ path: "{nextLink}",
576
+ httpMethod: "GET",
577
+ responses: {
578
+ 200: {
579
+ bodyMapper: Mappers.FrontDoorListResult
580
+ },
581
+ default: {
582
+ bodyMapper: Mappers.ErrorResponse
583
+ }
584
+ },
585
+ queryParameters: [Parameters.apiVersion1],
586
+ urlParameters: [
587
+ Parameters.$host,
588
+ Parameters.subscriptionId,
589
+ Parameters.resourceGroupName,
590
+ Parameters.nextLink
591
+ ],
592
+ headerParameters: [Parameters.accept],
593
+ serializer
594
+ };