@azure/arm-elasticsan 1.0.0-beta.1 → 1.0.0-beta.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 (197) hide show
  1. package/CHANGELOG.md +69 -1
  2. package/LICENSE +1 -1
  3. package/README.md +1 -1
  4. package/dist/index.js +2839 -1192
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +1 -1
  7. package/dist/index.min.js.map +1 -1
  8. package/dist-esm/samples-dev/elasticSansCreateSample.js +26 -17
  9. package/dist-esm/samples-dev/elasticSansCreateSample.js.map +1 -1
  10. package/dist-esm/samples-dev/elasticSansDeleteSample.js +17 -10
  11. package/dist-esm/samples-dev/elasticSansDeleteSample.js.map +1 -1
  12. package/dist-esm/samples-dev/elasticSansGetSample.js +17 -10
  13. package/dist-esm/samples-dev/elasticSansGetSample.js.map +1 -1
  14. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.js +39 -18
  15. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.js.map +1 -1
  16. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.js +37 -16
  17. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.js.map +1 -1
  18. package/dist-esm/samples-dev/elasticSansUpdateSample.js +21 -13
  19. package/dist-esm/samples-dev/elasticSansUpdateSample.js.map +1 -1
  20. package/dist-esm/samples-dev/operationsListSample.js +39 -16
  21. package/dist-esm/samples-dev/operationsListSample.js.map +1 -1
  22. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.d.ts +2 -0
  23. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.d.ts.map +1 -0
  24. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.js +70 -0
  25. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.js.map +1 -0
  26. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.d.ts +2 -0
  27. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.d.ts.map +1 -0
  28. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.js +58 -0
  29. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.js.map +1 -0
  30. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.d.ts +2 -0
  31. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.d.ts.map +1 -0
  32. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.js +58 -0
  33. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.js.map +1 -0
  34. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.d.ts +2 -0
  35. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.d.ts.map +1 -0
  36. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js +98 -0
  37. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js.map +1 -0
  38. package/dist-esm/samples-dev/privateLinkResourcesListByElasticSanSample.d.ts +2 -0
  39. package/dist-esm/samples-dev/privateLinkResourcesListByElasticSanSample.d.ts.map +1 -0
  40. package/dist-esm/samples-dev/privateLinkResourcesListByElasticSanSample.js +56 -0
  41. package/dist-esm/samples-dev/privateLinkResourcesListByElasticSanSample.js.map +1 -0
  42. package/dist-esm/samples-dev/skusListSample.js +38 -17
  43. package/dist-esm/samples-dev/skusListSample.js.map +1 -1
  44. package/dist-esm/samples-dev/volumeGroupsCreateSample.js +34 -16
  45. package/dist-esm/samples-dev/volumeGroupsCreateSample.js.map +1 -1
  46. package/dist-esm/samples-dev/volumeGroupsDeleteSample.js +19 -12
  47. package/dist-esm/samples-dev/volumeGroupsDeleteSample.js.map +1 -1
  48. package/dist-esm/samples-dev/volumeGroupsGetSample.js +19 -12
  49. package/dist-esm/samples-dev/volumeGroupsGetSample.js.map +1 -1
  50. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.js +41 -20
  51. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.js.map +1 -1
  52. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js +33 -15
  53. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js.map +1 -1
  54. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.d.ts +2 -0
  55. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.d.ts.map +1 -0
  56. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.js +70 -0
  57. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.js.map +1 -0
  58. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.d.ts +2 -0
  59. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.d.ts.map +1 -0
  60. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.js +60 -0
  61. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.js.map +1 -0
  62. package/dist-esm/samples-dev/volumeSnapshotsGetSample.d.ts +2 -0
  63. package/dist-esm/samples-dev/volumeSnapshotsGetSample.d.ts.map +1 -0
  64. package/dist-esm/samples-dev/volumeSnapshotsGetSample.js +60 -0
  65. package/dist-esm/samples-dev/volumeSnapshotsGetSample.js.map +1 -0
  66. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.d.ts +2 -0
  67. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.d.ts.map +1 -0
  68. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.js +102 -0
  69. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.js.map +1 -0
  70. package/dist-esm/samples-dev/volumesCreateSample.js +25 -18
  71. package/dist-esm/samples-dev/volumesCreateSample.js.map +1 -1
  72. package/dist-esm/samples-dev/volumesDeleteSample.js +28 -15
  73. package/dist-esm/samples-dev/volumesDeleteSample.js.map +1 -1
  74. package/dist-esm/samples-dev/volumesGetSample.js +21 -14
  75. package/dist-esm/samples-dev/volumesGetSample.js.map +1 -1
  76. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.js +43 -22
  77. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.js.map +1 -1
  78. package/dist-esm/samples-dev/volumesUpdateSample.js +22 -18
  79. package/dist-esm/samples-dev/volumesUpdateSample.js.map +1 -1
  80. package/dist-esm/src/elasticSanManagement.d.ts +4 -1
  81. package/dist-esm/src/elasticSanManagement.d.ts.map +1 -1
  82. package/dist-esm/src/elasticSanManagement.js +9 -9
  83. package/dist-esm/src/elasticSanManagement.js.map +1 -1
  84. package/dist-esm/src/index.d.ts +1 -0
  85. package/dist-esm/src/index.d.ts.map +1 -1
  86. package/dist-esm/src/index.js +1 -0
  87. package/dist-esm/src/index.js.map +1 -1
  88. package/dist-esm/src/lroImpl.d.ts +6 -11
  89. package/dist-esm/src/lroImpl.d.ts.map +1 -1
  90. package/dist-esm/src/lroImpl.js +12 -20
  91. package/dist-esm/src/lroImpl.js.map +1 -1
  92. package/dist-esm/src/models/index.d.ts +613 -135
  93. package/dist-esm/src/models/index.d.ts.map +1 -1
  94. package/dist-esm/src/models/index.js +84 -0
  95. package/dist-esm/src/models/index.js.map +1 -1
  96. package/dist-esm/src/models/mappers.d.ts +30 -6
  97. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  98. package/dist-esm/src/models/mappers.js +704 -133
  99. package/dist-esm/src/models/mappers.js.map +1 -1
  100. package/dist-esm/src/models/parameters.d.ts +6 -0
  101. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  102. package/dist-esm/src/models/parameters.js +53 -3
  103. package/dist-esm/src/models/parameters.js.map +1 -1
  104. package/dist-esm/src/operations/elasticSans.d.ts +4 -4
  105. package/dist-esm/src/operations/elasticSans.d.ts.map +1 -1
  106. package/dist-esm/src/operations/elasticSans.js +98 -51
  107. package/dist-esm/src/operations/elasticSans.js.map +1 -1
  108. package/dist-esm/src/operations/index.d.ts +3 -0
  109. package/dist-esm/src/operations/index.d.ts.map +1 -1
  110. package/dist-esm/src/operations/index.js +3 -0
  111. package/dist-esm/src/operations/index.js.map +1 -1
  112. package/dist-esm/src/operations/operations.d.ts +2 -2
  113. package/dist-esm/src/operations/operations.d.ts.map +1 -1
  114. package/dist-esm/src/operations/operations.js +22 -11
  115. package/dist-esm/src/operations/operations.js.map +1 -1
  116. package/dist-esm/src/operations/privateEndpointConnections.d.ts +73 -0
  117. package/dist-esm/src/operations/privateEndpointConnections.d.ts.map +1 -0
  118. package/dist-esm/src/operations/privateEndpointConnections.js +334 -0
  119. package/dist-esm/src/operations/privateEndpointConnections.js.map +1 -0
  120. package/dist-esm/src/operations/privateLinkResources.d.ts +20 -0
  121. package/dist-esm/src/operations/privateLinkResources.d.ts.map +1 -0
  122. package/dist-esm/src/operations/privateLinkResources.js +53 -0
  123. package/dist-esm/src/operations/privateLinkResources.js.map +1 -0
  124. package/dist-esm/src/operations/skus.d.ts.map +1 -1
  125. package/dist-esm/src/operations/skus.js +21 -10
  126. package/dist-esm/src/operations/skus.js.map +1 -1
  127. package/dist-esm/src/operations/volumeGroups.d.ts +4 -4
  128. package/dist-esm/src/operations/volumeGroups.d.ts.map +1 -1
  129. package/dist-esm/src/operations/volumeGroups.js +78 -48
  130. package/dist-esm/src/operations/volumeGroups.js.map +1 -1
  131. package/dist-esm/src/operations/volumeSnapshots.d.ts +89 -0
  132. package/dist-esm/src/operations/volumeSnapshots.d.ts.map +1 -0
  133. package/dist-esm/src/operations/volumeSnapshots.js +395 -0
  134. package/dist-esm/src/operations/volumeSnapshots.js.map +1 -0
  135. package/dist-esm/src/operations/volumes.d.ts +4 -4
  136. package/dist-esm/src/operations/volumes.d.ts.map +1 -1
  137. package/dist-esm/src/operations/volumes.js +91 -57
  138. package/dist-esm/src/operations/volumes.js.map +1 -1
  139. package/dist-esm/src/operationsInterfaces/elasticSans.d.ts +4 -4
  140. package/dist-esm/src/operationsInterfaces/elasticSans.d.ts.map +1 -1
  141. package/dist-esm/src/operationsInterfaces/index.d.ts +3 -0
  142. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  143. package/dist-esm/src/operationsInterfaces/index.js +3 -0
  144. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  145. package/dist-esm/src/operationsInterfaces/operations.d.ts +2 -2
  146. package/dist-esm/src/operationsInterfaces/operations.d.ts.map +1 -1
  147. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.d.ts +56 -0
  148. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.d.ts.map +1 -0
  149. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.js +9 -0
  150. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.js.map +1 -0
  151. package/dist-esm/src/operationsInterfaces/privateLinkResources.d.ts +12 -0
  152. package/dist-esm/src/operationsInterfaces/privateLinkResources.d.ts.map +1 -0
  153. package/dist-esm/src/operationsInterfaces/privateLinkResources.js +9 -0
  154. package/dist-esm/src/operationsInterfaces/privateLinkResources.js.map +1 -0
  155. package/dist-esm/src/operationsInterfaces/volumeGroups.d.ts +4 -4
  156. package/dist-esm/src/operationsInterfaces/volumeGroups.d.ts.map +1 -1
  157. package/dist-esm/src/operationsInterfaces/volumeSnapshots.d.ts +62 -0
  158. package/dist-esm/src/operationsInterfaces/volumeSnapshots.d.ts.map +1 -0
  159. package/dist-esm/src/operationsInterfaces/volumeSnapshots.js +9 -0
  160. package/dist-esm/src/operationsInterfaces/volumeSnapshots.js.map +1 -0
  161. package/dist-esm/src/operationsInterfaces/volumes.d.ts +4 -4
  162. package/dist-esm/src/operationsInterfaces/volumes.d.ts.map +1 -1
  163. package/dist-esm/src/pagingHelper.d.ts +13 -0
  164. package/dist-esm/src/pagingHelper.d.ts.map +1 -0
  165. package/dist-esm/src/pagingHelper.js +32 -0
  166. package/dist-esm/src/pagingHelper.js.map +1 -0
  167. package/dist-esm/test/elasticsan_examples.spec.js +12 -5
  168. package/dist-esm/test/elasticsan_examples.spec.js.map +1 -1
  169. package/package.json +18 -23
  170. package/review/arm-elasticsan.api.md +416 -66
  171. package/src/elasticSanManagement.ts +20 -9
  172. package/src/index.ts +1 -0
  173. package/src/lroImpl.ts +31 -23
  174. package/src/models/index.ts +648 -109
  175. package/src/models/mappers.ts +749 -130
  176. package/src/models/parameters.ts +61 -3
  177. package/src/operations/elasticSans.ts +97 -60
  178. package/src/operations/index.ts +3 -0
  179. package/src/operations/operations.ts +16 -11
  180. package/src/operations/privateEndpointConnections.ts +450 -0
  181. package/src/operations/privateLinkResources.ts +72 -0
  182. package/src/operations/skus.ts +11 -6
  183. package/src/operations/volumeGroups.ts +76 -53
  184. package/src/operations/volumeSnapshots.ts +551 -0
  185. package/src/operations/volumes.ts +87 -54
  186. package/src/operationsInterfaces/elasticSans.ts +6 -6
  187. package/src/operationsInterfaces/index.ts +3 -0
  188. package/src/operationsInterfaces/operations.ts +2 -2
  189. package/src/operationsInterfaces/privateEndpointConnections.ts +109 -0
  190. package/src/operationsInterfaces/privateLinkResources.ts +27 -0
  191. package/src/operationsInterfaces/volumeGroups.ts +6 -6
  192. package/src/operationsInterfaces/volumeSnapshots.ts +121 -0
  193. package/src/operationsInterfaces/volumes.ts +10 -4
  194. package/src/pagingHelper.ts +39 -0
  195. package/types/arm-elasticsan.d.ts +784 -112
  196. package/types/tsdoc-metadata.json +1 -1
  197. package/rollup.config.js +0 -122
@@ -6,18 +6,24 @@
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
8
 
9
- import { PagedAsyncIterableIterator } from "@azure/core-paging";
9
+ import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging";
10
+ import { setContinuationToken } from "../pagingHelper";
10
11
  import { Volumes } from "../operationsInterfaces";
11
12
  import * as coreClient from "@azure/core-client";
12
13
  import * as Mappers from "../models/mappers";
13
14
  import * as Parameters from "../models/parameters";
14
15
  import { ElasticSanManagement } from "../elasticSanManagement";
15
- import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro";
16
- import { LroImpl } from "../lroImpl";
16
+ import {
17
+ SimplePollerLike,
18
+ OperationState,
19
+ createHttpPoller
20
+ } from "@azure/core-lro";
21
+ import { createLroSpec } from "../lroImpl";
17
22
  import {
18
23
  Volume,
19
24
  VolumesListByVolumeGroupNextOptionalParams,
20
25
  VolumesListByVolumeGroupOptionalParams,
26
+ VolumesListByVolumeGroupResponse,
21
27
  VolumesCreateOptionalParams,
22
28
  VolumesCreateResponse,
23
29
  VolumeUpdate,
@@ -26,7 +32,6 @@ import {
26
32
  VolumesDeleteOptionalParams,
27
33
  VolumesGetOptionalParams,
28
34
  VolumesGetResponse,
29
- VolumesListByVolumeGroupResponse,
30
35
  VolumesListByVolumeGroupNextResponse
31
36
  } from "../models";
32
37
 
@@ -69,12 +74,16 @@ export class VolumesImpl implements Volumes {
69
74
  [Symbol.asyncIterator]() {
70
75
  return this;
71
76
  },
72
- byPage: () => {
77
+ byPage: (settings?: PageSettings) => {
78
+ if (settings?.maxPageSize) {
79
+ throw new Error("maxPageSize is not supported by this operation.");
80
+ }
73
81
  return this.listByVolumeGroupPagingPage(
74
82
  resourceGroupName,
75
83
  elasticSanName,
76
84
  volumeGroupName,
77
- options
85
+ options,
86
+ settings
78
87
  );
79
88
  }
80
89
  };
@@ -84,16 +93,23 @@ export class VolumesImpl implements Volumes {
84
93
  resourceGroupName: string,
85
94
  elasticSanName: string,
86
95
  volumeGroupName: string,
87
- options?: VolumesListByVolumeGroupOptionalParams
96
+ options?: VolumesListByVolumeGroupOptionalParams,
97
+ settings?: PageSettings
88
98
  ): AsyncIterableIterator<Volume[]> {
89
- let result = await this._listByVolumeGroup(
90
- resourceGroupName,
91
- elasticSanName,
92
- volumeGroupName,
93
- options
94
- );
95
- yield result.value || [];
96
- let continuationToken = result.nextLink;
99
+ let result: VolumesListByVolumeGroupResponse;
100
+ let continuationToken = settings?.continuationToken;
101
+ if (!continuationToken) {
102
+ result = await this._listByVolumeGroup(
103
+ resourceGroupName,
104
+ elasticSanName,
105
+ volumeGroupName,
106
+ options
107
+ );
108
+ let page = result.value || [];
109
+ continuationToken = result.nextLink;
110
+ setContinuationToken(page, continuationToken);
111
+ yield page;
112
+ }
97
113
  while (continuationToken) {
98
114
  result = await this._listByVolumeGroupNext(
99
115
  resourceGroupName,
@@ -103,7 +119,9 @@ export class VolumesImpl implements Volumes {
103
119
  options
104
120
  );
105
121
  continuationToken = result.nextLink;
106
- yield result.value || [];
122
+ let page = result.value || [];
123
+ setContinuationToken(page, continuationToken);
124
+ yield page;
107
125
  }
108
126
  }
109
127
 
@@ -140,7 +158,10 @@ export class VolumesImpl implements Volumes {
140
158
  parameters: Volume,
141
159
  options?: VolumesCreateOptionalParams
142
160
  ): Promise<
143
- PollerLike<PollOperationState<VolumesCreateResponse>, VolumesCreateResponse>
161
+ SimplePollerLike<
162
+ OperationState<VolumesCreateResponse>,
163
+ VolumesCreateResponse
164
+ >
144
165
  > {
145
166
  const directSendOperation = async (
146
167
  args: coreClient.OperationArguments,
@@ -148,7 +169,7 @@ export class VolumesImpl implements Volumes {
148
169
  ): Promise<VolumesCreateResponse> => {
149
170
  return this.client.sendOperationRequest(args, spec);
150
171
  };
151
- const sendOperation = async (
172
+ const sendOperationFn = async (
152
173
  args: coreClient.OperationArguments,
153
174
  spec: coreClient.OperationSpec
154
175
  ) => {
@@ -181,9 +202,9 @@ export class VolumesImpl implements Volumes {
181
202
  };
182
203
  };
183
204
 
184
- const lro = new LroImpl(
185
- sendOperation,
186
- {
205
+ const lro = createLroSpec({
206
+ sendOperationFn,
207
+ args: {
187
208
  resourceGroupName,
188
209
  elasticSanName,
189
210
  volumeGroupName,
@@ -191,12 +212,15 @@ export class VolumesImpl implements Volumes {
191
212
  parameters,
192
213
  options
193
214
  },
194
- createOperationSpec
195
- );
196
- const poller = new LroEngine(lro, {
197
- resumeFrom: options?.resumeFrom,
215
+ spec: createOperationSpec
216
+ });
217
+ const poller = await createHttpPoller<
218
+ VolumesCreateResponse,
219
+ OperationState<VolumesCreateResponse>
220
+ >(lro, {
221
+ restoreFrom: options?.resumeFrom,
198
222
  intervalInMs: options?.updateIntervalInMs,
199
- lroResourceLocationConfig: "azure-async-operation"
223
+ resourceLocationConfig: "location"
200
224
  });
201
225
  await poller.poll();
202
226
  return poller;
@@ -247,7 +271,10 @@ export class VolumesImpl implements Volumes {
247
271
  parameters: VolumeUpdate,
248
272
  options?: VolumesUpdateOptionalParams
249
273
  ): Promise<
250
- PollerLike<PollOperationState<VolumesUpdateResponse>, VolumesUpdateResponse>
274
+ SimplePollerLike<
275
+ OperationState<VolumesUpdateResponse>,
276
+ VolumesUpdateResponse
277
+ >
251
278
  > {
252
279
  const directSendOperation = async (
253
280
  args: coreClient.OperationArguments,
@@ -255,7 +282,7 @@ export class VolumesImpl implements Volumes {
255
282
  ): Promise<VolumesUpdateResponse> => {
256
283
  return this.client.sendOperationRequest(args, spec);
257
284
  };
258
- const sendOperation = async (
285
+ const sendOperationFn = async (
259
286
  args: coreClient.OperationArguments,
260
287
  spec: coreClient.OperationSpec
261
288
  ) => {
@@ -288,9 +315,9 @@ export class VolumesImpl implements Volumes {
288
315
  };
289
316
  };
290
317
 
291
- const lro = new LroImpl(
292
- sendOperation,
293
- {
318
+ const lro = createLroSpec({
319
+ sendOperationFn,
320
+ args: {
294
321
  resourceGroupName,
295
322
  elasticSanName,
296
323
  volumeGroupName,
@@ -298,12 +325,15 @@ export class VolumesImpl implements Volumes {
298
325
  parameters,
299
326
  options
300
327
  },
301
- updateOperationSpec
302
- );
303
- const poller = new LroEngine(lro, {
304
- resumeFrom: options?.resumeFrom,
328
+ spec: updateOperationSpec
329
+ });
330
+ const poller = await createHttpPoller<
331
+ VolumesUpdateResponse,
332
+ OperationState<VolumesUpdateResponse>
333
+ >(lro, {
334
+ restoreFrom: options?.resumeFrom,
305
335
  intervalInMs: options?.updateIntervalInMs,
306
- lroResourceLocationConfig: "azure-async-operation"
336
+ resourceLocationConfig: "location"
307
337
  });
308
338
  await poller.poll();
309
339
  return poller;
@@ -351,14 +381,14 @@ export class VolumesImpl implements Volumes {
351
381
  volumeGroupName: string,
352
382
  volumeName: string,
353
383
  options?: VolumesDeleteOptionalParams
354
- ): Promise<PollerLike<PollOperationState<void>, void>> {
384
+ ): Promise<SimplePollerLike<OperationState<void>, void>> {
355
385
  const directSendOperation = async (
356
386
  args: coreClient.OperationArguments,
357
387
  spec: coreClient.OperationSpec
358
388
  ): Promise<void> => {
359
389
  return this.client.sendOperationRequest(args, spec);
360
390
  };
361
- const sendOperation = async (
391
+ const sendOperationFn = async (
362
392
  args: coreClient.OperationArguments,
363
393
  spec: coreClient.OperationSpec
364
394
  ) => {
@@ -391,21 +421,21 @@ export class VolumesImpl implements Volumes {
391
421
  };
392
422
  };
393
423
 
394
- const lro = new LroImpl(
395
- sendOperation,
396
- {
424
+ const lro = createLroSpec({
425
+ sendOperationFn,
426
+ args: {
397
427
  resourceGroupName,
398
428
  elasticSanName,
399
429
  volumeGroupName,
400
430
  volumeName,
401
431
  options
402
432
  },
403
- deleteOperationSpec
404
- );
405
- const poller = new LroEngine(lro, {
406
- resumeFrom: options?.resumeFrom,
433
+ spec: deleteOperationSpec
434
+ });
435
+ const poller = await createHttpPoller<void, OperationState<void>>(lro, {
436
+ restoreFrom: options?.resumeFrom,
407
437
  intervalInMs: options?.updateIntervalInMs,
408
- lroResourceLocationConfig: "azure-async-operation"
438
+ resourceLocationConfig: "location"
409
439
  });
410
440
  await poller.poll();
411
441
  return poller;
@@ -524,7 +554,7 @@ const createOperationSpec: coreClient.OperationSpec = {
524
554
  bodyMapper: Mappers.Volume
525
555
  },
526
556
  default: {
527
- bodyMapper: Mappers.ErrorModel
557
+ bodyMapper: Mappers.ErrorResponse
528
558
  }
529
559
  },
530
560
  requestBody: Parameters.parameters4,
@@ -559,7 +589,7 @@ const updateOperationSpec: coreClient.OperationSpec = {
559
589
  bodyMapper: Mappers.Volume
560
590
  },
561
591
  default: {
562
- bodyMapper: Mappers.ErrorModel
592
+ bodyMapper: Mappers.ErrorResponse
563
593
  }
564
594
  },
565
595
  requestBody: Parameters.parameters5,
@@ -586,7 +616,7 @@ const deleteOperationSpec: coreClient.OperationSpec = {
586
616
  202: {},
587
617
  204: {},
588
618
  default: {
589
- bodyMapper: Mappers.ErrorModel
619
+ bodyMapper: Mappers.ErrorResponse
590
620
  }
591
621
  },
592
622
  queryParameters: [Parameters.apiVersion],
@@ -598,7 +628,11 @@ const deleteOperationSpec: coreClient.OperationSpec = {
598
628
  Parameters.volumeGroupName,
599
629
  Parameters.volumeName
600
630
  ],
601
- headerParameters: [Parameters.accept],
631
+ headerParameters: [
632
+ Parameters.accept,
633
+ Parameters.xMsDeleteSnapshots,
634
+ Parameters.xMsForceDelete
635
+ ],
602
636
  serializer
603
637
  };
604
638
  const getOperationSpec: coreClient.OperationSpec = {
@@ -610,7 +644,7 @@ const getOperationSpec: coreClient.OperationSpec = {
610
644
  bodyMapper: Mappers.Volume
611
645
  },
612
646
  default: {
613
- bodyMapper: Mappers.ErrorModel
647
+ bodyMapper: Mappers.ErrorResponse
614
648
  }
615
649
  },
616
650
  queryParameters: [Parameters.apiVersion],
@@ -634,7 +668,7 @@ const listByVolumeGroupOperationSpec: coreClient.OperationSpec = {
634
668
  bodyMapper: Mappers.VolumeList
635
669
  },
636
670
  default: {
637
- bodyMapper: Mappers.ErrorModel
671
+ bodyMapper: Mappers.ErrorResponse
638
672
  }
639
673
  },
640
674
  queryParameters: [Parameters.apiVersion],
@@ -656,10 +690,9 @@ const listByVolumeGroupNextOperationSpec: coreClient.OperationSpec = {
656
690
  bodyMapper: Mappers.VolumeList
657
691
  },
658
692
  default: {
659
- bodyMapper: Mappers.ErrorModel
693
+ bodyMapper: Mappers.ErrorResponse
660
694
  }
661
695
  },
662
- queryParameters: [Parameters.apiVersion],
663
696
  urlParameters: [
664
697
  Parameters.$host,
665
698
  Parameters.subscriptionId,
@@ -7,7 +7,7 @@
7
7
  */
8
8
 
9
9
  import { PagedAsyncIterableIterator } from "@azure/core-paging";
10
- import { PollerLike, PollOperationState } from "@azure/core-lro";
10
+ import { SimplePollerLike, OperationState } from "@azure/core-lro";
11
11
  import {
12
12
  ElasticSan,
13
13
  ElasticSansListBySubscriptionOptionalParams,
@@ -54,8 +54,8 @@ export interface ElasticSans {
54
54
  parameters: ElasticSan,
55
55
  options?: ElasticSansCreateOptionalParams
56
56
  ): Promise<
57
- PollerLike<
58
- PollOperationState<ElasticSansCreateResponse>,
57
+ SimplePollerLike<
58
+ OperationState<ElasticSansCreateResponse>,
59
59
  ElasticSansCreateResponse
60
60
  >
61
61
  >;
@@ -85,8 +85,8 @@ export interface ElasticSans {
85
85
  parameters: ElasticSanUpdate,
86
86
  options?: ElasticSansUpdateOptionalParams
87
87
  ): Promise<
88
- PollerLike<
89
- PollOperationState<ElasticSansUpdateResponse>,
88
+ SimplePollerLike<
89
+ OperationState<ElasticSansUpdateResponse>,
90
90
  ElasticSansUpdateResponse
91
91
  >
92
92
  >;
@@ -113,7 +113,7 @@ export interface ElasticSans {
113
113
  resourceGroupName: string,
114
114
  elasticSanName: string,
115
115
  options?: ElasticSansDeleteOptionalParams
116
- ): Promise<PollerLike<PollOperationState<void>, void>>;
116
+ ): Promise<SimplePollerLike<OperationState<void>, void>>;
117
117
  /**
118
118
  * Delete a Elastic San.
119
119
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
@@ -11,3 +11,6 @@ export * from "./skus";
11
11
  export * from "./elasticSans";
12
12
  export * from "./volumeGroups";
13
13
  export * from "./volumes";
14
+ export * from "./privateEndpointConnections";
15
+ export * from "./privateLinkResources";
16
+ export * from "./volumeSnapshots";
@@ -7,7 +7,7 @@
7
7
  */
8
8
 
9
9
  import { PagedAsyncIterableIterator } from "@azure/core-paging";
10
- import { ElasticSanRPOperation, OperationsListOptionalParams } from "../models";
10
+ import { Operation, OperationsListOptionalParams } from "../models";
11
11
 
12
12
  /// <reference lib="esnext.asynciterable" />
13
13
  /** Interface representing a Operations. */
@@ -18,5 +18,5 @@ export interface Operations {
18
18
  */
19
19
  list(
20
20
  options?: OperationsListOptionalParams
21
- ): PagedAsyncIterableIterator<ElasticSanRPOperation>;
21
+ ): PagedAsyncIterableIterator<Operation>;
22
22
  }
@@ -0,0 +1,109 @@
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 { SimplePollerLike, OperationState } from "@azure/core-lro";
11
+ import {
12
+ PrivateEndpointConnection,
13
+ PrivateEndpointConnectionsListOptionalParams,
14
+ PrivateEndpointConnectionsCreateOptionalParams,
15
+ PrivateEndpointConnectionsCreateResponse,
16
+ PrivateEndpointConnectionsGetOptionalParams,
17
+ PrivateEndpointConnectionsGetResponse,
18
+ PrivateEndpointConnectionsDeleteOptionalParams
19
+ } from "../models";
20
+
21
+ /// <reference lib="esnext.asynciterable" />
22
+ /** Interface representing a PrivateEndpointConnections. */
23
+ export interface PrivateEndpointConnections {
24
+ /**
25
+ * List all Private Endpoint Connections associated with the Elastic San.
26
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
27
+ * @param elasticSanName The name of the ElasticSan.
28
+ * @param options The options parameters.
29
+ */
30
+ list(
31
+ resourceGroupName: string,
32
+ elasticSanName: string,
33
+ options?: PrivateEndpointConnectionsListOptionalParams
34
+ ): PagedAsyncIterableIterator<PrivateEndpointConnection>;
35
+ /**
36
+ * Update the state of specified private endpoint connection associated with the Elastic San
37
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
38
+ * @param elasticSanName The name of the ElasticSan.
39
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
40
+ * @param parameters Private Endpoint Connection Approval object.
41
+ * @param options The options parameters.
42
+ */
43
+ beginCreate(
44
+ resourceGroupName: string,
45
+ elasticSanName: string,
46
+ privateEndpointConnectionName: string,
47
+ parameters: PrivateEndpointConnection,
48
+ options?: PrivateEndpointConnectionsCreateOptionalParams
49
+ ): Promise<
50
+ SimplePollerLike<
51
+ OperationState<PrivateEndpointConnectionsCreateResponse>,
52
+ PrivateEndpointConnectionsCreateResponse
53
+ >
54
+ >;
55
+ /**
56
+ * Update the state of specified private endpoint connection associated with the Elastic San
57
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
58
+ * @param elasticSanName The name of the ElasticSan.
59
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
60
+ * @param parameters Private Endpoint Connection Approval object.
61
+ * @param options The options parameters.
62
+ */
63
+ beginCreateAndWait(
64
+ resourceGroupName: string,
65
+ elasticSanName: string,
66
+ privateEndpointConnectionName: string,
67
+ parameters: PrivateEndpointConnection,
68
+ options?: PrivateEndpointConnectionsCreateOptionalParams
69
+ ): Promise<PrivateEndpointConnectionsCreateResponse>;
70
+ /**
71
+ * Gets the specified private endpoint connection associated with the Elastic San
72
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
73
+ * @param elasticSanName The name of the ElasticSan.
74
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
75
+ * @param options The options parameters.
76
+ */
77
+ get(
78
+ resourceGroupName: string,
79
+ elasticSanName: string,
80
+ privateEndpointConnectionName: string,
81
+ options?: PrivateEndpointConnectionsGetOptionalParams
82
+ ): Promise<PrivateEndpointConnectionsGetResponse>;
83
+ /**
84
+ * Deletes the specified private endpoint connection associated with the Elastic San
85
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
86
+ * @param elasticSanName The name of the ElasticSan.
87
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
88
+ * @param options The options parameters.
89
+ */
90
+ beginDelete(
91
+ resourceGroupName: string,
92
+ elasticSanName: string,
93
+ privateEndpointConnectionName: string,
94
+ options?: PrivateEndpointConnectionsDeleteOptionalParams
95
+ ): Promise<SimplePollerLike<OperationState<void>, void>>;
96
+ /**
97
+ * Deletes the specified private endpoint connection associated with the Elastic San
98
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
99
+ * @param elasticSanName The name of the ElasticSan.
100
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
101
+ * @param options The options parameters.
102
+ */
103
+ beginDeleteAndWait(
104
+ resourceGroupName: string,
105
+ elasticSanName: string,
106
+ privateEndpointConnectionName: string,
107
+ options?: PrivateEndpointConnectionsDeleteOptionalParams
108
+ ): Promise<void>;
109
+ }
@@ -0,0 +1,27 @@
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 {
10
+ PrivateLinkResourcesListByElasticSanOptionalParams,
11
+ PrivateLinkResourcesListByElasticSanResponse
12
+ } from "../models";
13
+
14
+ /** Interface representing a PrivateLinkResources. */
15
+ export interface PrivateLinkResources {
16
+ /**
17
+ * Gets the private link resources that need to be created for a elastic San.
18
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
19
+ * @param elasticSanName The name of the ElasticSan.
20
+ * @param options The options parameters.
21
+ */
22
+ listByElasticSan(
23
+ resourceGroupName: string,
24
+ elasticSanName: string,
25
+ options?: PrivateLinkResourcesListByElasticSanOptionalParams
26
+ ): Promise<PrivateLinkResourcesListByElasticSanResponse>;
27
+ }
@@ -7,7 +7,7 @@
7
7
  */
8
8
 
9
9
  import { PagedAsyncIterableIterator } from "@azure/core-paging";
10
- import { PollerLike, PollOperationState } from "@azure/core-lro";
10
+ import { SimplePollerLike, OperationState } from "@azure/core-lro";
11
11
  import {
12
12
  VolumeGroup,
13
13
  VolumeGroupsListByElasticSanOptionalParams,
@@ -50,8 +50,8 @@ export interface VolumeGroups {
50
50
  parameters: VolumeGroup,
51
51
  options?: VolumeGroupsCreateOptionalParams
52
52
  ): Promise<
53
- PollerLike<
54
- PollOperationState<VolumeGroupsCreateResponse>,
53
+ SimplePollerLike<
54
+ OperationState<VolumeGroupsCreateResponse>,
55
55
  VolumeGroupsCreateResponse
56
56
  >
57
57
  >;
@@ -85,8 +85,8 @@ export interface VolumeGroups {
85
85
  parameters: VolumeGroupUpdate,
86
86
  options?: VolumeGroupsUpdateOptionalParams
87
87
  ): Promise<
88
- PollerLike<
89
- PollOperationState<VolumeGroupsUpdateResponse>,
88
+ SimplePollerLike<
89
+ OperationState<VolumeGroupsUpdateResponse>,
90
90
  VolumeGroupsUpdateResponse
91
91
  >
92
92
  >;
@@ -117,7 +117,7 @@ export interface VolumeGroups {
117
117
  elasticSanName: string,
118
118
  volumeGroupName: string,
119
119
  options?: VolumeGroupsDeleteOptionalParams
120
- ): Promise<PollerLike<PollOperationState<void>, void>>;
120
+ ): Promise<SimplePollerLike<OperationState<void>, void>>;
121
121
  /**
122
122
  * Delete an VolumeGroup.
123
123
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
@@ -0,0 +1,121 @@
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 { SimplePollerLike, OperationState } from "@azure/core-lro";
11
+ import {
12
+ Snapshot,
13
+ VolumeSnapshotsListByVolumeGroupOptionalParams,
14
+ VolumeSnapshotsCreateOptionalParams,
15
+ VolumeSnapshotsCreateResponse,
16
+ VolumeSnapshotsDeleteOptionalParams,
17
+ VolumeSnapshotsGetOptionalParams,
18
+ VolumeSnapshotsGetResponse
19
+ } from "../models";
20
+
21
+ /// <reference lib="esnext.asynciterable" />
22
+ /** Interface representing a VolumeSnapshots. */
23
+ export interface VolumeSnapshots {
24
+ /**
25
+ * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter
26
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
27
+ * @param elasticSanName The name of the ElasticSan.
28
+ * @param volumeGroupName The name of the VolumeGroup.
29
+ * @param options The options parameters.
30
+ */
31
+ listByVolumeGroup(
32
+ resourceGroupName: string,
33
+ elasticSanName: string,
34
+ volumeGroupName: string,
35
+ options?: VolumeSnapshotsListByVolumeGroupOptionalParams
36
+ ): PagedAsyncIterableIterator<Snapshot>;
37
+ /**
38
+ * Create a Volume Snapshot.
39
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
40
+ * @param elasticSanName The name of the ElasticSan.
41
+ * @param volumeGroupName The name of the VolumeGroup.
42
+ * @param snapshotName The name of the volume snapshot within the given volume group.
43
+ * @param parameters Snapshot object.
44
+ * @param options The options parameters.
45
+ */
46
+ beginCreate(
47
+ resourceGroupName: string,
48
+ elasticSanName: string,
49
+ volumeGroupName: string,
50
+ snapshotName: string,
51
+ parameters: Snapshot,
52
+ options?: VolumeSnapshotsCreateOptionalParams
53
+ ): Promise<
54
+ SimplePollerLike<
55
+ OperationState<VolumeSnapshotsCreateResponse>,
56
+ VolumeSnapshotsCreateResponse
57
+ >
58
+ >;
59
+ /**
60
+ * Create a Volume Snapshot.
61
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
62
+ * @param elasticSanName The name of the ElasticSan.
63
+ * @param volumeGroupName The name of the VolumeGroup.
64
+ * @param snapshotName The name of the volume snapshot within the given volume group.
65
+ * @param parameters Snapshot object.
66
+ * @param options The options parameters.
67
+ */
68
+ beginCreateAndWait(
69
+ resourceGroupName: string,
70
+ elasticSanName: string,
71
+ volumeGroupName: string,
72
+ snapshotName: string,
73
+ parameters: Snapshot,
74
+ options?: VolumeSnapshotsCreateOptionalParams
75
+ ): Promise<VolumeSnapshotsCreateResponse>;
76
+ /**
77
+ * Delete a Volume Snapshot.
78
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
79
+ * @param elasticSanName The name of the ElasticSan.
80
+ * @param volumeGroupName The name of the VolumeGroup.
81
+ * @param snapshotName The name of the volume snapshot within the given volume group.
82
+ * @param options The options parameters.
83
+ */
84
+ beginDelete(
85
+ resourceGroupName: string,
86
+ elasticSanName: string,
87
+ volumeGroupName: string,
88
+ snapshotName: string,
89
+ options?: VolumeSnapshotsDeleteOptionalParams
90
+ ): Promise<SimplePollerLike<OperationState<void>, void>>;
91
+ /**
92
+ * Delete a Volume Snapshot.
93
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
94
+ * @param elasticSanName The name of the ElasticSan.
95
+ * @param volumeGroupName The name of the VolumeGroup.
96
+ * @param snapshotName The name of the volume snapshot within the given volume group.
97
+ * @param options The options parameters.
98
+ */
99
+ beginDeleteAndWait(
100
+ resourceGroupName: string,
101
+ elasticSanName: string,
102
+ volumeGroupName: string,
103
+ snapshotName: string,
104
+ options?: VolumeSnapshotsDeleteOptionalParams
105
+ ): Promise<void>;
106
+ /**
107
+ * Get a Volume Snapshot.
108
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
109
+ * @param elasticSanName The name of the ElasticSan.
110
+ * @param volumeGroupName The name of the VolumeGroup.
111
+ * @param snapshotName The name of the volume snapshot within the given volume group.
112
+ * @param options The options parameters.
113
+ */
114
+ get(
115
+ resourceGroupName: string,
116
+ elasticSanName: string,
117
+ volumeGroupName: string,
118
+ snapshotName: string,
119
+ options?: VolumeSnapshotsGetOptionalParams
120
+ ): Promise<VolumeSnapshotsGetResponse>;
121
+ }