@azure/arm-hardwaresecuritymodules 1.0.0-alpha.20220401.3

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