@azure/arm-frontdoor 5.1.1-alpha.20230511.1 → 5.2.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 (200) hide show
  1. package/CHANGELOG.md +22 -10
  2. package/LICENSE +1 -1
  3. package/dist/index.js +3269 -2945
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +1 -1
  6. package/dist/index.min.js.map +1 -1
  7. package/dist-esm/samples-dev/endpointsPurgeContentSample.js +11 -4
  8. package/dist-esm/samples-dev/endpointsPurgeContentSample.js.map +1 -1
  9. package/dist-esm/samples-dev/experimentsCreateOrUpdateSample.js +10 -3
  10. package/dist-esm/samples-dev/experimentsCreateOrUpdateSample.js.map +1 -1
  11. package/dist-esm/samples-dev/experimentsDeleteSample.js +10 -3
  12. package/dist-esm/samples-dev/experimentsDeleteSample.js.map +1 -1
  13. package/dist-esm/samples-dev/experimentsGetSample.js +10 -3
  14. package/dist-esm/samples-dev/experimentsGetSample.js.map +1 -1
  15. package/dist-esm/samples-dev/experimentsListByProfileSample.js +10 -3
  16. package/dist-esm/samples-dev/experimentsListByProfileSample.js.map +1 -1
  17. package/dist-esm/samples-dev/experimentsUpdateSample.js +10 -3
  18. package/dist-esm/samples-dev/experimentsUpdateSample.js.map +1 -1
  19. package/dist-esm/samples-dev/frontDoorNameAvailabilityCheckSample.js +11 -3
  20. package/dist-esm/samples-dev/frontDoorNameAvailabilityCheckSample.js.map +1 -1
  21. package/dist-esm/samples-dev/frontDoorNameAvailabilityWithSubscriptionCheckSample.js +10 -3
  22. package/dist-esm/samples-dev/frontDoorNameAvailabilityWithSubscriptionCheckSample.js.map +1 -1
  23. package/dist-esm/samples-dev/frontDoorsCreateOrUpdateSample.js +11 -4
  24. package/dist-esm/samples-dev/frontDoorsCreateOrUpdateSample.js.map +1 -1
  25. package/dist-esm/samples-dev/frontDoorsDeleteSample.js +11 -4
  26. package/dist-esm/samples-dev/frontDoorsDeleteSample.js.map +1 -1
  27. package/dist-esm/samples-dev/frontDoorsGetSample.js +11 -4
  28. package/dist-esm/samples-dev/frontDoorsGetSample.js.map +1 -1
  29. package/dist-esm/samples-dev/frontDoorsListByResourceGroupSample.js +11 -4
  30. package/dist-esm/samples-dev/frontDoorsListByResourceGroupSample.js.map +1 -1
  31. package/dist-esm/samples-dev/frontDoorsListSample.js +10 -3
  32. package/dist-esm/samples-dev/frontDoorsListSample.js.map +1 -1
  33. package/dist-esm/samples-dev/frontDoorsValidateCustomDomainSample.js +11 -4
  34. package/dist-esm/samples-dev/frontDoorsValidateCustomDomainSample.js.map +1 -1
  35. package/dist-esm/samples-dev/frontendEndpointsDisableHttpsSample.js +11 -4
  36. package/dist-esm/samples-dev/frontendEndpointsDisableHttpsSample.js.map +1 -1
  37. package/dist-esm/samples-dev/frontendEndpointsEnableHttpsSample.js +11 -4
  38. package/dist-esm/samples-dev/frontendEndpointsEnableHttpsSample.js.map +1 -1
  39. package/dist-esm/samples-dev/frontendEndpointsGetSample.js +11 -4
  40. package/dist-esm/samples-dev/frontendEndpointsGetSample.js.map +1 -1
  41. package/dist-esm/samples-dev/frontendEndpointsListByFrontDoorSample.js +11 -4
  42. package/dist-esm/samples-dev/frontendEndpointsListByFrontDoorSample.js.map +1 -1
  43. package/dist-esm/samples-dev/managedRuleSetsListSample.js +11 -4
  44. package/dist-esm/samples-dev/managedRuleSetsListSample.js.map +1 -1
  45. package/dist-esm/samples-dev/networkExperimentProfilesCreateOrUpdateSample.js +10 -3
  46. package/dist-esm/samples-dev/networkExperimentProfilesCreateOrUpdateSample.js.map +1 -1
  47. package/dist-esm/samples-dev/networkExperimentProfilesDeleteSample.js +10 -3
  48. package/dist-esm/samples-dev/networkExperimentProfilesDeleteSample.js.map +1 -1
  49. package/dist-esm/samples-dev/networkExperimentProfilesGetSample.js +10 -3
  50. package/dist-esm/samples-dev/networkExperimentProfilesGetSample.js.map +1 -1
  51. package/dist-esm/samples-dev/networkExperimentProfilesListByResourceGroupSample.js +10 -3
  52. package/dist-esm/samples-dev/networkExperimentProfilesListByResourceGroupSample.js.map +1 -1
  53. package/dist-esm/samples-dev/networkExperimentProfilesListSample.js +9 -2
  54. package/dist-esm/samples-dev/networkExperimentProfilesListSample.js.map +1 -1
  55. package/dist-esm/samples-dev/networkExperimentProfilesUpdateSample.js +10 -3
  56. package/dist-esm/samples-dev/networkExperimentProfilesUpdateSample.js.map +1 -1
  57. package/dist-esm/samples-dev/policiesCreateOrUpdateSample.js +11 -4
  58. package/dist-esm/samples-dev/policiesCreateOrUpdateSample.js.map +1 -1
  59. package/dist-esm/samples-dev/policiesDeleteSample.js +11 -4
  60. package/dist-esm/samples-dev/policiesDeleteSample.js.map +1 -1
  61. package/dist-esm/samples-dev/policiesGetSample.js +11 -4
  62. package/dist-esm/samples-dev/policiesGetSample.js.map +1 -1
  63. package/dist-esm/samples-dev/policiesListBySubscriptionSample.d.ts +2 -0
  64. package/dist-esm/samples-dev/policiesListBySubscriptionSample.d.ts.map +1 -0
  65. package/dist-esm/samples-dev/policiesListBySubscriptionSample.js +57 -0
  66. package/dist-esm/samples-dev/policiesListBySubscriptionSample.js.map +1 -0
  67. package/dist-esm/samples-dev/policiesListSample.js +12 -5
  68. package/dist-esm/samples-dev/policiesListSample.js.map +1 -1
  69. package/dist-esm/samples-dev/policiesUpdateSample.d.ts +2 -0
  70. package/dist-esm/samples-dev/policiesUpdateSample.d.ts.map +1 -0
  71. package/dist-esm/samples-dev/policiesUpdateSample.js +39 -0
  72. package/dist-esm/samples-dev/policiesUpdateSample.js.map +1 -0
  73. package/dist-esm/samples-dev/preconfiguredEndpointsListSample.js +10 -3
  74. package/dist-esm/samples-dev/preconfiguredEndpointsListSample.js.map +1 -1
  75. package/dist-esm/samples-dev/reportsGetLatencyScorecardsSample.js +10 -3
  76. package/dist-esm/samples-dev/reportsGetLatencyScorecardsSample.js.map +1 -1
  77. package/dist-esm/samples-dev/reportsGetTimeseriesSample.js +10 -3
  78. package/dist-esm/samples-dev/reportsGetTimeseriesSample.js.map +1 -1
  79. package/dist-esm/samples-dev/rulesEnginesCreateOrUpdateSample.js +11 -4
  80. package/dist-esm/samples-dev/rulesEnginesCreateOrUpdateSample.js.map +1 -1
  81. package/dist-esm/samples-dev/rulesEnginesDeleteSample.js +11 -4
  82. package/dist-esm/samples-dev/rulesEnginesDeleteSample.js.map +1 -1
  83. package/dist-esm/samples-dev/rulesEnginesGetSample.js +11 -4
  84. package/dist-esm/samples-dev/rulesEnginesGetSample.js.map +1 -1
  85. package/dist-esm/samples-dev/rulesEnginesListByFrontDoorSample.js +11 -4
  86. package/dist-esm/samples-dev/rulesEnginesListByFrontDoorSample.js.map +1 -1
  87. package/dist-esm/src/frontDoorManagementClient.d.ts +7 -7
  88. package/dist-esm/src/frontDoorManagementClient.d.ts.map +1 -1
  89. package/dist-esm/src/frontDoorManagementClient.js +8 -8
  90. package/dist-esm/src/frontDoorManagementClient.js.map +1 -1
  91. package/dist-esm/src/lroImpl.d.ts +6 -11
  92. package/dist-esm/src/lroImpl.d.ts.map +1 -1
  93. package/dist-esm/src/lroImpl.js +12 -20
  94. package/dist-esm/src/lroImpl.js.map +1 -1
  95. package/dist-esm/src/models/index.d.ts +1138 -1078
  96. package/dist-esm/src/models/index.d.ts.map +1 -1
  97. package/dist-esm/src/models/index.js +258 -252
  98. package/dist-esm/src/models/index.js.map +1 -1
  99. package/dist-esm/src/models/mappers.d.ts +31 -29
  100. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  101. package/dist-esm/src/models/mappers.js +1279 -1228
  102. package/dist-esm/src/models/mappers.js.map +1 -1
  103. package/dist-esm/src/models/parameters.d.ts +15 -14
  104. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  105. package/dist-esm/src/models/parameters.js +132 -128
  106. package/dist-esm/src/models/parameters.js.map +1 -1
  107. package/dist-esm/src/operations/endpoints.d.ts +2 -2
  108. package/dist-esm/src/operations/endpoints.d.ts.map +1 -1
  109. package/dist-esm/src/operations/endpoints.js +12 -8
  110. package/dist-esm/src/operations/endpoints.js.map +1 -1
  111. package/dist-esm/src/operations/experiments.d.ts +4 -4
  112. package/dist-esm/src/operations/experiments.d.ts.map +1 -1
  113. package/dist-esm/src/operations/experiments.js +53 -30
  114. package/dist-esm/src/operations/experiments.js.map +1 -1
  115. package/dist-esm/src/operations/frontDoors.d.ts +3 -3
  116. package/dist-esm/src/operations/frontDoors.d.ts.map +1 -1
  117. package/dist-esm/src/operations/frontDoors.js +27 -21
  118. package/dist-esm/src/operations/frontDoors.js.map +1 -1
  119. package/dist-esm/src/operations/frontendEndpoints.d.ts +3 -3
  120. package/dist-esm/src/operations/frontendEndpoints.d.ts.map +1 -1
  121. package/dist-esm/src/operations/frontendEndpoints.js +31 -24
  122. package/dist-esm/src/operations/frontendEndpoints.js.map +1 -1
  123. package/dist-esm/src/operations/index.d.ts +6 -6
  124. package/dist-esm/src/operations/index.d.ts.map +1 -1
  125. package/dist-esm/src/operations/index.js +6 -6
  126. package/dist-esm/src/operations/index.js.map +1 -1
  127. package/dist-esm/src/operations/managedRuleSets.js +1 -2
  128. package/dist-esm/src/operations/managedRuleSets.js.map +1 -1
  129. package/dist-esm/src/operations/networkExperimentProfiles.d.ts +4 -4
  130. package/dist-esm/src/operations/networkExperimentProfiles.d.ts.map +1 -1
  131. package/dist-esm/src/operations/networkExperimentProfiles.js +41 -31
  132. package/dist-esm/src/operations/networkExperimentProfiles.js.map +1 -1
  133. package/dist-esm/src/operations/policies.d.ts +40 -4
  134. package/dist-esm/src/operations/policies.d.ts.map +1 -1
  135. package/dist-esm/src/operations/policies.js +235 -21
  136. package/dist-esm/src/operations/policies.js.map +1 -1
  137. package/dist-esm/src/operations/preconfiguredEndpoints.js +5 -6
  138. package/dist-esm/src/operations/preconfiguredEndpoints.js.map +1 -1
  139. package/dist-esm/src/operations/reports.js +4 -4
  140. package/dist-esm/src/operations/reports.js.map +1 -1
  141. package/dist-esm/src/operations/rulesEngines.d.ts +3 -3
  142. package/dist-esm/src/operations/rulesEngines.d.ts.map +1 -1
  143. package/dist-esm/src/operations/rulesEngines.js +31 -24
  144. package/dist-esm/src/operations/rulesEngines.js.map +1 -1
  145. package/dist-esm/src/operationsInterfaces/endpoints.d.ts +2 -2
  146. package/dist-esm/src/operationsInterfaces/endpoints.d.ts.map +1 -1
  147. package/dist-esm/src/operationsInterfaces/experiments.d.ts +4 -4
  148. package/dist-esm/src/operationsInterfaces/experiments.d.ts.map +1 -1
  149. package/dist-esm/src/operationsInterfaces/frontDoors.d.ts +3 -3
  150. package/dist-esm/src/operationsInterfaces/frontDoors.d.ts.map +1 -1
  151. package/dist-esm/src/operationsInterfaces/frontendEndpoints.d.ts +3 -3
  152. package/dist-esm/src/operationsInterfaces/frontendEndpoints.d.ts.map +1 -1
  153. package/dist-esm/src/operationsInterfaces/index.d.ts +6 -6
  154. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  155. package/dist-esm/src/operationsInterfaces/index.js +6 -6
  156. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  157. package/dist-esm/src/operationsInterfaces/networkExperimentProfiles.d.ts +4 -4
  158. package/dist-esm/src/operationsInterfaces/networkExperimentProfiles.d.ts.map +1 -1
  159. package/dist-esm/src/operationsInterfaces/policies.d.ts +27 -4
  160. package/dist-esm/src/operationsInterfaces/policies.d.ts.map +1 -1
  161. package/dist-esm/src/operationsInterfaces/rulesEngines.d.ts +3 -3
  162. package/dist-esm/src/operationsInterfaces/rulesEngines.d.ts.map +1 -1
  163. package/dist-esm/src/pagingHelper.d.ts +4 -4
  164. package/dist-esm/src/pagingHelper.js +4 -4
  165. package/dist-esm/test/frontdoor_operations_test.spec.d.ts +4 -0
  166. package/dist-esm/test/frontdoor_operations_test.spec.d.ts.map +1 -0
  167. package/dist-esm/test/frontdoor_operations_test.spec.js +58 -0
  168. package/dist-esm/test/frontdoor_operations_test.spec.js.map +1 -0
  169. package/package.json +8 -7
  170. package/review/arm-frontdoor.api.md +64 -18
  171. package/src/frontDoorManagementClient.ts +25 -25
  172. package/src/lroImpl.ts +31 -23
  173. package/src/models/index.ts +1195 -1130
  174. package/src/models/mappers.ts +1307 -1252
  175. package/src/models/parameters.ts +150 -144
  176. package/src/operations/endpoints.ts +17 -13
  177. package/src/operations/experiments.ts +68 -47
  178. package/src/operations/frontDoors.ts +37 -32
  179. package/src/operations/frontendEndpoints.ts +31 -28
  180. package/src/operations/index.ts +6 -6
  181. package/src/operations/managedRuleSets.ts +1 -2
  182. package/src/operations/networkExperimentProfiles.ts +56 -48
  183. package/src/operations/policies.ts +294 -33
  184. package/src/operations/preconfiguredEndpoints.ts +5 -6
  185. package/src/operations/reports.ts +4 -4
  186. package/src/operations/rulesEngines.ts +35 -29
  187. package/src/operationsInterfaces/endpoints.ts +2 -2
  188. package/src/operationsInterfaces/experiments.ts +6 -6
  189. package/src/operationsInterfaces/frontDoors.ts +4 -4
  190. package/src/operationsInterfaces/frontendEndpoints.ts +3 -3
  191. package/src/operationsInterfaces/index.ts +6 -6
  192. package/src/operationsInterfaces/networkExperimentProfiles.ts +6 -6
  193. package/src/operationsInterfaces/policies.ts +48 -4
  194. package/src/operationsInterfaces/rulesEngines.ts +4 -4
  195. package/src/pagingHelper.ts +4 -4
  196. package/types/arm-frontdoor.d.ts +124 -33
  197. package/dist-esm/test/sampleTest.d.ts +0 -2
  198. package/dist-esm/test/sampleTest.d.ts.map +0 -1
  199. package/dist-esm/test/sampleTest.js +0 -38
  200. package/dist-esm/test/sampleTest.js.map +0 -1
@@ -13,19 +13,30 @@ import * as coreClient from "@azure/core-client";
13
13
  import * as Mappers from "../models/mappers";
14
14
  import * as Parameters from "../models/parameters";
15
15
  import { FrontDoorManagementClient } from "../frontDoorManagementClient";
16
- import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro";
17
- import { LroImpl } from "../lroImpl";
16
+ import {
17
+ SimplePollerLike,
18
+ OperationState,
19
+ createHttpPoller
20
+ } from "@azure/core-lro";
21
+ import { createLroSpec } from "../lroImpl";
18
22
  import {
19
23
  WebApplicationFirewallPolicy,
20
24
  PoliciesListNextOptionalParams,
21
25
  PoliciesListOptionalParams,
22
26
  PoliciesListResponse,
27
+ PoliciesListBySubscriptionNextOptionalParams,
28
+ PoliciesListBySubscriptionOptionalParams,
29
+ PoliciesListBySubscriptionResponse,
23
30
  PoliciesGetOptionalParams,
24
31
  PoliciesGetResponse,
25
32
  PoliciesCreateOrUpdateOptionalParams,
26
33
  PoliciesCreateOrUpdateResponse,
34
+ TagsObject,
35
+ PoliciesUpdateOptionalParams,
36
+ PoliciesUpdateResponse,
27
37
  PoliciesDeleteOptionalParams,
28
- PoliciesListNextResponse
38
+ PoliciesListNextResponse,
39
+ PoliciesListBySubscriptionNextResponse
29
40
  } from "../models";
30
41
 
31
42
  /// <reference lib="esnext.asynciterable" />
@@ -103,6 +114,60 @@ export class PoliciesImpl implements Policies {
103
114
  }
104
115
  }
105
116
 
117
+ /**
118
+ * Lists all of the protection policies within a subscription.
119
+ * @param options The options parameters.
120
+ */
121
+ public listBySubscription(
122
+ options?: PoliciesListBySubscriptionOptionalParams
123
+ ): PagedAsyncIterableIterator<WebApplicationFirewallPolicy> {
124
+ const iter = this.listBySubscriptionPagingAll(options);
125
+ return {
126
+ next() {
127
+ return iter.next();
128
+ },
129
+ [Symbol.asyncIterator]() {
130
+ return this;
131
+ },
132
+ byPage: (settings?: PageSettings) => {
133
+ if (settings?.maxPageSize) {
134
+ throw new Error("maxPageSize is not supported by this operation.");
135
+ }
136
+ return this.listBySubscriptionPagingPage(options, settings);
137
+ }
138
+ };
139
+ }
140
+
141
+ private async *listBySubscriptionPagingPage(
142
+ options?: PoliciesListBySubscriptionOptionalParams,
143
+ settings?: PageSettings
144
+ ): AsyncIterableIterator<WebApplicationFirewallPolicy[]> {
145
+ let result: PoliciesListBySubscriptionResponse;
146
+ let continuationToken = settings?.continuationToken;
147
+ if (!continuationToken) {
148
+ result = await this._listBySubscription(options);
149
+ let page = result.value || [];
150
+ continuationToken = result.nextLink;
151
+ setContinuationToken(page, continuationToken);
152
+ yield page;
153
+ }
154
+ while (continuationToken) {
155
+ result = await this._listBySubscriptionNext(continuationToken, options);
156
+ continuationToken = result.nextLink;
157
+ let page = result.value || [];
158
+ setContinuationToken(page, continuationToken);
159
+ yield page;
160
+ }
161
+ }
162
+
163
+ private async *listBySubscriptionPagingAll(
164
+ options?: PoliciesListBySubscriptionOptionalParams
165
+ ): AsyncIterableIterator<WebApplicationFirewallPolicy> {
166
+ for await (const page of this.listBySubscriptionPagingPage(options)) {
167
+ yield* page;
168
+ }
169
+ }
170
+
106
171
  /**
107
172
  * Lists all of the protection policies within a resource group.
108
173
  * @param resourceGroupName Name of the Resource group within the Azure subscription.
@@ -118,6 +183,19 @@ export class PoliciesImpl implements Policies {
118
183
  );
119
184
  }
120
185
 
186
+ /**
187
+ * Lists all of the protection policies within a subscription.
188
+ * @param options The options parameters.
189
+ */
190
+ private _listBySubscription(
191
+ options?: PoliciesListBySubscriptionOptionalParams
192
+ ): Promise<PoliciesListBySubscriptionResponse> {
193
+ return this.client.sendOperationRequest(
194
+ { options },
195
+ listBySubscriptionOperationSpec
196
+ );
197
+ }
198
+
121
199
  /**
122
200
  * Retrieve protection policy with specified name within a resource group.
123
201
  * @param resourceGroupName Name of the Resource group within the Azure subscription.
@@ -148,8 +226,8 @@ export class PoliciesImpl implements Policies {
148
226
  parameters: WebApplicationFirewallPolicy,
149
227
  options?: PoliciesCreateOrUpdateOptionalParams
150
228
  ): Promise<
151
- PollerLike<
152
- PollOperationState<PoliciesCreateOrUpdateResponse>,
229
+ SimplePollerLike<
230
+ OperationState<PoliciesCreateOrUpdateResponse>,
153
231
  PoliciesCreateOrUpdateResponse
154
232
  >
155
233
  > {
@@ -159,7 +237,7 @@ export class PoliciesImpl implements Policies {
159
237
  ): Promise<PoliciesCreateOrUpdateResponse> => {
160
238
  return this.client.sendOperationRequest(args, spec);
161
239
  };
162
- const sendOperation = async (
240
+ const sendOperationFn = async (
163
241
  args: coreClient.OperationArguments,
164
242
  spec: coreClient.OperationSpec
165
243
  ) => {
@@ -192,13 +270,16 @@ export class PoliciesImpl implements Policies {
192
270
  };
193
271
  };
194
272
 
195
- const lro = new LroImpl(
196
- sendOperation,
197
- { resourceGroupName, policyName, parameters, options },
198
- createOrUpdateOperationSpec
199
- );
200
- const poller = new LroEngine(lro, {
201
- resumeFrom: options?.resumeFrom,
273
+ const lro = createLroSpec({
274
+ sendOperationFn,
275
+ args: { resourceGroupName, policyName, parameters, options },
276
+ spec: createOrUpdateOperationSpec
277
+ });
278
+ const poller = await createHttpPoller<
279
+ PoliciesCreateOrUpdateResponse,
280
+ OperationState<PoliciesCreateOrUpdateResponse>
281
+ >(lro, {
282
+ restoreFrom: options?.resumeFrom,
202
283
  intervalInMs: options?.updateIntervalInMs
203
284
  });
204
285
  await poller.poll();
@@ -227,6 +308,103 @@ export class PoliciesImpl implements Policies {
227
308
  return poller.pollUntilDone();
228
309
  }
229
310
 
311
+ /**
312
+ * Patch a specific frontdoor webApplicationFirewall policy for tags update under the specified
313
+ * subscription and resource group.
314
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
315
+ * @param policyName The name of the Web Application Firewall Policy.
316
+ * @param parameters FrontdoorWebApplicationFirewallPolicy parameters to be patched.
317
+ * @param options The options parameters.
318
+ */
319
+ async beginUpdate(
320
+ resourceGroupName: string,
321
+ policyName: string,
322
+ parameters: TagsObject,
323
+ options?: PoliciesUpdateOptionalParams
324
+ ): Promise<
325
+ SimplePollerLike<
326
+ OperationState<PoliciesUpdateResponse>,
327
+ PoliciesUpdateResponse
328
+ >
329
+ > {
330
+ const directSendOperation = async (
331
+ args: coreClient.OperationArguments,
332
+ spec: coreClient.OperationSpec
333
+ ): Promise<PoliciesUpdateResponse> => {
334
+ return this.client.sendOperationRequest(args, spec);
335
+ };
336
+ const sendOperationFn = async (
337
+ args: coreClient.OperationArguments,
338
+ spec: coreClient.OperationSpec
339
+ ) => {
340
+ let currentRawResponse:
341
+ | coreClient.FullOperationResponse
342
+ | undefined = undefined;
343
+ const providedCallback = args.options?.onResponse;
344
+ const callback: coreClient.RawResponseCallback = (
345
+ rawResponse: coreClient.FullOperationResponse,
346
+ flatResponse: unknown
347
+ ) => {
348
+ currentRawResponse = rawResponse;
349
+ providedCallback?.(rawResponse, flatResponse);
350
+ };
351
+ const updatedArgs = {
352
+ ...args,
353
+ options: {
354
+ ...args.options,
355
+ onResponse: callback
356
+ }
357
+ };
358
+ const flatResponse = await directSendOperation(updatedArgs, spec);
359
+ return {
360
+ flatResponse,
361
+ rawResponse: {
362
+ statusCode: currentRawResponse!.status,
363
+ body: currentRawResponse!.parsedBody,
364
+ headers: currentRawResponse!.headers.toJSON()
365
+ }
366
+ };
367
+ };
368
+
369
+ const lro = createLroSpec({
370
+ sendOperationFn,
371
+ args: { resourceGroupName, policyName, parameters, options },
372
+ spec: updateOperationSpec
373
+ });
374
+ const poller = await createHttpPoller<
375
+ PoliciesUpdateResponse,
376
+ OperationState<PoliciesUpdateResponse>
377
+ >(lro, {
378
+ restoreFrom: options?.resumeFrom,
379
+ intervalInMs: options?.updateIntervalInMs
380
+ });
381
+ await poller.poll();
382
+ return poller;
383
+ }
384
+
385
+ /**
386
+ * Patch a specific frontdoor webApplicationFirewall policy for tags update under the specified
387
+ * subscription and resource group.
388
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
389
+ * @param policyName The name of the Web Application Firewall Policy.
390
+ * @param parameters FrontdoorWebApplicationFirewallPolicy parameters to be patched.
391
+ * @param options The options parameters.
392
+ */
393
+ async beginUpdateAndWait(
394
+ resourceGroupName: string,
395
+ policyName: string,
396
+ parameters: TagsObject,
397
+ options?: PoliciesUpdateOptionalParams
398
+ ): Promise<PoliciesUpdateResponse> {
399
+ const poller = await this.beginUpdate(
400
+ resourceGroupName,
401
+ policyName,
402
+ parameters,
403
+ options
404
+ );
405
+ return poller.pollUntilDone();
406
+ }
407
+
230
408
  /**
231
409
  * Deletes Policy
232
410
  * @param resourceGroupName Name of the Resource group within the Azure subscription.
@@ -237,14 +415,14 @@ export class PoliciesImpl implements Policies {
237
415
  resourceGroupName: string,
238
416
  policyName: string,
239
417
  options?: PoliciesDeleteOptionalParams
240
- ): Promise<PollerLike<PollOperationState<void>, void>> {
418
+ ): Promise<SimplePollerLike<OperationState<void>, void>> {
241
419
  const directSendOperation = async (
242
420
  args: coreClient.OperationArguments,
243
421
  spec: coreClient.OperationSpec
244
422
  ): Promise<void> => {
245
423
  return this.client.sendOperationRequest(args, spec);
246
424
  };
247
- const sendOperation = async (
425
+ const sendOperationFn = async (
248
426
  args: coreClient.OperationArguments,
249
427
  spec: coreClient.OperationSpec
250
428
  ) => {
@@ -277,13 +455,13 @@ export class PoliciesImpl implements Policies {
277
455
  };
278
456
  };
279
457
 
280
- const lro = new LroImpl(
281
- sendOperation,
282
- { resourceGroupName, policyName, options },
283
- deleteOperationSpec
284
- );
285
- const poller = new LroEngine(lro, {
286
- resumeFrom: options?.resumeFrom,
458
+ const lro = createLroSpec({
459
+ sendOperationFn,
460
+ args: { resourceGroupName, policyName, options },
461
+ spec: deleteOperationSpec
462
+ });
463
+ const poller = await createHttpPoller<void, OperationState<void>>(lro, {
464
+ restoreFrom: options?.resumeFrom,
287
465
  intervalInMs: options?.updateIntervalInMs
288
466
  });
289
467
  await poller.poll();
@@ -325,6 +503,21 @@ export class PoliciesImpl implements Policies {
325
503
  listNextOperationSpec
326
504
  );
327
505
  }
506
+
507
+ /**
508
+ * ListBySubscriptionNext
509
+ * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.
510
+ * @param options The options parameters.
511
+ */
512
+ private _listBySubscriptionNext(
513
+ nextLink: string,
514
+ options?: PoliciesListBySubscriptionNextOptionalParams
515
+ ): Promise<PoliciesListBySubscriptionNextResponse> {
516
+ return this.client.sendOperationRequest(
517
+ { nextLink, options },
518
+ listBySubscriptionNextOperationSpec
519
+ );
520
+ }
328
521
  }
329
522
  // Operation Specifications
330
523
  const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
@@ -341,15 +534,32 @@ const listOperationSpec: coreClient.OperationSpec = {
341
534
  bodyMapper: Mappers.ErrorResponse
342
535
  }
343
536
  },
344
- queryParameters: [Parameters.apiVersion2],
537
+ queryParameters: [Parameters.apiVersion],
345
538
  urlParameters: [
346
539
  Parameters.$host,
347
- Parameters.subscriptionId,
348
- Parameters.resourceGroupName
540
+ Parameters.resourceGroupName,
541
+ Parameters.subscriptionId
349
542
  ],
350
543
  headerParameters: [Parameters.accept],
351
544
  serializer
352
545
  };
546
+ const listBySubscriptionOperationSpec: coreClient.OperationSpec = {
547
+ path:
548
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies",
549
+ httpMethod: "GET",
550
+ responses: {
551
+ 200: {
552
+ bodyMapper: Mappers.WebApplicationFirewallPolicyList
553
+ },
554
+ default: {
555
+ bodyMapper: Mappers.DefaultErrorResponse
556
+ }
557
+ },
558
+ queryParameters: [Parameters.apiVersion],
559
+ urlParameters: [Parameters.$host, Parameters.subscriptionId],
560
+ headerParameters: [Parameters.accept],
561
+ serializer
562
+ };
353
563
  const getOperationSpec: coreClient.OperationSpec = {
354
564
  path:
355
565
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}",
@@ -362,11 +572,11 @@ const getOperationSpec: coreClient.OperationSpec = {
362
572
  bodyMapper: Mappers.ErrorResponse
363
573
  }
364
574
  },
365
- queryParameters: [Parameters.apiVersion2],
575
+ queryParameters: [Parameters.apiVersion],
366
576
  urlParameters: [
367
577
  Parameters.$host,
368
- Parameters.subscriptionId,
369
578
  Parameters.resourceGroupName,
579
+ Parameters.subscriptionId,
370
580
  Parameters.policyName
371
581
  ],
372
582
  headerParameters: [Parameters.accept],
@@ -393,12 +603,45 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = {
393
603
  bodyMapper: Mappers.ErrorResponse
394
604
  }
395
605
  },
396
- requestBody: Parameters.parameters4,
397
- queryParameters: [Parameters.apiVersion2],
606
+ requestBody: Parameters.parameters,
607
+ queryParameters: [Parameters.apiVersion],
398
608
  urlParameters: [
399
609
  Parameters.$host,
610
+ Parameters.resourceGroupName,
400
611
  Parameters.subscriptionId,
612
+ Parameters.policyName
613
+ ],
614
+ headerParameters: [Parameters.accept, Parameters.contentType],
615
+ mediaType: "json",
616
+ serializer
617
+ };
618
+ const updateOperationSpec: coreClient.OperationSpec = {
619
+ path:
620
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}",
621
+ httpMethod: "PATCH",
622
+ responses: {
623
+ 200: {
624
+ bodyMapper: Mappers.WebApplicationFirewallPolicy
625
+ },
626
+ 201: {
627
+ bodyMapper: Mappers.WebApplicationFirewallPolicy
628
+ },
629
+ 202: {
630
+ bodyMapper: Mappers.WebApplicationFirewallPolicy
631
+ },
632
+ 204: {
633
+ bodyMapper: Mappers.WebApplicationFirewallPolicy
634
+ },
635
+ default: {
636
+ bodyMapper: Mappers.ErrorResponse
637
+ }
638
+ },
639
+ requestBody: Parameters.parameters1,
640
+ queryParameters: [Parameters.apiVersion],
641
+ urlParameters: [
642
+ Parameters.$host,
401
643
  Parameters.resourceGroupName,
644
+ Parameters.subscriptionId,
402
645
  Parameters.policyName
403
646
  ],
404
647
  headerParameters: [Parameters.accept, Parameters.contentType],
@@ -410,11 +653,11 @@ const deleteOperationSpec: coreClient.OperationSpec = {
410
653
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}",
411
654
  httpMethod: "DELETE",
412
655
  responses: { 200: {}, 201: {}, 202: {}, 204: {} },
413
- queryParameters: [Parameters.apiVersion2],
656
+ queryParameters: [Parameters.apiVersion],
414
657
  urlParameters: [
415
658
  Parameters.$host,
416
- Parameters.subscriptionId,
417
659
  Parameters.resourceGroupName,
660
+ Parameters.subscriptionId,
418
661
  Parameters.policyName
419
662
  ],
420
663
  serializer
@@ -430,11 +673,29 @@ const listNextOperationSpec: coreClient.OperationSpec = {
430
673
  bodyMapper: Mappers.ErrorResponse
431
674
  }
432
675
  },
433
- queryParameters: [Parameters.apiVersion2],
434
676
  urlParameters: [
435
677
  Parameters.$host,
436
- Parameters.subscriptionId,
437
678
  Parameters.resourceGroupName,
679
+ Parameters.subscriptionId,
680
+ Parameters.nextLink
681
+ ],
682
+ headerParameters: [Parameters.accept],
683
+ serializer
684
+ };
685
+ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {
686
+ path: "{nextLink}",
687
+ httpMethod: "GET",
688
+ responses: {
689
+ 200: {
690
+ bodyMapper: Mappers.WebApplicationFirewallPolicyList
691
+ },
692
+ default: {
693
+ bodyMapper: Mappers.DefaultErrorResponse
694
+ }
695
+ },
696
+ urlParameters: [
697
+ Parameters.$host,
698
+ Parameters.subscriptionId,
438
699
  Parameters.nextLink
439
700
  ],
440
701
  headerParameters: [Parameters.accept],
@@ -161,11 +161,11 @@ const listOperationSpec: coreClient.OperationSpec = {
161
161
  bodyMapper: Mappers.ErrorResponse
162
162
  }
163
163
  },
164
- queryParameters: [Parameters.apiVersion],
164
+ queryParameters: [Parameters.apiVersion2],
165
165
  urlParameters: [
166
166
  Parameters.$host,
167
- Parameters.subscriptionId,
168
167
  Parameters.resourceGroupName,
168
+ Parameters.subscriptionId,
169
169
  Parameters.profileName
170
170
  ],
171
171
  headerParameters: [Parameters.accept],
@@ -182,13 +182,12 @@ const listNextOperationSpec: coreClient.OperationSpec = {
182
182
  bodyMapper: Mappers.ErrorResponse
183
183
  }
184
184
  },
185
- queryParameters: [Parameters.apiVersion],
186
185
  urlParameters: [
187
186
  Parameters.$host,
188
- Parameters.subscriptionId,
189
187
  Parameters.resourceGroupName,
190
- Parameters.profileName,
191
- Parameters.nextLink
188
+ Parameters.subscriptionId,
189
+ Parameters.nextLink,
190
+ Parameters.profileName
192
191
  ],
193
192
  headerParameters: [Parameters.accept],
194
193
  serializer
@@ -112,15 +112,15 @@ const getLatencyScorecardsOperationSpec: coreClient.OperationSpec = {
112
112
  }
113
113
  },
114
114
  queryParameters: [
115
- Parameters.apiVersion,
115
+ Parameters.apiVersion2,
116
116
  Parameters.endDateTimeUTC,
117
117
  Parameters.country,
118
118
  Parameters.aggregationInterval
119
119
  ],
120
120
  urlParameters: [
121
121
  Parameters.$host,
122
- Parameters.subscriptionId,
123
122
  Parameters.resourceGroupName,
123
+ Parameters.subscriptionId,
124
124
  Parameters.profileName,
125
125
  Parameters.experimentName
126
126
  ],
@@ -140,7 +140,7 @@ const getTimeseriesOperationSpec: coreClient.OperationSpec = {
140
140
  }
141
141
  },
142
142
  queryParameters: [
143
- Parameters.apiVersion,
143
+ Parameters.apiVersion2,
144
144
  Parameters.country,
145
145
  Parameters.startDateTimeUTC,
146
146
  Parameters.endDateTimeUTC1,
@@ -150,8 +150,8 @@ const getTimeseriesOperationSpec: coreClient.OperationSpec = {
150
150
  ],
151
151
  urlParameters: [
152
152
  Parameters.$host,
153
- Parameters.subscriptionId,
154
153
  Parameters.resourceGroupName,
154
+ Parameters.subscriptionId,
155
155
  Parameters.profileName,
156
156
  Parameters.experimentName
157
157
  ],
@@ -13,8 +13,12 @@ import * as coreClient from "@azure/core-client";
13
13
  import * as Mappers from "../models/mappers";
14
14
  import * as Parameters from "../models/parameters";
15
15
  import { FrontDoorManagementClient } from "../frontDoorManagementClient";
16
- import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro";
17
- import { LroImpl } from "../lroImpl";
16
+ import {
17
+ SimplePollerLike,
18
+ OperationState,
19
+ createHttpPoller
20
+ } from "@azure/core-lro";
21
+ import { createLroSpec } from "../lroImpl";
18
22
  import {
19
23
  RulesEngine,
20
24
  RulesEnginesListByFrontDoorNextOptionalParams,
@@ -177,8 +181,8 @@ export class RulesEnginesImpl implements RulesEngines {
177
181
  rulesEngineParameters: RulesEngine,
178
182
  options?: RulesEnginesCreateOrUpdateOptionalParams
179
183
  ): Promise<
180
- PollerLike<
181
- PollOperationState<RulesEnginesCreateOrUpdateResponse>,
184
+ SimplePollerLike<
185
+ OperationState<RulesEnginesCreateOrUpdateResponse>,
182
186
  RulesEnginesCreateOrUpdateResponse
183
187
  >
184
188
  > {
@@ -188,7 +192,7 @@ export class RulesEnginesImpl implements RulesEngines {
188
192
  ): Promise<RulesEnginesCreateOrUpdateResponse> => {
189
193
  return this.client.sendOperationRequest(args, spec);
190
194
  };
191
- const sendOperation = async (
195
+ const sendOperationFn = async (
192
196
  args: coreClient.OperationArguments,
193
197
  spec: coreClient.OperationSpec
194
198
  ) => {
@@ -221,21 +225,24 @@ export class RulesEnginesImpl implements RulesEngines {
221
225
  };
222
226
  };
223
227
 
224
- const lro = new LroImpl(
225
- sendOperation,
226
- {
228
+ const lro = createLroSpec({
229
+ sendOperationFn,
230
+ args: {
227
231
  resourceGroupName,
228
232
  frontDoorName,
229
233
  rulesEngineName,
230
234
  rulesEngineParameters,
231
235
  options
232
236
  },
233
- createOrUpdateOperationSpec
234
- );
235
- const poller = new LroEngine(lro, {
236
- resumeFrom: options?.resumeFrom,
237
+ spec: createOrUpdateOperationSpec
238
+ });
239
+ const poller = await createHttpPoller<
240
+ RulesEnginesCreateOrUpdateResponse,
241
+ OperationState<RulesEnginesCreateOrUpdateResponse>
242
+ >(lro, {
243
+ restoreFrom: options?.resumeFrom,
237
244
  intervalInMs: options?.updateIntervalInMs,
238
- lroResourceLocationConfig: "azure-async-operation"
245
+ resourceLocationConfig: "azure-async-operation"
239
246
  });
240
247
  await poller.poll();
241
248
  return poller;
@@ -279,14 +286,14 @@ export class RulesEnginesImpl implements RulesEngines {
279
286
  frontDoorName: string,
280
287
  rulesEngineName: string,
281
288
  options?: RulesEnginesDeleteOptionalParams
282
- ): Promise<PollerLike<PollOperationState<void>, void>> {
289
+ ): Promise<SimplePollerLike<OperationState<void>, void>> {
283
290
  const directSendOperation = async (
284
291
  args: coreClient.OperationArguments,
285
292
  spec: coreClient.OperationSpec
286
293
  ): Promise<void> => {
287
294
  return this.client.sendOperationRequest(args, spec);
288
295
  };
289
- const sendOperation = async (
296
+ const sendOperationFn = async (
290
297
  args: coreClient.OperationArguments,
291
298
  spec: coreClient.OperationSpec
292
299
  ) => {
@@ -319,15 +326,15 @@ export class RulesEnginesImpl implements RulesEngines {
319
326
  };
320
327
  };
321
328
 
322
- const lro = new LroImpl(
323
- sendOperation,
324
- { resourceGroupName, frontDoorName, rulesEngineName, options },
325
- deleteOperationSpec
326
- );
327
- const poller = new LroEngine(lro, {
328
- resumeFrom: options?.resumeFrom,
329
+ const lro = createLroSpec({
330
+ sendOperationFn,
331
+ args: { resourceGroupName, frontDoorName, rulesEngineName, options },
332
+ spec: deleteOperationSpec
333
+ });
334
+ const poller = await createHttpPoller<void, OperationState<void>>(lro, {
335
+ restoreFrom: options?.resumeFrom,
329
336
  intervalInMs: options?.updateIntervalInMs,
330
- lroResourceLocationConfig: "azure-async-operation"
337
+ resourceLocationConfig: "azure-async-operation"
331
338
  });
332
339
  await poller.poll();
333
340
  return poller;
@@ -392,8 +399,8 @@ const listByFrontDoorOperationSpec: coreClient.OperationSpec = {
392
399
  queryParameters: [Parameters.apiVersion1],
393
400
  urlParameters: [
394
401
  Parameters.$host,
395
- Parameters.subscriptionId,
396
402
  Parameters.resourceGroupName,
403
+ Parameters.subscriptionId,
397
404
  Parameters.frontDoorName
398
405
  ],
399
406
  headerParameters: [Parameters.accept],
@@ -414,8 +421,8 @@ const getOperationSpec: coreClient.OperationSpec = {
414
421
  queryParameters: [Parameters.apiVersion1],
415
422
  urlParameters: [
416
423
  Parameters.$host,
417
- Parameters.subscriptionId,
418
424
  Parameters.resourceGroupName,
425
+ Parameters.subscriptionId,
419
426
  Parameters.frontDoorName,
420
427
  Parameters.rulesEngineName
421
428
  ],
@@ -447,8 +454,8 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = {
447
454
  queryParameters: [Parameters.apiVersion1],
448
455
  urlParameters: [
449
456
  Parameters.$host,
450
- Parameters.subscriptionId,
451
457
  Parameters.resourceGroupName,
458
+ Parameters.subscriptionId,
452
459
  Parameters.frontDoorName,
453
460
  Parameters.rulesEngineName
454
461
  ],
@@ -472,8 +479,8 @@ const deleteOperationSpec: coreClient.OperationSpec = {
472
479
  queryParameters: [Parameters.apiVersion1],
473
480
  urlParameters: [
474
481
  Parameters.$host,
475
- Parameters.subscriptionId,
476
482
  Parameters.resourceGroupName,
483
+ Parameters.subscriptionId,
477
484
  Parameters.frontDoorName,
478
485
  Parameters.rulesEngineName
479
486
  ],
@@ -491,11 +498,10 @@ const listByFrontDoorNextOperationSpec: coreClient.OperationSpec = {
491
498
  bodyMapper: Mappers.ErrorResponse
492
499
  }
493
500
  },
494
- queryParameters: [Parameters.apiVersion1],
495
501
  urlParameters: [
496
502
  Parameters.$host,
497
- Parameters.subscriptionId,
498
503
  Parameters.resourceGroupName,
504
+ Parameters.subscriptionId,
499
505
  Parameters.nextLink,
500
506
  Parameters.frontDoorName
501
507
  ],