@azure/arm-elasticsan 1.2.0-alpha.20250718.1 → 1.2.0-alpha.20250730.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 (98) hide show
  1. package/dist/browser/elasticSanManagement.js +32 -11
  2. package/dist/browser/elasticSanManagement.js.map +1 -1
  3. package/dist/browser/lroImpl.js +7 -3
  4. package/dist/browser/lroImpl.js.map +1 -1
  5. package/dist/browser/models/mappers.js +42 -17
  6. package/dist/browser/models/mappers.js.map +1 -1
  7. package/dist/browser/operations/elasticSans.js +78 -97
  8. package/dist/browser/operations/elasticSans.js.map +1 -1
  9. package/dist/browser/operations/operations.js +10 -27
  10. package/dist/browser/operations/operations.js.map +1 -1
  11. package/dist/browser/operations/privateEndpointConnections.js +32 -39
  12. package/dist/browser/operations/privateEndpointConnections.js.map +1 -1
  13. package/dist/browser/operations/privateLinkResources.js +1 -0
  14. package/dist/browser/operations/privateLinkResources.js.map +1 -1
  15. package/dist/browser/operations/skus.js +10 -27
  16. package/dist/browser/operations/skus.js.map +1 -1
  17. package/dist/browser/operations/volumeGroups.js +56 -58
  18. package/dist/browser/operations/volumeGroups.js.map +1 -1
  19. package/dist/browser/operations/volumeSnapshots.js +45 -52
  20. package/dist/browser/operations/volumeSnapshots.js.map +1 -1
  21. package/dist/browser/operations/volumes.js +78 -70
  22. package/dist/browser/operations/volumes.js.map +1 -1
  23. package/dist/browser/pagingHelper.js +2 -4
  24. package/dist/browser/pagingHelper.js.map +1 -1
  25. package/dist/commonjs/elasticSanManagement.js +32 -11
  26. package/dist/commonjs/elasticSanManagement.js.map +1 -1
  27. package/dist/commonjs/lroImpl.js +7 -3
  28. package/dist/commonjs/lroImpl.js.map +1 -1
  29. package/dist/commonjs/models/mappers.js +42 -17
  30. package/dist/commonjs/models/mappers.js.map +1 -1
  31. package/dist/commonjs/operations/elasticSans.js +78 -96
  32. package/dist/commonjs/operations/elasticSans.js.map +1 -1
  33. package/dist/commonjs/operations/operations.js +10 -26
  34. package/dist/commonjs/operations/operations.js.map +1 -1
  35. package/dist/commonjs/operations/privateEndpointConnections.js +32 -38
  36. package/dist/commonjs/operations/privateEndpointConnections.js.map +1 -1
  37. package/dist/commonjs/operations/privateLinkResources.js +1 -0
  38. package/dist/commonjs/operations/privateLinkResources.js.map +1 -1
  39. package/dist/commonjs/operations/skus.js +10 -26
  40. package/dist/commonjs/operations/skus.js.map +1 -1
  41. package/dist/commonjs/operations/volumeGroups.js +56 -57
  42. package/dist/commonjs/operations/volumeGroups.js.map +1 -1
  43. package/dist/commonjs/operations/volumeSnapshots.js +45 -51
  44. package/dist/commonjs/operations/volumeSnapshots.js.map +1 -1
  45. package/dist/commonjs/operations/volumes.js +78 -69
  46. package/dist/commonjs/operations/volumes.js.map +1 -1
  47. package/dist/commonjs/pagingHelper.js +2 -4
  48. package/dist/commonjs/pagingHelper.js.map +1 -1
  49. package/dist/commonjs/tsdoc-metadata.json +1 -1
  50. package/dist/esm/elasticSanManagement.js +32 -11
  51. package/dist/esm/elasticSanManagement.js.map +1 -1
  52. package/dist/esm/lroImpl.js +7 -3
  53. package/dist/esm/lroImpl.js.map +1 -1
  54. package/dist/esm/models/mappers.js +42 -17
  55. package/dist/esm/models/mappers.js.map +1 -1
  56. package/dist/esm/operations/elasticSans.js +78 -97
  57. package/dist/esm/operations/elasticSans.js.map +1 -1
  58. package/dist/esm/operations/operations.js +10 -27
  59. package/dist/esm/operations/operations.js.map +1 -1
  60. package/dist/esm/operations/privateEndpointConnections.js +32 -39
  61. package/dist/esm/operations/privateEndpointConnections.js.map +1 -1
  62. package/dist/esm/operations/privateLinkResources.js +1 -0
  63. package/dist/esm/operations/privateLinkResources.js.map +1 -1
  64. package/dist/esm/operations/skus.js +10 -27
  65. package/dist/esm/operations/skus.js.map +1 -1
  66. package/dist/esm/operations/volumeGroups.js +56 -58
  67. package/dist/esm/operations/volumeGroups.js.map +1 -1
  68. package/dist/esm/operations/volumeSnapshots.js +45 -52
  69. package/dist/esm/operations/volumeSnapshots.js.map +1 -1
  70. package/dist/esm/operations/volumes.js +78 -70
  71. package/dist/esm/operations/volumes.js.map +1 -1
  72. package/dist/esm/pagingHelper.js +2 -4
  73. package/dist/esm/pagingHelper.js.map +1 -1
  74. package/dist/react-native/elasticSanManagement.js +32 -11
  75. package/dist/react-native/elasticSanManagement.js.map +1 -1
  76. package/dist/react-native/lroImpl.js +7 -3
  77. package/dist/react-native/lroImpl.js.map +1 -1
  78. package/dist/react-native/models/mappers.js +42 -17
  79. package/dist/react-native/models/mappers.js.map +1 -1
  80. package/dist/react-native/operations/elasticSans.js +78 -97
  81. package/dist/react-native/operations/elasticSans.js.map +1 -1
  82. package/dist/react-native/operations/operations.js +10 -27
  83. package/dist/react-native/operations/operations.js.map +1 -1
  84. package/dist/react-native/operations/privateEndpointConnections.js +32 -39
  85. package/dist/react-native/operations/privateEndpointConnections.js.map +1 -1
  86. package/dist/react-native/operations/privateLinkResources.js +1 -0
  87. package/dist/react-native/operations/privateLinkResources.js.map +1 -1
  88. package/dist/react-native/operations/skus.js +10 -27
  89. package/dist/react-native/operations/skus.js.map +1 -1
  90. package/dist/react-native/operations/volumeGroups.js +56 -58
  91. package/dist/react-native/operations/volumeGroups.js.map +1 -1
  92. package/dist/react-native/operations/volumeSnapshots.js +45 -52
  93. package/dist/react-native/operations/volumeSnapshots.js.map +1 -1
  94. package/dist/react-native/operations/volumes.js +78 -70
  95. package/dist/react-native/operations/volumes.js.map +1 -1
  96. package/dist/react-native/pagingHelper.js +2 -4
  97. package/dist/react-native/pagingHelper.js.map +1 -1
  98. package/package.json +2 -2
@@ -18,6 +18,7 @@ const lroImpl_js_1 = require("../lroImpl.js");
18
18
  /// <reference lib="esnext.asynciterable" />
19
19
  /** Class containing VolumeGroups operations. */
20
20
  class VolumeGroupsImpl {
21
+ client;
21
22
  /**
22
23
  * Initialize a new instance of the class VolumeGroups class.
23
24
  * @param client Reference to the service client
@@ -41,52 +42,35 @@ class VolumeGroupsImpl {
41
42
  return this;
42
43
  },
43
44
  byPage: (settings) => {
44
- if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
45
+ if (settings?.maxPageSize) {
45
46
  throw new Error("maxPageSize is not supported by this operation.");
46
47
  }
47
48
  return this.listByElasticSanPagingPage(resourceGroupName, elasticSanName, options, settings);
48
49
  },
49
50
  };
50
51
  }
51
- listByElasticSanPagingPage(resourceGroupName, elasticSanName, options, settings) {
52
- return tslib_1.__asyncGenerator(this, arguments, function* listByElasticSanPagingPage_1() {
53
- let result;
54
- let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
55
- if (!continuationToken) {
56
- result = yield tslib_1.__await(this._listByElasticSan(resourceGroupName, elasticSanName, options));
57
- let page = result.value || [];
58
- continuationToken = result.nextLink;
59
- (0, pagingHelper_js_1.setContinuationToken)(page, continuationToken);
60
- yield yield tslib_1.__await(page);
61
- }
62
- while (continuationToken) {
63
- result = yield tslib_1.__await(this._listByElasticSanNext(resourceGroupName, elasticSanName, continuationToken, options));
64
- continuationToken = result.nextLink;
65
- let page = result.value || [];
66
- (0, pagingHelper_js_1.setContinuationToken)(page, continuationToken);
67
- yield yield tslib_1.__await(page);
68
- }
69
- });
52
+ async *listByElasticSanPagingPage(resourceGroupName, elasticSanName, options, settings) {
53
+ let result;
54
+ let continuationToken = settings?.continuationToken;
55
+ if (!continuationToken) {
56
+ result = await this._listByElasticSan(resourceGroupName, elasticSanName, options);
57
+ let page = result.value || [];
58
+ continuationToken = result.nextLink;
59
+ (0, pagingHelper_js_1.setContinuationToken)(page, continuationToken);
60
+ yield page;
61
+ }
62
+ while (continuationToken) {
63
+ result = await this._listByElasticSanNext(resourceGroupName, elasticSanName, continuationToken, options);
64
+ continuationToken = result.nextLink;
65
+ let page = result.value || [];
66
+ (0, pagingHelper_js_1.setContinuationToken)(page, continuationToken);
67
+ yield page;
68
+ }
70
69
  }
71
- listByElasticSanPagingAll(resourceGroupName, elasticSanName, options) {
72
- return tslib_1.__asyncGenerator(this, arguments, function* listByElasticSanPagingAll_1() {
73
- var _a, e_1, _b, _c;
74
- try {
75
- for (var _d = true, _e = tslib_1.__asyncValues(this.listByElasticSanPagingPage(resourceGroupName, elasticSanName, options)), _f; _f = yield tslib_1.__await(_e.next()), _a = _f.done, !_a; _d = true) {
76
- _c = _f.value;
77
- _d = false;
78
- const page = _c;
79
- yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(page)));
80
- }
81
- }
82
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
83
- finally {
84
- try {
85
- if (!_d && !_a && (_b = _e.return)) yield tslib_1.__await(_b.call(_e));
86
- }
87
- finally { if (e_1) throw e_1.error; }
88
- }
89
- });
70
+ async *listByElasticSanPagingAll(resourceGroupName, elasticSanName, options) {
71
+ for await (const page of this.listByElasticSanPagingPage(resourceGroupName, elasticSanName, options)) {
72
+ yield* page;
73
+ }
90
74
  }
91
75
  /**
92
76
  * List VolumeGroups.
@@ -110,14 +94,19 @@ class VolumeGroupsImpl {
110
94
  return this.client.sendOperationRequest(args, spec);
111
95
  };
112
96
  const sendOperationFn = async (args, spec) => {
113
- var _a;
114
97
  let currentRawResponse = undefined;
115
- const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
98
+ const providedCallback = args.options?.onResponse;
116
99
  const callback = (rawResponse, flatResponse) => {
117
100
  currentRawResponse = rawResponse;
118
- providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
101
+ providedCallback?.(rawResponse, flatResponse);
102
+ };
103
+ const updatedArgs = {
104
+ ...args,
105
+ options: {
106
+ ...args.options,
107
+ onResponse: callback,
108
+ },
119
109
  };
120
- const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
121
110
  const flatResponse = await directSendOperation(updatedArgs, spec);
122
111
  return {
123
112
  flatResponse,
@@ -140,8 +129,8 @@ class VolumeGroupsImpl {
140
129
  spec: createOperationSpec,
141
130
  });
142
131
  const poller = await (0, core_lro_1.createHttpPoller)(lro, {
143
- restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
144
- intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
132
+ restoreFrom: options?.resumeFrom,
133
+ intervalInMs: options?.updateIntervalInMs,
145
134
  resourceLocationConfig: "location",
146
135
  });
147
136
  await poller.poll();
@@ -172,14 +161,19 @@ class VolumeGroupsImpl {
172
161
  return this.client.sendOperationRequest(args, spec);
173
162
  };
174
163
  const sendOperationFn = async (args, spec) => {
175
- var _a;
176
164
  let currentRawResponse = undefined;
177
- const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
165
+ const providedCallback = args.options?.onResponse;
178
166
  const callback = (rawResponse, flatResponse) => {
179
167
  currentRawResponse = rawResponse;
180
- providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
168
+ providedCallback?.(rawResponse, flatResponse);
169
+ };
170
+ const updatedArgs = {
171
+ ...args,
172
+ options: {
173
+ ...args.options,
174
+ onResponse: callback,
175
+ },
181
176
  };
182
- const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
183
177
  const flatResponse = await directSendOperation(updatedArgs, spec);
184
178
  return {
185
179
  flatResponse,
@@ -202,8 +196,8 @@ class VolumeGroupsImpl {
202
196
  spec: updateOperationSpec,
203
197
  });
204
198
  const poller = await (0, core_lro_1.createHttpPoller)(lro, {
205
- restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
206
- intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
199
+ restoreFrom: options?.resumeFrom,
200
+ intervalInMs: options?.updateIntervalInMs,
207
201
  resourceLocationConfig: "location",
208
202
  });
209
203
  await poller.poll();
@@ -233,14 +227,19 @@ class VolumeGroupsImpl {
233
227
  return this.client.sendOperationRequest(args, spec);
234
228
  };
235
229
  const sendOperationFn = async (args, spec) => {
236
- var _a;
237
230
  let currentRawResponse = undefined;
238
- const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
231
+ const providedCallback = args.options?.onResponse;
239
232
  const callback = (rawResponse, flatResponse) => {
240
233
  currentRawResponse = rawResponse;
241
- providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
234
+ providedCallback?.(rawResponse, flatResponse);
235
+ };
236
+ const updatedArgs = {
237
+ ...args,
238
+ options: {
239
+ ...args.options,
240
+ onResponse: callback,
241
+ },
242
242
  };
243
- const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
244
243
  const flatResponse = await directSendOperation(updatedArgs, spec);
245
244
  return {
246
245
  flatResponse,
@@ -257,8 +256,8 @@ class VolumeGroupsImpl {
257
256
  spec: deleteOperationSpec,
258
257
  });
259
258
  const poller = await (0, core_lro_1.createHttpPoller)(lro, {
260
- restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
261
- intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
259
+ restoreFrom: options?.resumeFrom,
260
+ intervalInMs: options?.updateIntervalInMs,
262
261
  resourceLocationConfig: "location",
263
262
  });
264
263
  await poller.poll();
@@ -1 +1 @@
1
- {"version":3,"file":"volumeGroups.js","sourceRoot":"","sources":["../../../src/operations/volumeGroups.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper.js\";\nimport { VolumeGroups } from \"../operationsInterfaces/index.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers.js\";\nimport * as Parameters from \"../models/parameters.js\";\nimport { ElasticSanManagement } from \"../elasticSanManagement.js\";\nimport {\n SimplePollerLike,\n OperationState,\n createHttpPoller,\n} from \"@azure/core-lro\";\nimport { createLroSpec } from \"../lroImpl.js\";\nimport {\n VolumeGroup,\n VolumeGroupsListByElasticSanNextOptionalParams,\n VolumeGroupsListByElasticSanOptionalParams,\n VolumeGroupsListByElasticSanResponse,\n VolumeGroupsCreateOptionalParams,\n VolumeGroupsCreateResponse,\n VolumeGroupUpdate,\n VolumeGroupsUpdateOptionalParams,\n VolumeGroupsUpdateResponse,\n VolumeGroupsDeleteOptionalParams,\n VolumeGroupsGetOptionalParams,\n VolumeGroupsGetResponse,\n VolumeGroupsListByElasticSanNextResponse,\n} from \"../models/index.js\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing VolumeGroups operations. */\nexport class VolumeGroupsImpl implements VolumeGroups {\n private readonly client: ElasticSanManagement;\n\n /**\n * Initialize a new instance of the class VolumeGroups class.\n * @param client Reference to the service client\n */\n constructor(client: ElasticSanManagement) {\n this.client = client;\n }\n\n /**\n * List VolumeGroups.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param options The options parameters.\n */\n public listByElasticSan(\n resourceGroupName: string,\n elasticSanName: string,\n options?: VolumeGroupsListByElasticSanOptionalParams,\n ): PagedAsyncIterableIterator<VolumeGroup> {\n const iter = this.listByElasticSanPagingAll(\n resourceGroupName,\n elasticSanName,\n options,\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listByElasticSanPagingPage(\n resourceGroupName,\n elasticSanName,\n options,\n settings,\n );\n },\n };\n }\n\n private async *listByElasticSanPagingPage(\n resourceGroupName: string,\n elasticSanName: string,\n options?: VolumeGroupsListByElasticSanOptionalParams,\n settings?: PageSettings,\n ): AsyncIterableIterator<VolumeGroup[]> {\n let result: VolumeGroupsListByElasticSanResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._listByElasticSan(\n resourceGroupName,\n elasticSanName,\n options,\n );\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listByElasticSanNext(\n resourceGroupName,\n elasticSanName,\n continuationToken,\n options,\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listByElasticSanPagingAll(\n resourceGroupName: string,\n elasticSanName: string,\n options?: VolumeGroupsListByElasticSanOptionalParams,\n ): AsyncIterableIterator<VolumeGroup> {\n for await (const page of this.listByElasticSanPagingPage(\n resourceGroupName,\n elasticSanName,\n options,\n )) {\n yield* page;\n }\n }\n\n /**\n * List VolumeGroups.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param options The options parameters.\n */\n private _listByElasticSan(\n resourceGroupName: string,\n elasticSanName: string,\n options?: VolumeGroupsListByElasticSanOptionalParams,\n ): Promise<VolumeGroupsListByElasticSanResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, elasticSanName, options },\n listByElasticSanOperationSpec,\n );\n }\n\n /**\n * Create a Volume Group.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param parameters Volume Group object.\n * @param options The options parameters.\n */\n async beginCreate(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n parameters: VolumeGroup,\n options?: VolumeGroupsCreateOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<VolumeGroupsCreateResponse>,\n VolumeGroupsCreateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<VolumeGroupsCreateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n parameters,\n options,\n },\n spec: createOperationSpec,\n });\n const poller = await createHttpPoller<\n VolumeGroupsCreateResponse,\n OperationState<VolumeGroupsCreateResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Create a Volume Group.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param parameters Volume Group object.\n * @param options The options parameters.\n */\n async beginCreateAndWait(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n parameters: VolumeGroup,\n options?: VolumeGroupsCreateOptionalParams,\n ): Promise<VolumeGroupsCreateResponse> {\n const poller = await this.beginCreate(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n parameters,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Update an VolumeGroup.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param parameters Volume Group object.\n * @param options The options parameters.\n */\n async beginUpdate(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n parameters: VolumeGroupUpdate,\n options?: VolumeGroupsUpdateOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<VolumeGroupsUpdateResponse>,\n VolumeGroupsUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<VolumeGroupsUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n parameters,\n options,\n },\n spec: updateOperationSpec,\n });\n const poller = await createHttpPoller<\n VolumeGroupsUpdateResponse,\n OperationState<VolumeGroupsUpdateResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Update an VolumeGroup.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param parameters Volume Group object.\n * @param options The options parameters.\n */\n async beginUpdateAndWait(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n parameters: VolumeGroupUpdate,\n options?: VolumeGroupsUpdateOptionalParams,\n ): Promise<VolumeGroupsUpdateResponse> {\n const poller = await this.beginUpdate(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n parameters,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Delete an VolumeGroup.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param options The options parameters.\n */\n async beginDelete(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeGroupsDeleteOptionalParams,\n ): Promise<SimplePollerLike<OperationState<void>, void>> {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<void> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: { resourceGroupName, elasticSanName, volumeGroupName, options },\n spec: deleteOperationSpec,\n });\n const poller = await createHttpPoller<void, OperationState<void>>(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Delete an VolumeGroup.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param options The options parameters.\n */\n async beginDeleteAndWait(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeGroupsDeleteOptionalParams,\n ): Promise<void> {\n const poller = await this.beginDelete(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Get an VolumeGroups.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeGroupsGetOptionalParams,\n ): Promise<VolumeGroupsGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, elasticSanName, volumeGroupName, options },\n getOperationSpec,\n );\n }\n\n /**\n * ListByElasticSanNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param nextLink The nextLink from the previous successful call to the ListByElasticSan method.\n * @param options The options parameters.\n */\n private _listByElasticSanNext(\n resourceGroupName: string,\n elasticSanName: string,\n nextLink: string,\n options?: VolumeGroupsListByElasticSanNextOptionalParams,\n ): Promise<VolumeGroupsListByElasticSanNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, elasticSanName, nextLink, options },\n listByElasticSanNextOperationSpec,\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByElasticSanOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumeGroups\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.VolumeGroupList,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n ],\n headerParameters: [\n Parameters.accept,\n Parameters.xMsAccessSoftDeletedResources,\n ],\n serializer,\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 201: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 202: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 204: {\n bodyMapper: Mappers.VolumeGroup,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.parameters2,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 201: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 202: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 204: {\n bodyMapper: Mappers.VolumeGroup,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.parameters3,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 201: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.VolumeGroup,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst listByElasticSanNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.VolumeGroupList,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.nextLink,\n ],\n headerParameters: [\n Parameters.accept,\n Parameters.xMsAccessSoftDeletedResources,\n ],\n serializer,\n};\n"]}
1
+ {"version":3,"file":"volumeGroups.js","sourceRoot":"","sources":["../../../src/operations/volumeGroups.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper.js\";\nimport { VolumeGroups } from \"../operationsInterfaces/index.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers.js\";\nimport * as Parameters from \"../models/parameters.js\";\nimport { ElasticSanManagement } from \"../elasticSanManagement.js\";\nimport {\n SimplePollerLike,\n OperationState,\n createHttpPoller,\n} from \"@azure/core-lro\";\nimport { createLroSpec } from \"../lroImpl.js\";\nimport {\n VolumeGroup,\n VolumeGroupsListByElasticSanNextOptionalParams,\n VolumeGroupsListByElasticSanOptionalParams,\n VolumeGroupsListByElasticSanResponse,\n VolumeGroupsCreateOptionalParams,\n VolumeGroupsCreateResponse,\n VolumeGroupUpdate,\n VolumeGroupsUpdateOptionalParams,\n VolumeGroupsUpdateResponse,\n VolumeGroupsDeleteOptionalParams,\n VolumeGroupsGetOptionalParams,\n VolumeGroupsGetResponse,\n VolumeGroupsListByElasticSanNextResponse,\n} from \"../models/index.js\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing VolumeGroups operations. */\nexport class VolumeGroupsImpl implements VolumeGroups {\n private readonly client: ElasticSanManagement;\n\n /**\n * Initialize a new instance of the class VolumeGroups class.\n * @param client Reference to the service client\n */\n constructor(client: ElasticSanManagement) {\n this.client = client;\n }\n\n /**\n * List VolumeGroups.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param options The options parameters.\n */\n public listByElasticSan(\n resourceGroupName: string,\n elasticSanName: string,\n options?: VolumeGroupsListByElasticSanOptionalParams,\n ): PagedAsyncIterableIterator<VolumeGroup> {\n const iter = this.listByElasticSanPagingAll(\n resourceGroupName,\n elasticSanName,\n options,\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listByElasticSanPagingPage(\n resourceGroupName,\n elasticSanName,\n options,\n settings,\n );\n },\n };\n }\n\n private async *listByElasticSanPagingPage(\n resourceGroupName: string,\n elasticSanName: string,\n options?: VolumeGroupsListByElasticSanOptionalParams,\n settings?: PageSettings,\n ): AsyncIterableIterator<VolumeGroup[]> {\n let result: VolumeGroupsListByElasticSanResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._listByElasticSan(\n resourceGroupName,\n elasticSanName,\n options,\n );\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listByElasticSanNext(\n resourceGroupName,\n elasticSanName,\n continuationToken,\n options,\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listByElasticSanPagingAll(\n resourceGroupName: string,\n elasticSanName: string,\n options?: VolumeGroupsListByElasticSanOptionalParams,\n ): AsyncIterableIterator<VolumeGroup> {\n for await (const page of this.listByElasticSanPagingPage(\n resourceGroupName,\n elasticSanName,\n options,\n )) {\n yield* page;\n }\n }\n\n /**\n * List VolumeGroups.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param options The options parameters.\n */\n private _listByElasticSan(\n resourceGroupName: string,\n elasticSanName: string,\n options?: VolumeGroupsListByElasticSanOptionalParams,\n ): Promise<VolumeGroupsListByElasticSanResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, elasticSanName, options },\n listByElasticSanOperationSpec,\n );\n }\n\n /**\n * Create a Volume Group.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param parameters Volume Group object.\n * @param options The options parameters.\n */\n async beginCreate(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n parameters: VolumeGroup,\n options?: VolumeGroupsCreateOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<VolumeGroupsCreateResponse>,\n VolumeGroupsCreateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<VolumeGroupsCreateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n parameters,\n options,\n },\n spec: createOperationSpec,\n });\n const poller = await createHttpPoller<\n VolumeGroupsCreateResponse,\n OperationState<VolumeGroupsCreateResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Create a Volume Group.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param parameters Volume Group object.\n * @param options The options parameters.\n */\n async beginCreateAndWait(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n parameters: VolumeGroup,\n options?: VolumeGroupsCreateOptionalParams,\n ): Promise<VolumeGroupsCreateResponse> {\n const poller = await this.beginCreate(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n parameters,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Update an VolumeGroup.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param parameters Volume Group object.\n * @param options The options parameters.\n */\n async beginUpdate(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n parameters: VolumeGroupUpdate,\n options?: VolumeGroupsUpdateOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<VolumeGroupsUpdateResponse>,\n VolumeGroupsUpdateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<VolumeGroupsUpdateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n parameters,\n options,\n },\n spec: updateOperationSpec,\n });\n const poller = await createHttpPoller<\n VolumeGroupsUpdateResponse,\n OperationState<VolumeGroupsUpdateResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Update an VolumeGroup.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param parameters Volume Group object.\n * @param options The options parameters.\n */\n async beginUpdateAndWait(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n parameters: VolumeGroupUpdate,\n options?: VolumeGroupsUpdateOptionalParams,\n ): Promise<VolumeGroupsUpdateResponse> {\n const poller = await this.beginUpdate(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n parameters,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Delete an VolumeGroup.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param options The options parameters.\n */\n async beginDelete(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeGroupsDeleteOptionalParams,\n ): Promise<SimplePollerLike<OperationState<void>, void>> {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<void> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: { resourceGroupName, elasticSanName, volumeGroupName, options },\n spec: deleteOperationSpec,\n });\n const poller = await createHttpPoller<void, OperationState<void>>(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Delete an VolumeGroup.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param options The options parameters.\n */\n async beginDeleteAndWait(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeGroupsDeleteOptionalParams,\n ): Promise<void> {\n const poller = await this.beginDelete(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Get an VolumeGroups.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeGroupsGetOptionalParams,\n ): Promise<VolumeGroupsGetResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, elasticSanName, volumeGroupName, options },\n getOperationSpec,\n );\n }\n\n /**\n * ListByElasticSanNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param nextLink The nextLink from the previous successful call to the ListByElasticSan method.\n * @param options The options parameters.\n */\n private _listByElasticSanNext(\n resourceGroupName: string,\n elasticSanName: string,\n nextLink: string,\n options?: VolumeGroupsListByElasticSanNextOptionalParams,\n ): Promise<VolumeGroupsListByElasticSanNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, elasticSanName, nextLink, options },\n listByElasticSanNextOperationSpec,\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByElasticSanOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumeGroups\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.VolumeGroupList,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n ],\n headerParameters: [\n Parameters.accept,\n Parameters.xMsAccessSoftDeletedResources,\n ],\n serializer,\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 201: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 202: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 204: {\n bodyMapper: Mappers.VolumeGroup,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.parameters2,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst updateOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}\",\n httpMethod: \"PATCH\",\n responses: {\n 200: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 201: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 202: {\n bodyMapper: Mappers.VolumeGroup,\n },\n 204: {\n bodyMapper: Mappers.VolumeGroup,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.parameters3,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 201: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.VolumeGroup,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst listByElasticSanNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.VolumeGroupList,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.nextLink,\n ],\n headerParameters: [\n Parameters.accept,\n Parameters.xMsAccessSoftDeletedResources,\n ],\n serializer,\n};\n"]}
@@ -18,6 +18,7 @@ const lroImpl_js_1 = require("../lroImpl.js");
18
18
  /// <reference lib="esnext.asynciterable" />
19
19
  /** Class containing VolumeSnapshots operations. */
20
20
  class VolumeSnapshotsImpl {
21
+ client;
21
22
  /**
22
23
  * Initialize a new instance of the class VolumeSnapshots class.
23
24
  * @param client Reference to the service client
@@ -42,52 +43,35 @@ class VolumeSnapshotsImpl {
42
43
  return this;
43
44
  },
44
45
  byPage: (settings) => {
45
- if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
46
+ if (settings?.maxPageSize) {
46
47
  throw new Error("maxPageSize is not supported by this operation.");
47
48
  }
48
49
  return this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings);
49
50
  },
50
51
  };
51
52
  }
52
- listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings) {
53
- return tslib_1.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingPage_1() {
54
- let result;
55
- let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
56
- if (!continuationToken) {
57
- result = yield tslib_1.__await(this._listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options));
58
- let page = result.value || [];
59
- continuationToken = result.nextLink;
60
- (0, pagingHelper_js_1.setContinuationToken)(page, continuationToken);
61
- yield yield tslib_1.__await(page);
62
- }
63
- while (continuationToken) {
64
- result = yield tslib_1.__await(this._listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, continuationToken, options));
65
- continuationToken = result.nextLink;
66
- let page = result.value || [];
67
- (0, pagingHelper_js_1.setContinuationToken)(page, continuationToken);
68
- yield yield tslib_1.__await(page);
69
- }
70
- });
53
+ async *listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings) {
54
+ let result;
55
+ let continuationToken = settings?.continuationToken;
56
+ if (!continuationToken) {
57
+ result = await this._listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options);
58
+ let page = result.value || [];
59
+ continuationToken = result.nextLink;
60
+ (0, pagingHelper_js_1.setContinuationToken)(page, continuationToken);
61
+ yield page;
62
+ }
63
+ while (continuationToken) {
64
+ result = await this._listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, continuationToken, options);
65
+ continuationToken = result.nextLink;
66
+ let page = result.value || [];
67
+ (0, pagingHelper_js_1.setContinuationToken)(page, continuationToken);
68
+ yield page;
69
+ }
71
70
  }
72
- listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options) {
73
- return tslib_1.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingAll_1() {
74
- var _a, e_1, _b, _c;
75
- try {
76
- for (var _d = true, _e = tslib_1.__asyncValues(this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options)), _f; _f = yield tslib_1.__await(_e.next()), _a = _f.done, !_a; _d = true) {
77
- _c = _f.value;
78
- _d = false;
79
- const page = _c;
80
- yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(page)));
81
- }
82
- }
83
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
84
- finally {
85
- try {
86
- if (!_d && !_a && (_b = _e.return)) yield tslib_1.__await(_b.call(_e));
87
- }
88
- finally { if (e_1) throw e_1.error; }
89
- }
90
- });
71
+ async *listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options) {
72
+ for await (const page of this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options)) {
73
+ yield* page;
74
+ }
91
75
  }
92
76
  /**
93
77
  * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter
@@ -113,14 +97,19 @@ class VolumeSnapshotsImpl {
113
97
  return this.client.sendOperationRequest(args, spec);
114
98
  };
115
99
  const sendOperationFn = async (args, spec) => {
116
- var _a;
117
100
  let currentRawResponse = undefined;
118
- const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
101
+ const providedCallback = args.options?.onResponse;
119
102
  const callback = (rawResponse, flatResponse) => {
120
103
  currentRawResponse = rawResponse;
121
- providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
104
+ providedCallback?.(rawResponse, flatResponse);
105
+ };
106
+ const updatedArgs = {
107
+ ...args,
108
+ options: {
109
+ ...args.options,
110
+ onResponse: callback,
111
+ },
122
112
  };
123
- const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
124
113
  const flatResponse = await directSendOperation(updatedArgs, spec);
125
114
  return {
126
115
  flatResponse,
@@ -144,8 +133,8 @@ class VolumeSnapshotsImpl {
144
133
  spec: createOperationSpec,
145
134
  });
146
135
  const poller = await (0, core_lro_1.createHttpPoller)(lro, {
147
- restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
148
- intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
136
+ restoreFrom: options?.resumeFrom,
137
+ intervalInMs: options?.updateIntervalInMs,
149
138
  resourceLocationConfig: "location",
150
139
  });
151
140
  await poller.poll();
@@ -177,14 +166,19 @@ class VolumeSnapshotsImpl {
177
166
  return this.client.sendOperationRequest(args, spec);
178
167
  };
179
168
  const sendOperationFn = async (args, spec) => {
180
- var _a;
181
169
  let currentRawResponse = undefined;
182
- const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
170
+ const providedCallback = args.options?.onResponse;
183
171
  const callback = (rawResponse, flatResponse) => {
184
172
  currentRawResponse = rawResponse;
185
- providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
173
+ providedCallback?.(rawResponse, flatResponse);
174
+ };
175
+ const updatedArgs = {
176
+ ...args,
177
+ options: {
178
+ ...args.options,
179
+ onResponse: callback,
180
+ },
186
181
  };
187
- const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
188
182
  const flatResponse = await directSendOperation(updatedArgs, spec);
189
183
  return {
190
184
  flatResponse,
@@ -207,8 +201,8 @@ class VolumeSnapshotsImpl {
207
201
  spec: deleteOperationSpec,
208
202
  });
209
203
  const poller = await (0, core_lro_1.createHttpPoller)(lro, {
210
- restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
211
- intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
204
+ restoreFrom: options?.resumeFrom,
205
+ intervalInMs: options?.updateIntervalInMs,
212
206
  resourceLocationConfig: "location",
213
207
  });
214
208
  await poller.poll();
@@ -1 +1 @@
1
- {"version":3,"file":"volumeSnapshots.js","sourceRoot":"","sources":["../../../src/operations/volumeSnapshots.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper.js\";\nimport { VolumeSnapshots } from \"../operationsInterfaces/index.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers.js\";\nimport * as Parameters from \"../models/parameters.js\";\nimport { ElasticSanManagement } from \"../elasticSanManagement.js\";\nimport {\n SimplePollerLike,\n OperationState,\n createHttpPoller,\n} from \"@azure/core-lro\";\nimport { createLroSpec } from \"../lroImpl.js\";\nimport {\n Snapshot,\n VolumeSnapshotsListByVolumeGroupNextOptionalParams,\n VolumeSnapshotsListByVolumeGroupOptionalParams,\n VolumeSnapshotsListByVolumeGroupResponse,\n VolumeSnapshotsCreateOptionalParams,\n VolumeSnapshotsCreateResponse,\n VolumeSnapshotsDeleteOptionalParams,\n VolumeSnapshotsGetOptionalParams,\n VolumeSnapshotsGetResponse,\n VolumeSnapshotsListByVolumeGroupNextResponse,\n} from \"../models/index.js\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing VolumeSnapshots operations. */\nexport class VolumeSnapshotsImpl implements VolumeSnapshots {\n private readonly client: ElasticSanManagement;\n\n /**\n * Initialize a new instance of the class VolumeSnapshots class.\n * @param client Reference to the service client\n */\n constructor(client: ElasticSanManagement) {\n this.client = client;\n }\n\n /**\n * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param options The options parameters.\n */\n public listByVolumeGroup(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeSnapshotsListByVolumeGroupOptionalParams,\n ): PagedAsyncIterableIterator<Snapshot> {\n const iter = this.listByVolumeGroupPagingAll(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n options,\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listByVolumeGroupPagingPage(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n options,\n settings,\n );\n },\n };\n }\n\n private async *listByVolumeGroupPagingPage(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeSnapshotsListByVolumeGroupOptionalParams,\n settings?: PageSettings,\n ): AsyncIterableIterator<Snapshot[]> {\n let result: VolumeSnapshotsListByVolumeGroupResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._listByVolumeGroup(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n options,\n );\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listByVolumeGroupNext(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n continuationToken,\n options,\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listByVolumeGroupPagingAll(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeSnapshotsListByVolumeGroupOptionalParams,\n ): AsyncIterableIterator<Snapshot> {\n for await (const page of this.listByVolumeGroupPagingPage(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n options,\n )) {\n yield* page;\n }\n }\n\n /**\n * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param options The options parameters.\n */\n private _listByVolumeGroup(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeSnapshotsListByVolumeGroupOptionalParams,\n ): Promise<VolumeSnapshotsListByVolumeGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, elasticSanName, volumeGroupName, options },\n listByVolumeGroupOperationSpec,\n );\n }\n\n /**\n * Create a Volume Snapshot.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param snapshotName The name of the volume snapshot within the given volume group.\n * @param parameters Snapshot object.\n * @param options The options parameters.\n */\n async beginCreate(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n snapshotName: string,\n parameters: Snapshot,\n options?: VolumeSnapshotsCreateOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<VolumeSnapshotsCreateResponse>,\n VolumeSnapshotsCreateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<VolumeSnapshotsCreateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n snapshotName,\n parameters,\n options,\n },\n spec: createOperationSpec,\n });\n const poller = await createHttpPoller<\n VolumeSnapshotsCreateResponse,\n OperationState<VolumeSnapshotsCreateResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Create a Volume Snapshot.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param snapshotName The name of the volume snapshot within the given volume group.\n * @param parameters Snapshot object.\n * @param options The options parameters.\n */\n async beginCreateAndWait(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n snapshotName: string,\n parameters: Snapshot,\n options?: VolumeSnapshotsCreateOptionalParams,\n ): Promise<VolumeSnapshotsCreateResponse> {\n const poller = await this.beginCreate(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n snapshotName,\n parameters,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Delete a Volume Snapshot.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param snapshotName The name of the volume snapshot within the given volume group.\n * @param options The options parameters.\n */\n async beginDelete(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n snapshotName: string,\n options?: VolumeSnapshotsDeleteOptionalParams,\n ): Promise<SimplePollerLike<OperationState<void>, void>> {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<void> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n snapshotName,\n options,\n },\n spec: deleteOperationSpec,\n });\n const poller = await createHttpPoller<void, OperationState<void>>(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Delete a Volume Snapshot.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param snapshotName The name of the volume snapshot within the given volume group.\n * @param options The options parameters.\n */\n async beginDeleteAndWait(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n snapshotName: string,\n options?: VolumeSnapshotsDeleteOptionalParams,\n ): Promise<void> {\n const poller = await this.beginDelete(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n snapshotName,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Get a Volume Snapshot.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param snapshotName The name of the volume snapshot within the given volume group.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n snapshotName: string,\n options?: VolumeSnapshotsGetOptionalParams,\n ): Promise<VolumeSnapshotsGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n snapshotName,\n options,\n },\n getOperationSpec,\n );\n }\n\n /**\n * ListByVolumeGroupNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param nextLink The nextLink from the previous successful call to the ListByVolumeGroup method.\n * @param options The options parameters.\n */\n private _listByVolumeGroupNext(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n nextLink: string,\n options?: VolumeSnapshotsListByVolumeGroupNextOptionalParams,\n ): Promise<VolumeSnapshotsListByVolumeGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, elasticSanName, volumeGroupName, nextLink, options },\n listByVolumeGroupNextOperationSpec,\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByVolumeGroupOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SnapshotList,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.Snapshot,\n },\n 201: {\n bodyMapper: Mappers.Snapshot,\n },\n 202: {\n bodyMapper: Mappers.Snapshot,\n },\n 204: {\n bodyMapper: Mappers.Snapshot,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.parameters9,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n Parameters.snapshotName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 201: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n Parameters.snapshotName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Snapshot,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n Parameters.snapshotName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst listByVolumeGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SnapshotList,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.nextLink,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\n"]}
1
+ {"version":3,"file":"volumeSnapshots.js","sourceRoot":"","sources":["../../../src/operations/volumeSnapshots.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper.js\";\nimport { VolumeSnapshots } from \"../operationsInterfaces/index.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers.js\";\nimport * as Parameters from \"../models/parameters.js\";\nimport { ElasticSanManagement } from \"../elasticSanManagement.js\";\nimport {\n SimplePollerLike,\n OperationState,\n createHttpPoller,\n} from \"@azure/core-lro\";\nimport { createLroSpec } from \"../lroImpl.js\";\nimport {\n Snapshot,\n VolumeSnapshotsListByVolumeGroupNextOptionalParams,\n VolumeSnapshotsListByVolumeGroupOptionalParams,\n VolumeSnapshotsListByVolumeGroupResponse,\n VolumeSnapshotsCreateOptionalParams,\n VolumeSnapshotsCreateResponse,\n VolumeSnapshotsDeleteOptionalParams,\n VolumeSnapshotsGetOptionalParams,\n VolumeSnapshotsGetResponse,\n VolumeSnapshotsListByVolumeGroupNextResponse,\n} from \"../models/index.js\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing VolumeSnapshots operations. */\nexport class VolumeSnapshotsImpl implements VolumeSnapshots {\n private readonly client: ElasticSanManagement;\n\n /**\n * Initialize a new instance of the class VolumeSnapshots class.\n * @param client Reference to the service client\n */\n constructor(client: ElasticSanManagement) {\n this.client = client;\n }\n\n /**\n * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param options The options parameters.\n */\n public listByVolumeGroup(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeSnapshotsListByVolumeGroupOptionalParams,\n ): PagedAsyncIterableIterator<Snapshot> {\n const iter = this.listByVolumeGroupPagingAll(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n options,\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listByVolumeGroupPagingPage(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n options,\n settings,\n );\n },\n };\n }\n\n private async *listByVolumeGroupPagingPage(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeSnapshotsListByVolumeGroupOptionalParams,\n settings?: PageSettings,\n ): AsyncIterableIterator<Snapshot[]> {\n let result: VolumeSnapshotsListByVolumeGroupResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._listByVolumeGroup(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n options,\n );\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listByVolumeGroupNext(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n continuationToken,\n options,\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listByVolumeGroupPagingAll(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeSnapshotsListByVolumeGroupOptionalParams,\n ): AsyncIterableIterator<Snapshot> {\n for await (const page of this.listByVolumeGroupPagingPage(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n options,\n )) {\n yield* page;\n }\n }\n\n /**\n * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param options The options parameters.\n */\n private _listByVolumeGroup(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n options?: VolumeSnapshotsListByVolumeGroupOptionalParams,\n ): Promise<VolumeSnapshotsListByVolumeGroupResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, elasticSanName, volumeGroupName, options },\n listByVolumeGroupOperationSpec,\n );\n }\n\n /**\n * Create a Volume Snapshot.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param snapshotName The name of the volume snapshot within the given volume group.\n * @param parameters Snapshot object.\n * @param options The options parameters.\n */\n async beginCreate(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n snapshotName: string,\n parameters: Snapshot,\n options?: VolumeSnapshotsCreateOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<VolumeSnapshotsCreateResponse>,\n VolumeSnapshotsCreateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<VolumeSnapshotsCreateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n snapshotName,\n parameters,\n options,\n },\n spec: createOperationSpec,\n });\n const poller = await createHttpPoller<\n VolumeSnapshotsCreateResponse,\n OperationState<VolumeSnapshotsCreateResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Create a Volume Snapshot.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param snapshotName The name of the volume snapshot within the given volume group.\n * @param parameters Snapshot object.\n * @param options The options parameters.\n */\n async beginCreateAndWait(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n snapshotName: string,\n parameters: Snapshot,\n options?: VolumeSnapshotsCreateOptionalParams,\n ): Promise<VolumeSnapshotsCreateResponse> {\n const poller = await this.beginCreate(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n snapshotName,\n parameters,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Delete a Volume Snapshot.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param snapshotName The name of the volume snapshot within the given volume group.\n * @param options The options parameters.\n */\n async beginDelete(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n snapshotName: string,\n options?: VolumeSnapshotsDeleteOptionalParams,\n ): Promise<SimplePollerLike<OperationState<void>, void>> {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<void> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n snapshotName,\n options,\n },\n spec: deleteOperationSpec,\n });\n const poller = await createHttpPoller<void, OperationState<void>>(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Delete a Volume Snapshot.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param snapshotName The name of the volume snapshot within the given volume group.\n * @param options The options parameters.\n */\n async beginDeleteAndWait(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n snapshotName: string,\n options?: VolumeSnapshotsDeleteOptionalParams,\n ): Promise<void> {\n const poller = await this.beginDelete(\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n snapshotName,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Get a Volume Snapshot.\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param snapshotName The name of the volume snapshot within the given volume group.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n snapshotName: string,\n options?: VolumeSnapshotsGetOptionalParams,\n ): Promise<VolumeSnapshotsGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n elasticSanName,\n volumeGroupName,\n snapshotName,\n options,\n },\n getOperationSpec,\n );\n }\n\n /**\n * ListByVolumeGroupNext\n * @param resourceGroupName The name of the resource group. The name is case insensitive.\n * @param elasticSanName The name of the ElasticSan.\n * @param volumeGroupName The name of the VolumeGroup.\n * @param nextLink The nextLink from the previous successful call to the ListByVolumeGroup method.\n * @param options The options parameters.\n */\n private _listByVolumeGroupNext(\n resourceGroupName: string,\n elasticSanName: string,\n volumeGroupName: string,\n nextLink: string,\n options?: VolumeSnapshotsListByVolumeGroupNextOptionalParams,\n ): Promise<VolumeSnapshotsListByVolumeGroupNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, elasticSanName, volumeGroupName, nextLink, options },\n listByVolumeGroupNextOperationSpec,\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByVolumeGroupOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SnapshotList,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion, Parameters.filter],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.Snapshot,\n },\n 201: {\n bodyMapper: Mappers.Snapshot,\n },\n 202: {\n bodyMapper: Mappers.Snapshot,\n },\n 204: {\n bodyMapper: Mappers.Snapshot,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.parameters9,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n Parameters.snapshotName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {},\n 201: {},\n 202: {},\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n Parameters.snapshotName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.Snapshot,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.volumeGroupName,\n Parameters.snapshotName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst listByVolumeGroupNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SnapshotList,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n urlParameters: [\n Parameters.$host,\n Parameters.subscriptionId,\n Parameters.resourceGroupName,\n Parameters.elasticSanName,\n Parameters.nextLink,\n Parameters.volumeGroupName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\n"]}