@azure/arm-dnsresolver 1.0.0-beta.1

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 (117) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/LICENSE +21 -0
  3. package/README.md +98 -0
  4. package/dist/index.js +4086 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.min.js +1 -0
  7. package/dist/index.min.js.map +1 -0
  8. package/dist-esm/src/dnsResolverManagementClient.d.ts +23 -0
  9. package/dist-esm/src/dnsResolverManagementClient.d.ts.map +1 -0
  10. package/dist-esm/src/dnsResolverManagementClient.js +56 -0
  11. package/dist-esm/src/dnsResolverManagementClient.js.map +1 -0
  12. package/dist-esm/src/index.d.ts +5 -0
  13. package/dist-esm/src/index.d.ts.map +1 -0
  14. package/dist-esm/src/index.js +12 -0
  15. package/dist-esm/src/index.js.map +1 -0
  16. package/dist-esm/src/lroImpl.d.ts +16 -0
  17. package/dist-esm/src/lroImpl.d.ts.map +1 -0
  18. package/dist-esm/src/lroImpl.js +29 -0
  19. package/dist-esm/src/lroImpl.js.map +1 -0
  20. package/dist-esm/src/models/index.d.ts +820 -0
  21. package/dist-esm/src/models/index.d.ts.map +1 -0
  22. package/dist-esm/src/models/index.js +44 -0
  23. package/dist-esm/src/models/index.js.map +1 -0
  24. package/dist-esm/src/models/mappers.d.ts +32 -0
  25. package/dist-esm/src/models/mappers.d.ts.map +1 -0
  26. package/dist-esm/src/models/mappers.js +821 -0
  27. package/dist-esm/src/models/mappers.js.map +1 -0
  28. package/dist-esm/src/models/parameters.d.ts +31 -0
  29. package/dist-esm/src/models/parameters.d.ts.map +1 -0
  30. package/dist-esm/src/models/parameters.js +236 -0
  31. package/dist-esm/src/models/parameters.js.map +1 -0
  32. package/dist-esm/src/operations/dnsForwardingRulesets.d.ts +133 -0
  33. package/dist-esm/src/operations/dnsForwardingRulesets.d.ts.map +1 -0
  34. package/dist-esm/src/operations/dnsForwardingRulesets.js +623 -0
  35. package/dist-esm/src/operations/dnsForwardingRulesets.js.map +1 -0
  36. package/dist-esm/src/operations/dnsResolvers.d.ts +131 -0
  37. package/dist-esm/src/operations/dnsResolvers.d.ts.map +1 -0
  38. package/dist-esm/src/operations/dnsResolvers.js +621 -0
  39. package/dist-esm/src/operations/dnsResolvers.js.map +1 -0
  40. package/dist-esm/src/operations/forwardingRules.d.ts +72 -0
  41. package/dist-esm/src/operations/forwardingRules.d.ts.map +1 -0
  42. package/dist-esm/src/operations/forwardingRules.js +304 -0
  43. package/dist-esm/src/operations/forwardingRules.js.map +1 -0
  44. package/dist-esm/src/operations/inboundEndpoints.d.ts +99 -0
  45. package/dist-esm/src/operations/inboundEndpoints.d.ts.map +1 -0
  46. package/dist-esm/src/operations/inboundEndpoints.js +438 -0
  47. package/dist-esm/src/operations/inboundEndpoints.js.map +1 -0
  48. package/dist-esm/src/operations/index.d.ts +7 -0
  49. package/dist-esm/src/operations/index.d.ts.map +1 -0
  50. package/dist-esm/src/operations/index.js +14 -0
  51. package/dist-esm/src/operations/index.js.map +1 -0
  52. package/dist-esm/src/operations/outboundEndpoints.d.ts +99 -0
  53. package/dist-esm/src/operations/outboundEndpoints.d.ts.map +1 -0
  54. package/dist-esm/src/operations/outboundEndpoints.js +438 -0
  55. package/dist-esm/src/operations/outboundEndpoints.js.map +1 -0
  56. package/dist-esm/src/operations/virtualNetworkLinks.d.ts +101 -0
  57. package/dist-esm/src/operations/virtualNetworkLinks.d.ts.map +1 -0
  58. package/dist-esm/src/operations/virtualNetworkLinks.js +450 -0
  59. package/dist-esm/src/operations/virtualNetworkLinks.js.map +1 -0
  60. package/dist-esm/src/operationsInterfaces/dnsForwardingRulesets.d.ts +80 -0
  61. package/dist-esm/src/operationsInterfaces/dnsForwardingRulesets.d.ts.map +1 -0
  62. package/dist-esm/src/operationsInterfaces/dnsForwardingRulesets.js +9 -0
  63. package/dist-esm/src/operationsInterfaces/dnsForwardingRulesets.js.map +1 -0
  64. package/dist-esm/src/operationsInterfaces/dnsResolvers.d.ts +78 -0
  65. package/dist-esm/src/operationsInterfaces/dnsResolvers.d.ts.map +1 -0
  66. package/dist-esm/src/operationsInterfaces/dnsResolvers.js +9 -0
  67. package/dist-esm/src/operationsInterfaces/dnsResolvers.js.map +1 -0
  68. package/dist-esm/src/operationsInterfaces/forwardingRules.d.ts +47 -0
  69. package/dist-esm/src/operationsInterfaces/forwardingRules.d.ts.map +1 -0
  70. package/dist-esm/src/operationsInterfaces/forwardingRules.js +9 -0
  71. package/dist-esm/src/operationsInterfaces/forwardingRules.js.map +1 -0
  72. package/dist-esm/src/operationsInterfaces/inboundEndpoints.d.ts +74 -0
  73. package/dist-esm/src/operationsInterfaces/inboundEndpoints.d.ts.map +1 -0
  74. package/dist-esm/src/operationsInterfaces/inboundEndpoints.js +9 -0
  75. package/dist-esm/src/operationsInterfaces/inboundEndpoints.js.map +1 -0
  76. package/dist-esm/src/operationsInterfaces/index.d.ts +7 -0
  77. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
  78. package/dist-esm/src/operationsInterfaces/index.js +14 -0
  79. package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
  80. package/dist-esm/src/operationsInterfaces/outboundEndpoints.d.ts +74 -0
  81. package/dist-esm/src/operationsInterfaces/outboundEndpoints.d.ts.map +1 -0
  82. package/dist-esm/src/operationsInterfaces/outboundEndpoints.js +9 -0
  83. package/dist-esm/src/operationsInterfaces/outboundEndpoints.js.map +1 -0
  84. package/dist-esm/src/operationsInterfaces/virtualNetworkLinks.d.ts +76 -0
  85. package/dist-esm/src/operationsInterfaces/virtualNetworkLinks.d.ts.map +1 -0
  86. package/dist-esm/src/operationsInterfaces/virtualNetworkLinks.js +9 -0
  87. package/dist-esm/src/operationsInterfaces/virtualNetworkLinks.js.map +1 -0
  88. package/dist-esm/test/sampleTest.d.ts +2 -0
  89. package/dist-esm/test/sampleTest.d.ts.map +1 -0
  90. package/dist-esm/test/sampleTest.js +40 -0
  91. package/dist-esm/test/sampleTest.js.map +1 -0
  92. package/package.json +118 -0
  93. package/review/arm-dnsresolver.api.md +767 -0
  94. package/rollup.config.js +122 -0
  95. package/src/dnsResolverManagementClient.ts +99 -0
  96. package/src/index.ts +12 -0
  97. package/src/lroImpl.ts +34 -0
  98. package/src/models/index.ts +971 -0
  99. package/src/models/mappers.ts +903 -0
  100. package/src/models/parameters.ts +283 -0
  101. package/src/operations/dnsForwardingRulesets.ts +838 -0
  102. package/src/operations/dnsResolvers.ts +836 -0
  103. package/src/operations/forwardingRules.ts +406 -0
  104. package/src/operations/inboundEndpoints.ts +621 -0
  105. package/src/operations/index.ts +14 -0
  106. package/src/operations/outboundEndpoints.ts +621 -0
  107. package/src/operations/virtualNetworkLinks.ts +641 -0
  108. package/src/operationsInterfaces/dnsForwardingRulesets.ts +154 -0
  109. package/src/operationsInterfaces/dnsResolvers.ts +152 -0
  110. package/src/operationsInterfaces/forwardingRules.ts +93 -0
  111. package/src/operationsInterfaces/inboundEndpoints.ts +147 -0
  112. package/src/operationsInterfaces/index.ts +14 -0
  113. package/src/operationsInterfaces/outboundEndpoints.ts +147 -0
  114. package/src/operationsInterfaces/virtualNetworkLinks.ts +149 -0
  115. package/tsconfig.json +32 -0
  116. package/types/arm-dnsresolver.d.ts +1379 -0
  117. package/types/tsdoc-metadata.json +11 -0
@@ -0,0 +1,838 @@
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 { DnsForwardingRulesets } 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 { DnsResolverManagementClient } from "../dnsResolverManagementClient";
15
+ import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro";
16
+ import { LroImpl } from "../lroImpl";
17
+ import {
18
+ DnsForwardingRuleset,
19
+ DnsForwardingRulesetsListByResourceGroupNextOptionalParams,
20
+ DnsForwardingRulesetsListByResourceGroupOptionalParams,
21
+ DnsForwardingRulesetsListNextOptionalParams,
22
+ DnsForwardingRulesetsListOptionalParams,
23
+ VirtualNetworkDnsForwardingRuleset,
24
+ DnsForwardingRulesetsListByVirtualNetworkNextOptionalParams,
25
+ DnsForwardingRulesetsListByVirtualNetworkOptionalParams,
26
+ DnsForwardingRulesetsCreateOrUpdateOptionalParams,
27
+ DnsForwardingRulesetsCreateOrUpdateResponse,
28
+ DnsForwardingRulesetPatch,
29
+ DnsForwardingRulesetsUpdateOptionalParams,
30
+ DnsForwardingRulesetsUpdateResponse,
31
+ DnsForwardingRulesetsDeleteOptionalParams,
32
+ DnsForwardingRulesetsGetOptionalParams,
33
+ DnsForwardingRulesetsGetResponse,
34
+ DnsForwardingRulesetsListByResourceGroupResponse,
35
+ DnsForwardingRulesetsListResponse,
36
+ DnsForwardingRulesetsListByVirtualNetworkResponse,
37
+ DnsForwardingRulesetsListByResourceGroupNextResponse,
38
+ DnsForwardingRulesetsListNextResponse,
39
+ DnsForwardingRulesetsListByVirtualNetworkNextResponse
40
+ } from "../models";
41
+
42
+ /// <reference lib="esnext.asynciterable" />
43
+ /** Class containing DnsForwardingRulesets operations. */
44
+ export class DnsForwardingRulesetsImpl implements DnsForwardingRulesets {
45
+ private readonly client: DnsResolverManagementClient;
46
+
47
+ /**
48
+ * Initialize a new instance of the class DnsForwardingRulesets class.
49
+ * @param client Reference to the service client
50
+ */
51
+ constructor(client: DnsResolverManagementClient) {
52
+ this.client = client;
53
+ }
54
+
55
+ /**
56
+ * Lists DNS forwarding rulesets within a resource group.
57
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
58
+ * @param options The options parameters.
59
+ */
60
+ public listByResourceGroup(
61
+ resourceGroupName: string,
62
+ options?: DnsForwardingRulesetsListByResourceGroupOptionalParams
63
+ ): PagedAsyncIterableIterator<DnsForwardingRuleset> {
64
+ const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);
65
+ return {
66
+ next() {
67
+ return iter.next();
68
+ },
69
+ [Symbol.asyncIterator]() {
70
+ return this;
71
+ },
72
+ byPage: () => {
73
+ return this.listByResourceGroupPagingPage(resourceGroupName, options);
74
+ }
75
+ };
76
+ }
77
+
78
+ private async *listByResourceGroupPagingPage(
79
+ resourceGroupName: string,
80
+ options?: DnsForwardingRulesetsListByResourceGroupOptionalParams
81
+ ): AsyncIterableIterator<DnsForwardingRuleset[]> {
82
+ let result = await this._listByResourceGroup(resourceGroupName, options);
83
+ yield result.value || [];
84
+ let continuationToken = result.nextLink;
85
+ while (continuationToken) {
86
+ result = await this._listByResourceGroupNext(
87
+ resourceGroupName,
88
+ continuationToken,
89
+ options
90
+ );
91
+ continuationToken = result.nextLink;
92
+ yield result.value || [];
93
+ }
94
+ }
95
+
96
+ private async *listByResourceGroupPagingAll(
97
+ resourceGroupName: string,
98
+ options?: DnsForwardingRulesetsListByResourceGroupOptionalParams
99
+ ): AsyncIterableIterator<DnsForwardingRuleset> {
100
+ for await (const page of this.listByResourceGroupPagingPage(
101
+ resourceGroupName,
102
+ options
103
+ )) {
104
+ yield* page;
105
+ }
106
+ }
107
+
108
+ /**
109
+ * Lists DNS forwarding rulesets in all resource groups of a subscription.
110
+ * @param options The options parameters.
111
+ */
112
+ public list(
113
+ options?: DnsForwardingRulesetsListOptionalParams
114
+ ): PagedAsyncIterableIterator<DnsForwardingRuleset> {
115
+ const iter = this.listPagingAll(options);
116
+ return {
117
+ next() {
118
+ return iter.next();
119
+ },
120
+ [Symbol.asyncIterator]() {
121
+ return this;
122
+ },
123
+ byPage: () => {
124
+ return this.listPagingPage(options);
125
+ }
126
+ };
127
+ }
128
+
129
+ private async *listPagingPage(
130
+ options?: DnsForwardingRulesetsListOptionalParams
131
+ ): AsyncIterableIterator<DnsForwardingRuleset[]> {
132
+ let result = await this._list(options);
133
+ yield result.value || [];
134
+ let continuationToken = result.nextLink;
135
+ while (continuationToken) {
136
+ result = await this._listNext(continuationToken, options);
137
+ continuationToken = result.nextLink;
138
+ yield result.value || [];
139
+ }
140
+ }
141
+
142
+ private async *listPagingAll(
143
+ options?: DnsForwardingRulesetsListOptionalParams
144
+ ): AsyncIterableIterator<DnsForwardingRuleset> {
145
+ for await (const page of this.listPagingPage(options)) {
146
+ yield* page;
147
+ }
148
+ }
149
+
150
+ /**
151
+ * Lists DNS forwarding ruleset resource IDs attached to a virtual network.
152
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
153
+ * @param virtualNetworkName The name of the virtual network.
154
+ * @param options The options parameters.
155
+ */
156
+ public listByVirtualNetwork(
157
+ resourceGroupName: string,
158
+ virtualNetworkName: string,
159
+ options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams
160
+ ): PagedAsyncIterableIterator<VirtualNetworkDnsForwardingRuleset> {
161
+ const iter = this.listByVirtualNetworkPagingAll(
162
+ resourceGroupName,
163
+ virtualNetworkName,
164
+ options
165
+ );
166
+ return {
167
+ next() {
168
+ return iter.next();
169
+ },
170
+ [Symbol.asyncIterator]() {
171
+ return this;
172
+ },
173
+ byPage: () => {
174
+ return this.listByVirtualNetworkPagingPage(
175
+ resourceGroupName,
176
+ virtualNetworkName,
177
+ options
178
+ );
179
+ }
180
+ };
181
+ }
182
+
183
+ private async *listByVirtualNetworkPagingPage(
184
+ resourceGroupName: string,
185
+ virtualNetworkName: string,
186
+ options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams
187
+ ): AsyncIterableIterator<VirtualNetworkDnsForwardingRuleset[]> {
188
+ let result = await this._listByVirtualNetwork(
189
+ resourceGroupName,
190
+ virtualNetworkName,
191
+ options
192
+ );
193
+ yield result.value || [];
194
+ let continuationToken = result.nextLink;
195
+ while (continuationToken) {
196
+ result = await this._listByVirtualNetworkNext(
197
+ resourceGroupName,
198
+ virtualNetworkName,
199
+ continuationToken,
200
+ options
201
+ );
202
+ continuationToken = result.nextLink;
203
+ yield result.value || [];
204
+ }
205
+ }
206
+
207
+ private async *listByVirtualNetworkPagingAll(
208
+ resourceGroupName: string,
209
+ virtualNetworkName: string,
210
+ options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams
211
+ ): AsyncIterableIterator<VirtualNetworkDnsForwardingRuleset> {
212
+ for await (const page of this.listByVirtualNetworkPagingPage(
213
+ resourceGroupName,
214
+ virtualNetworkName,
215
+ options
216
+ )) {
217
+ yield* page;
218
+ }
219
+ }
220
+
221
+ /**
222
+ * Creates or updates a DNS forwarding ruleset.
223
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
224
+ * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.
225
+ * @param parameters Parameters supplied to the CreateOrUpdate operation.
226
+ * @param options The options parameters.
227
+ */
228
+ async beginCreateOrUpdate(
229
+ resourceGroupName: string,
230
+ dnsForwardingRulesetName: string,
231
+ parameters: DnsForwardingRuleset,
232
+ options?: DnsForwardingRulesetsCreateOrUpdateOptionalParams
233
+ ): Promise<
234
+ PollerLike<
235
+ PollOperationState<DnsForwardingRulesetsCreateOrUpdateResponse>,
236
+ DnsForwardingRulesetsCreateOrUpdateResponse
237
+ >
238
+ > {
239
+ const directSendOperation = async (
240
+ args: coreClient.OperationArguments,
241
+ spec: coreClient.OperationSpec
242
+ ): Promise<DnsForwardingRulesetsCreateOrUpdateResponse> => {
243
+ return this.client.sendOperationRequest(args, spec);
244
+ };
245
+ const sendOperation = async (
246
+ args: coreClient.OperationArguments,
247
+ spec: coreClient.OperationSpec
248
+ ) => {
249
+ let currentRawResponse:
250
+ | coreClient.FullOperationResponse
251
+ | undefined = undefined;
252
+ const providedCallback = args.options?.onResponse;
253
+ const callback: coreClient.RawResponseCallback = (
254
+ rawResponse: coreClient.FullOperationResponse,
255
+ flatResponse: unknown
256
+ ) => {
257
+ currentRawResponse = rawResponse;
258
+ providedCallback?.(rawResponse, flatResponse);
259
+ };
260
+ const updatedArgs = {
261
+ ...args,
262
+ options: {
263
+ ...args.options,
264
+ onResponse: callback
265
+ }
266
+ };
267
+ const flatResponse = await directSendOperation(updatedArgs, spec);
268
+ return {
269
+ flatResponse,
270
+ rawResponse: {
271
+ statusCode: currentRawResponse!.status,
272
+ body: currentRawResponse!.parsedBody,
273
+ headers: currentRawResponse!.headers.toJSON()
274
+ }
275
+ };
276
+ };
277
+
278
+ const lro = new LroImpl(
279
+ sendOperation,
280
+ { resourceGroupName, dnsForwardingRulesetName, parameters, options },
281
+ createOrUpdateOperationSpec
282
+ );
283
+ return new LroEngine(lro, {
284
+ resumeFrom: options?.resumeFrom,
285
+ intervalInMs: options?.updateIntervalInMs
286
+ });
287
+ }
288
+
289
+ /**
290
+ * Creates or updates a DNS forwarding ruleset.
291
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
292
+ * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.
293
+ * @param parameters Parameters supplied to the CreateOrUpdate operation.
294
+ * @param options The options parameters.
295
+ */
296
+ async beginCreateOrUpdateAndWait(
297
+ resourceGroupName: string,
298
+ dnsForwardingRulesetName: string,
299
+ parameters: DnsForwardingRuleset,
300
+ options?: DnsForwardingRulesetsCreateOrUpdateOptionalParams
301
+ ): Promise<DnsForwardingRulesetsCreateOrUpdateResponse> {
302
+ const poller = await this.beginCreateOrUpdate(
303
+ resourceGroupName,
304
+ dnsForwardingRulesetName,
305
+ parameters,
306
+ options
307
+ );
308
+ return poller.pollUntilDone();
309
+ }
310
+
311
+ /**
312
+ * Updates a DNS forwarding ruleset.
313
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
314
+ * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.
315
+ * @param parameters Parameters supplied to the Update operation.
316
+ * @param options The options parameters.
317
+ */
318
+ async beginUpdate(
319
+ resourceGroupName: string,
320
+ dnsForwardingRulesetName: string,
321
+ parameters: DnsForwardingRulesetPatch,
322
+ options?: DnsForwardingRulesetsUpdateOptionalParams
323
+ ): Promise<
324
+ PollerLike<
325
+ PollOperationState<DnsForwardingRulesetsUpdateResponse>,
326
+ DnsForwardingRulesetsUpdateResponse
327
+ >
328
+ > {
329
+ const directSendOperation = async (
330
+ args: coreClient.OperationArguments,
331
+ spec: coreClient.OperationSpec
332
+ ): Promise<DnsForwardingRulesetsUpdateResponse> => {
333
+ return this.client.sendOperationRequest(args, spec);
334
+ };
335
+ const sendOperation = async (
336
+ args: coreClient.OperationArguments,
337
+ spec: coreClient.OperationSpec
338
+ ) => {
339
+ let currentRawResponse:
340
+ | coreClient.FullOperationResponse
341
+ | undefined = undefined;
342
+ const providedCallback = args.options?.onResponse;
343
+ const callback: coreClient.RawResponseCallback = (
344
+ rawResponse: coreClient.FullOperationResponse,
345
+ flatResponse: unknown
346
+ ) => {
347
+ currentRawResponse = rawResponse;
348
+ providedCallback?.(rawResponse, flatResponse);
349
+ };
350
+ const updatedArgs = {
351
+ ...args,
352
+ options: {
353
+ ...args.options,
354
+ onResponse: callback
355
+ }
356
+ };
357
+ const flatResponse = await directSendOperation(updatedArgs, spec);
358
+ return {
359
+ flatResponse,
360
+ rawResponse: {
361
+ statusCode: currentRawResponse!.status,
362
+ body: currentRawResponse!.parsedBody,
363
+ headers: currentRawResponse!.headers.toJSON()
364
+ }
365
+ };
366
+ };
367
+
368
+ const lro = new LroImpl(
369
+ sendOperation,
370
+ { resourceGroupName, dnsForwardingRulesetName, parameters, options },
371
+ updateOperationSpec
372
+ );
373
+ return new LroEngine(lro, {
374
+ resumeFrom: options?.resumeFrom,
375
+ intervalInMs: options?.updateIntervalInMs
376
+ });
377
+ }
378
+
379
+ /**
380
+ * Updates a DNS forwarding ruleset.
381
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
382
+ * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.
383
+ * @param parameters Parameters supplied to the Update operation.
384
+ * @param options The options parameters.
385
+ */
386
+ async beginUpdateAndWait(
387
+ resourceGroupName: string,
388
+ dnsForwardingRulesetName: string,
389
+ parameters: DnsForwardingRulesetPatch,
390
+ options?: DnsForwardingRulesetsUpdateOptionalParams
391
+ ): Promise<DnsForwardingRulesetsUpdateResponse> {
392
+ const poller = await this.beginUpdate(
393
+ resourceGroupName,
394
+ dnsForwardingRulesetName,
395
+ parameters,
396
+ options
397
+ );
398
+ return poller.pollUntilDone();
399
+ }
400
+
401
+ /**
402
+ * Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules
403
+ * within the ruleset will be deleted.
404
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
405
+ * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.
406
+ * @param options The options parameters.
407
+ */
408
+ async beginDelete(
409
+ resourceGroupName: string,
410
+ dnsForwardingRulesetName: string,
411
+ options?: DnsForwardingRulesetsDeleteOptionalParams
412
+ ): Promise<PollerLike<PollOperationState<void>, void>> {
413
+ const directSendOperation = async (
414
+ args: coreClient.OperationArguments,
415
+ spec: coreClient.OperationSpec
416
+ ): Promise<void> => {
417
+ return this.client.sendOperationRequest(args, spec);
418
+ };
419
+ const sendOperation = async (
420
+ args: coreClient.OperationArguments,
421
+ spec: coreClient.OperationSpec
422
+ ) => {
423
+ let currentRawResponse:
424
+ | coreClient.FullOperationResponse
425
+ | undefined = undefined;
426
+ const providedCallback = args.options?.onResponse;
427
+ const callback: coreClient.RawResponseCallback = (
428
+ rawResponse: coreClient.FullOperationResponse,
429
+ flatResponse: unknown
430
+ ) => {
431
+ currentRawResponse = rawResponse;
432
+ providedCallback?.(rawResponse, flatResponse);
433
+ };
434
+ const updatedArgs = {
435
+ ...args,
436
+ options: {
437
+ ...args.options,
438
+ onResponse: callback
439
+ }
440
+ };
441
+ const flatResponse = await directSendOperation(updatedArgs, spec);
442
+ return {
443
+ flatResponse,
444
+ rawResponse: {
445
+ statusCode: currentRawResponse!.status,
446
+ body: currentRawResponse!.parsedBody,
447
+ headers: currentRawResponse!.headers.toJSON()
448
+ }
449
+ };
450
+ };
451
+
452
+ const lro = new LroImpl(
453
+ sendOperation,
454
+ { resourceGroupName, dnsForwardingRulesetName, options },
455
+ deleteOperationSpec
456
+ );
457
+ return new LroEngine(lro, {
458
+ resumeFrom: options?.resumeFrom,
459
+ intervalInMs: options?.updateIntervalInMs
460
+ });
461
+ }
462
+
463
+ /**
464
+ * Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules
465
+ * within the ruleset will be deleted.
466
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
467
+ * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.
468
+ * @param options The options parameters.
469
+ */
470
+ async beginDeleteAndWait(
471
+ resourceGroupName: string,
472
+ dnsForwardingRulesetName: string,
473
+ options?: DnsForwardingRulesetsDeleteOptionalParams
474
+ ): Promise<void> {
475
+ const poller = await this.beginDelete(
476
+ resourceGroupName,
477
+ dnsForwardingRulesetName,
478
+ options
479
+ );
480
+ return poller.pollUntilDone();
481
+ }
482
+
483
+ /**
484
+ * Gets a DNS forwarding ruleset properties.
485
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
486
+ * @param dnsForwardingRulesetName The name of the DNS forwarding ruleset.
487
+ * @param options The options parameters.
488
+ */
489
+ get(
490
+ resourceGroupName: string,
491
+ dnsForwardingRulesetName: string,
492
+ options?: DnsForwardingRulesetsGetOptionalParams
493
+ ): Promise<DnsForwardingRulesetsGetResponse> {
494
+ return this.client.sendOperationRequest(
495
+ { resourceGroupName, dnsForwardingRulesetName, options },
496
+ getOperationSpec
497
+ );
498
+ }
499
+
500
+ /**
501
+ * Lists DNS forwarding rulesets within a resource group.
502
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
503
+ * @param options The options parameters.
504
+ */
505
+ private _listByResourceGroup(
506
+ resourceGroupName: string,
507
+ options?: DnsForwardingRulesetsListByResourceGroupOptionalParams
508
+ ): Promise<DnsForwardingRulesetsListByResourceGroupResponse> {
509
+ return this.client.sendOperationRequest(
510
+ { resourceGroupName, options },
511
+ listByResourceGroupOperationSpec
512
+ );
513
+ }
514
+
515
+ /**
516
+ * Lists DNS forwarding rulesets in all resource groups of a subscription.
517
+ * @param options The options parameters.
518
+ */
519
+ private _list(
520
+ options?: DnsForwardingRulesetsListOptionalParams
521
+ ): Promise<DnsForwardingRulesetsListResponse> {
522
+ return this.client.sendOperationRequest({ options }, listOperationSpec);
523
+ }
524
+
525
+ /**
526
+ * Lists DNS forwarding ruleset resource IDs attached to a virtual network.
527
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
528
+ * @param virtualNetworkName The name of the virtual network.
529
+ * @param options The options parameters.
530
+ */
531
+ private _listByVirtualNetwork(
532
+ resourceGroupName: string,
533
+ virtualNetworkName: string,
534
+ options?: DnsForwardingRulesetsListByVirtualNetworkOptionalParams
535
+ ): Promise<DnsForwardingRulesetsListByVirtualNetworkResponse> {
536
+ return this.client.sendOperationRequest(
537
+ { resourceGroupName, virtualNetworkName, options },
538
+ listByVirtualNetworkOperationSpec
539
+ );
540
+ }
541
+
542
+ /**
543
+ * ListByResourceGroupNext
544
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
545
+ * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
546
+ * @param options The options parameters.
547
+ */
548
+ private _listByResourceGroupNext(
549
+ resourceGroupName: string,
550
+ nextLink: string,
551
+ options?: DnsForwardingRulesetsListByResourceGroupNextOptionalParams
552
+ ): Promise<DnsForwardingRulesetsListByResourceGroupNextResponse> {
553
+ return this.client.sendOperationRequest(
554
+ { resourceGroupName, nextLink, options },
555
+ listByResourceGroupNextOperationSpec
556
+ );
557
+ }
558
+
559
+ /**
560
+ * ListNext
561
+ * @param nextLink The nextLink from the previous successful call to the List method.
562
+ * @param options The options parameters.
563
+ */
564
+ private _listNext(
565
+ nextLink: string,
566
+ options?: DnsForwardingRulesetsListNextOptionalParams
567
+ ): Promise<DnsForwardingRulesetsListNextResponse> {
568
+ return this.client.sendOperationRequest(
569
+ { nextLink, options },
570
+ listNextOperationSpec
571
+ );
572
+ }
573
+
574
+ /**
575
+ * ListByVirtualNetworkNext
576
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
577
+ * @param virtualNetworkName The name of the virtual network.
578
+ * @param nextLink The nextLink from the previous successful call to the ListByVirtualNetwork method.
579
+ * @param options The options parameters.
580
+ */
581
+ private _listByVirtualNetworkNext(
582
+ resourceGroupName: string,
583
+ virtualNetworkName: string,
584
+ nextLink: string,
585
+ options?: DnsForwardingRulesetsListByVirtualNetworkNextOptionalParams
586
+ ): Promise<DnsForwardingRulesetsListByVirtualNetworkNextResponse> {
587
+ return this.client.sendOperationRequest(
588
+ { resourceGroupName, virtualNetworkName, nextLink, options },
589
+ listByVirtualNetworkNextOperationSpec
590
+ );
591
+ }
592
+ }
593
+ // Operation Specifications
594
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
595
+
596
+ const createOrUpdateOperationSpec: coreClient.OperationSpec = {
597
+ path:
598
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",
599
+ httpMethod: "PUT",
600
+ responses: {
601
+ 200: {
602
+ bodyMapper: Mappers.DnsForwardingRuleset
603
+ },
604
+ 201: {
605
+ bodyMapper: Mappers.DnsForwardingRuleset
606
+ },
607
+ 202: {
608
+ bodyMapper: Mappers.DnsForwardingRuleset
609
+ },
610
+ 204: {
611
+ bodyMapper: Mappers.DnsForwardingRuleset
612
+ },
613
+ default: {
614
+ bodyMapper: Mappers.CloudError
615
+ }
616
+ },
617
+ requestBody: Parameters.parameters6,
618
+ queryParameters: [Parameters.apiVersion],
619
+ urlParameters: [
620
+ Parameters.$host,
621
+ Parameters.subscriptionId,
622
+ Parameters.resourceGroupName,
623
+ Parameters.dnsForwardingRulesetName
624
+ ],
625
+ headerParameters: [
626
+ Parameters.contentType,
627
+ Parameters.accept,
628
+ Parameters.ifMatch,
629
+ Parameters.ifNoneMatch
630
+ ],
631
+ mediaType: "json",
632
+ serializer
633
+ };
634
+ const updateOperationSpec: coreClient.OperationSpec = {
635
+ path:
636
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",
637
+ httpMethod: "PATCH",
638
+ responses: {
639
+ 200: {
640
+ bodyMapper: Mappers.DnsForwardingRuleset
641
+ },
642
+ 201: {
643
+ bodyMapper: Mappers.DnsForwardingRuleset
644
+ },
645
+ 202: {
646
+ bodyMapper: Mappers.DnsForwardingRuleset
647
+ },
648
+ 204: {
649
+ bodyMapper: Mappers.DnsForwardingRuleset
650
+ },
651
+ default: {
652
+ bodyMapper: Mappers.CloudError
653
+ }
654
+ },
655
+ requestBody: Parameters.parameters7,
656
+ queryParameters: [Parameters.apiVersion],
657
+ urlParameters: [
658
+ Parameters.$host,
659
+ Parameters.subscriptionId,
660
+ Parameters.resourceGroupName,
661
+ Parameters.dnsForwardingRulesetName
662
+ ],
663
+ headerParameters: [
664
+ Parameters.contentType,
665
+ Parameters.accept,
666
+ Parameters.ifMatch
667
+ ],
668
+ mediaType: "json",
669
+ serializer
670
+ };
671
+ const deleteOperationSpec: coreClient.OperationSpec = {
672
+ path:
673
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",
674
+ httpMethod: "DELETE",
675
+ responses: {
676
+ 200: {},
677
+ 201: {},
678
+ 202: {},
679
+ 204: {},
680
+ default: {
681
+ bodyMapper: Mappers.CloudError
682
+ }
683
+ },
684
+ queryParameters: [Parameters.apiVersion],
685
+ urlParameters: [
686
+ Parameters.$host,
687
+ Parameters.subscriptionId,
688
+ Parameters.resourceGroupName,
689
+ Parameters.dnsForwardingRulesetName
690
+ ],
691
+ headerParameters: [Parameters.accept, Parameters.ifMatch],
692
+ serializer
693
+ };
694
+ const getOperationSpec: coreClient.OperationSpec = {
695
+ path:
696
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}",
697
+ httpMethod: "GET",
698
+ responses: {
699
+ 200: {
700
+ bodyMapper: Mappers.DnsForwardingRuleset
701
+ },
702
+ default: {
703
+ bodyMapper: Mappers.CloudError
704
+ }
705
+ },
706
+ queryParameters: [Parameters.apiVersion],
707
+ urlParameters: [
708
+ Parameters.$host,
709
+ Parameters.subscriptionId,
710
+ Parameters.resourceGroupName,
711
+ Parameters.dnsForwardingRulesetName
712
+ ],
713
+ headerParameters: [Parameters.accept],
714
+ serializer
715
+ };
716
+ const listByResourceGroupOperationSpec: coreClient.OperationSpec = {
717
+ path:
718
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets",
719
+ httpMethod: "GET",
720
+ responses: {
721
+ 200: {
722
+ bodyMapper: Mappers.DnsForwardingRulesetListResult
723
+ },
724
+ default: {
725
+ bodyMapper: Mappers.CloudError
726
+ }
727
+ },
728
+ queryParameters: [Parameters.apiVersion, Parameters.top],
729
+ urlParameters: [
730
+ Parameters.$host,
731
+ Parameters.subscriptionId,
732
+ Parameters.resourceGroupName
733
+ ],
734
+ headerParameters: [Parameters.accept],
735
+ serializer
736
+ };
737
+ const listOperationSpec: coreClient.OperationSpec = {
738
+ path:
739
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsForwardingRulesets",
740
+ httpMethod: "GET",
741
+ responses: {
742
+ 200: {
743
+ bodyMapper: Mappers.DnsForwardingRulesetListResult
744
+ },
745
+ default: {
746
+ bodyMapper: Mappers.CloudError
747
+ }
748
+ },
749
+ queryParameters: [Parameters.apiVersion, Parameters.top],
750
+ urlParameters: [Parameters.$host, Parameters.subscriptionId],
751
+ headerParameters: [Parameters.accept],
752
+ serializer
753
+ };
754
+ const listByVirtualNetworkOperationSpec: coreClient.OperationSpec = {
755
+ path:
756
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsForwardingRulesets",
757
+ httpMethod: "POST",
758
+ responses: {
759
+ 200: {
760
+ bodyMapper: Mappers.VirtualNetworkDnsForwardingRulesetListResult
761
+ },
762
+ default: {
763
+ bodyMapper: Mappers.CloudError
764
+ }
765
+ },
766
+ queryParameters: [Parameters.apiVersion, Parameters.top],
767
+ urlParameters: [
768
+ Parameters.$host,
769
+ Parameters.subscriptionId,
770
+ Parameters.resourceGroupName,
771
+ Parameters.virtualNetworkName
772
+ ],
773
+ headerParameters: [Parameters.accept],
774
+ serializer
775
+ };
776
+ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {
777
+ path: "{nextLink}",
778
+ httpMethod: "GET",
779
+ responses: {
780
+ 200: {
781
+ bodyMapper: Mappers.DnsForwardingRulesetListResult
782
+ },
783
+ default: {
784
+ bodyMapper: Mappers.CloudError
785
+ }
786
+ },
787
+ queryParameters: [Parameters.apiVersion, Parameters.top],
788
+ urlParameters: [
789
+ Parameters.$host,
790
+ Parameters.subscriptionId,
791
+ Parameters.resourceGroupName,
792
+ Parameters.nextLink
793
+ ],
794
+ headerParameters: [Parameters.accept],
795
+ serializer
796
+ };
797
+ const listNextOperationSpec: coreClient.OperationSpec = {
798
+ path: "{nextLink}",
799
+ httpMethod: "GET",
800
+ responses: {
801
+ 200: {
802
+ bodyMapper: Mappers.DnsForwardingRulesetListResult
803
+ },
804
+ default: {
805
+ bodyMapper: Mappers.CloudError
806
+ }
807
+ },
808
+ queryParameters: [Parameters.apiVersion, Parameters.top],
809
+ urlParameters: [
810
+ Parameters.$host,
811
+ Parameters.subscriptionId,
812
+ Parameters.nextLink
813
+ ],
814
+ headerParameters: [Parameters.accept],
815
+ serializer
816
+ };
817
+ const listByVirtualNetworkNextOperationSpec: coreClient.OperationSpec = {
818
+ path: "{nextLink}",
819
+ httpMethod: "GET",
820
+ responses: {
821
+ 200: {
822
+ bodyMapper: Mappers.VirtualNetworkDnsForwardingRulesetListResult
823
+ },
824
+ default: {
825
+ bodyMapper: Mappers.CloudError
826
+ }
827
+ },
828
+ queryParameters: [Parameters.apiVersion, Parameters.top],
829
+ urlParameters: [
830
+ Parameters.$host,
831
+ Parameters.subscriptionId,
832
+ Parameters.resourceGroupName,
833
+ Parameters.virtualNetworkName,
834
+ Parameters.nextLink
835
+ ],
836
+ headerParameters: [Parameters.accept],
837
+ serializer
838
+ };