@azure/arm-elasticsan 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/LICENSE +21 -0
  3. package/README.md +109 -0
  4. package/dist/index.js +2897 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.min.js +1 -0
  7. package/dist/index.min.js.map +1 -0
  8. package/dist-esm/samples-dev/elasticSansCreateSample.d.ts +2 -0
  9. package/dist-esm/samples-dev/elasticSansCreateSample.d.ts.map +1 -0
  10. package/dist-esm/samples-dev/elasticSansCreateSample.js +62 -0
  11. package/dist-esm/samples-dev/elasticSansCreateSample.js.map +1 -0
  12. package/dist-esm/samples-dev/elasticSansDeleteSample.d.ts +2 -0
  13. package/dist-esm/samples-dev/elasticSansDeleteSample.d.ts.map +1 -0
  14. package/dist-esm/samples-dev/elasticSansDeleteSample.js +49 -0
  15. package/dist-esm/samples-dev/elasticSansDeleteSample.js.map +1 -0
  16. package/dist-esm/samples-dev/elasticSansGetSample.d.ts +2 -0
  17. package/dist-esm/samples-dev/elasticSansGetSample.d.ts.map +1 -0
  18. package/dist-esm/samples-dev/elasticSansGetSample.js +49 -0
  19. package/dist-esm/samples-dev/elasticSansGetSample.js.map +1 -0
  20. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.d.ts +2 -0
  21. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.d.ts.map +1 -0
  22. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.js +75 -0
  23. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.js.map +1 -0
  24. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.d.ts +2 -0
  25. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.d.ts.map +1 -0
  26. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.js +73 -0
  27. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.js.map +1 -0
  28. package/dist-esm/samples-dev/elasticSansUpdateSample.d.ts +2 -0
  29. package/dist-esm/samples-dev/elasticSansUpdateSample.d.ts.map +1 -0
  30. package/dist-esm/samples-dev/elasticSansUpdateSample.js +55 -0
  31. package/dist-esm/samples-dev/elasticSansUpdateSample.js.map +1 -0
  32. package/dist-esm/samples-dev/operationsListSample.d.ts +2 -0
  33. package/dist-esm/samples-dev/operationsListSample.d.ts.map +1 -0
  34. package/dist-esm/samples-dev/operationsListSample.js +73 -0
  35. package/dist-esm/samples-dev/operationsListSample.js.map +1 -0
  36. package/dist-esm/samples-dev/skusListSample.d.ts +2 -0
  37. package/dist-esm/samples-dev/skusListSample.d.ts.map +1 -0
  38. package/dist-esm/samples-dev/skusListSample.js +75 -0
  39. package/dist-esm/samples-dev/skusListSample.js.map +1 -0
  40. package/dist-esm/samples-dev/volumeGroupsCreateSample.d.ts +2 -0
  41. package/dist-esm/samples-dev/volumeGroupsCreateSample.d.ts.map +1 -0
  42. package/dist-esm/samples-dev/volumeGroupsCreateSample.js +62 -0
  43. package/dist-esm/samples-dev/volumeGroupsCreateSample.js.map +1 -0
  44. package/dist-esm/samples-dev/volumeGroupsDeleteSample.d.ts +2 -0
  45. package/dist-esm/samples-dev/volumeGroupsDeleteSample.d.ts.map +1 -0
  46. package/dist-esm/samples-dev/volumeGroupsDeleteSample.js +51 -0
  47. package/dist-esm/samples-dev/volumeGroupsDeleteSample.js.map +1 -0
  48. package/dist-esm/samples-dev/volumeGroupsGetSample.d.ts +2 -0
  49. package/dist-esm/samples-dev/volumeGroupsGetSample.d.ts.map +1 -0
  50. package/dist-esm/samples-dev/volumeGroupsGetSample.js +51 -0
  51. package/dist-esm/samples-dev/volumeGroupsGetSample.js.map +1 -0
  52. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.d.ts +2 -0
  53. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.d.ts.map +1 -0
  54. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.js +77 -0
  55. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.js.map +1 -0
  56. package/dist-esm/samples-dev/volumeGroupsUpdateSample.d.ts +2 -0
  57. package/dist-esm/samples-dev/volumeGroupsUpdateSample.d.ts.map +1 -0
  58. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js +62 -0
  59. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js.map +1 -0
  60. package/dist-esm/samples-dev/volumesCreateSample.d.ts +2 -0
  61. package/dist-esm/samples-dev/volumesCreateSample.d.ts.map +1 -0
  62. package/dist-esm/samples-dev/volumesCreateSample.js +59 -0
  63. package/dist-esm/samples-dev/volumesCreateSample.js.map +1 -0
  64. package/dist-esm/samples-dev/volumesDeleteSample.d.ts +2 -0
  65. package/dist-esm/samples-dev/volumesDeleteSample.d.ts.map +1 -0
  66. package/dist-esm/samples-dev/volumesDeleteSample.js +53 -0
  67. package/dist-esm/samples-dev/volumesDeleteSample.js.map +1 -0
  68. package/dist-esm/samples-dev/volumesGetSample.d.ts +2 -0
  69. package/dist-esm/samples-dev/volumesGetSample.d.ts.map +1 -0
  70. package/dist-esm/samples-dev/volumesGetSample.js +53 -0
  71. package/dist-esm/samples-dev/volumesGetSample.js.map +1 -0
  72. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.d.ts +2 -0
  73. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.d.ts.map +1 -0
  74. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.js +79 -0
  75. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.js.map +1 -0
  76. package/dist-esm/samples-dev/volumesUpdateSample.d.ts +2 -0
  77. package/dist-esm/samples-dev/volumesUpdateSample.d.ts.map +1 -0
  78. package/dist-esm/samples-dev/volumesUpdateSample.js +58 -0
  79. package/dist-esm/samples-dev/volumesUpdateSample.js.map +1 -0
  80. package/dist-esm/src/elasticSanManagement.d.ts +24 -0
  81. package/dist-esm/src/elasticSanManagement.d.ts.map +1 -0
  82. package/dist-esm/src/elasticSanManagement.js +107 -0
  83. package/dist-esm/src/elasticSanManagement.js.map +1 -0
  84. package/dist-esm/src/index.d.ts +5 -0
  85. package/dist-esm/src/index.d.ts.map +1 -0
  86. package/dist-esm/src/index.js +12 -0
  87. package/dist-esm/src/index.js.map +1 -0
  88. package/dist-esm/src/lroImpl.d.ts +16 -0
  89. package/dist-esm/src/lroImpl.d.ts.map +1 -0
  90. package/dist-esm/src/lroImpl.js +29 -0
  91. package/dist-esm/src/lroImpl.js.map +1 -0
  92. package/dist-esm/src/models/index.d.ts +691 -0
  93. package/dist-esm/src/models/index.d.ts.map +1 -0
  94. package/dist-esm/src/models/index.js +88 -0
  95. package/dist-esm/src/models/index.js.map +1 -0
  96. package/dist-esm/src/models/mappers.d.ts +29 -0
  97. package/dist-esm/src/models/mappers.d.ts.map +1 -0
  98. package/dist-esm/src/models/mappers.js +877 -0
  99. package/dist-esm/src/models/mappers.js.map +1 -0
  100. package/dist-esm/src/models/parameters.d.ts +19 -0
  101. package/dist-esm/src/models/parameters.d.ts.map +1 -0
  102. package/dist-esm/src/models/parameters.js +170 -0
  103. package/dist-esm/src/models/parameters.js.map +1 -0
  104. package/dist-esm/src/operations/elasticSans.d.ts +107 -0
  105. package/dist-esm/src/operations/elasticSans.d.ts.map +1 -0
  106. package/dist-esm/src/operations/elasticSans.js +509 -0
  107. package/dist-esm/src/operations/elasticSans.js.map +1 -0
  108. package/dist-esm/src/operations/index.d.ts +6 -0
  109. package/dist-esm/src/operations/index.d.ts.map +1 -0
  110. package/dist-esm/src/operations/index.js +13 -0
  111. package/dist-esm/src/operations/index.js.map +1 -0
  112. package/dist-esm/src/operations/operations.d.ts +26 -0
  113. package/dist-esm/src/operations/operations.d.ts.map +1 -0
  114. package/dist-esm/src/operations/operations.js +90 -0
  115. package/dist-esm/src/operations/operations.js.map +1 -0
  116. package/dist-esm/src/operations/skus.d.ts +26 -0
  117. package/dist-esm/src/operations/skus.d.ts.map +1 -0
  118. package/dist-esm/src/operations/skus.js +90 -0
  119. package/dist-esm/src/operations/skus.js.map +1 -0
  120. package/dist-esm/src/operations/volumeGroups.d.ts +99 -0
  121. package/dist-esm/src/operations/volumeGroups.d.ts.map +1 -0
  122. package/dist-esm/src/operations/volumeGroups.js +438 -0
  123. package/dist-esm/src/operations/volumeGroups.js.map +1 -0
  124. package/dist-esm/src/operations/volumes.d.ts +109 -0
  125. package/dist-esm/src/operations/volumes.d.ts.map +1 -0
  126. package/dist-esm/src/operations/volumes.js +468 -0
  127. package/dist-esm/src/operations/volumes.js.map +1 -0
  128. package/dist-esm/src/operationsInterfaces/elasticSans.d.ts +71 -0
  129. package/dist-esm/src/operationsInterfaces/elasticSans.d.ts.map +1 -0
  130. package/dist-esm/src/operationsInterfaces/elasticSans.js +9 -0
  131. package/dist-esm/src/operationsInterfaces/elasticSans.js.map +1 -0
  132. package/dist-esm/src/operationsInterfaces/index.d.ts +6 -0
  133. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
  134. package/dist-esm/src/operationsInterfaces/index.js +13 -0
  135. package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
  136. package/dist-esm/src/operationsInterfaces/operations.d.ts +11 -0
  137. package/dist-esm/src/operationsInterfaces/operations.d.ts.map +1 -0
  138. package/dist-esm/src/operationsInterfaces/operations.js +9 -0
  139. package/dist-esm/src/operationsInterfaces/operations.js.map +1 -0
  140. package/dist-esm/src/operationsInterfaces/skus.d.ts +11 -0
  141. package/dist-esm/src/operationsInterfaces/skus.d.ts.map +1 -0
  142. package/dist-esm/src/operationsInterfaces/skus.js +9 -0
  143. package/dist-esm/src/operationsInterfaces/skus.js.map +1 -0
  144. package/dist-esm/src/operationsInterfaces/volumeGroups.d.ts +74 -0
  145. package/dist-esm/src/operationsInterfaces/volumeGroups.d.ts.map +1 -0
  146. package/dist-esm/src/operationsInterfaces/volumeGroups.js +9 -0
  147. package/dist-esm/src/operationsInterfaces/volumeGroups.js.map +1 -0
  148. package/dist-esm/src/operationsInterfaces/volumes.d.ts +82 -0
  149. package/dist-esm/src/operationsInterfaces/volumes.d.ts.map +1 -0
  150. package/dist-esm/src/operationsInterfaces/volumes.js +9 -0
  151. package/dist-esm/src/operationsInterfaces/volumes.js.map +1 -0
  152. package/dist-esm/test/elasticsan_examples.spec.d.ts +4 -0
  153. package/dist-esm/test/elasticsan_examples.spec.d.ts.map +1 -0
  154. package/dist-esm/test/elasticsan_examples.spec.js +80 -0
  155. package/dist-esm/test/elasticsan_examples.spec.js.map +1 -0
  156. package/package.json +122 -0
  157. package/review/arm-elasticsan.api.md +536 -0
  158. package/rollup.config.js +122 -0
  159. package/src/elasticSanManagement.ts +161 -0
  160. package/src/index.ts +12 -0
  161. package/src/lroImpl.ts +34 -0
  162. package/src/models/index.ts +787 -0
  163. package/src/models/mappers.ts +935 -0
  164. package/src/models/parameters.ts +199 -0
  165. package/src/operations/elasticSans.ts +683 -0
  166. package/src/operations/index.ts +13 -0
  167. package/src/operations/operations.ts +98 -0
  168. package/src/operations/skus.ts +96 -0
  169. package/src/operations/volumeGroups.ts +629 -0
  170. package/src/operations/volumes.ts +673 -0
  171. package/src/operationsInterfaces/elasticSans.ts +139 -0
  172. package/src/operationsInterfaces/index.ts +13 -0
  173. package/src/operationsInterfaces/operations.ts +22 -0
  174. package/src/operationsInterfaces/skus.ts +22 -0
  175. package/src/operationsInterfaces/volumeGroups.ts +147 -0
  176. package/src/operationsInterfaces/volumes.ts +157 -0
  177. package/tsconfig.json +33 -0
  178. package/types/arm-elasticsan.d.ts +1036 -0
  179. package/types/tsdoc-metadata.json +11 -0
package/dist/index.js ADDED
@@ -0,0 +1,2897 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var tslib = require('tslib');
6
+ var coreClient = require('@azure/core-client');
7
+ var coreRestPipeline = require('@azure/core-rest-pipeline');
8
+ var coreLro = require('@azure/core-lro');
9
+
10
+ function _interopNamespace(e) {
11
+ if (e && e.__esModule) return e;
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () { return e[k]; }
20
+ });
21
+ }
22
+ });
23
+ }
24
+ n["default"] = e;
25
+ return Object.freeze(n);
26
+ }
27
+
28
+ var coreClient__namespace = /*#__PURE__*/_interopNamespace(coreClient);
29
+ var coreRestPipeline__namespace = /*#__PURE__*/_interopNamespace(coreRestPipeline);
30
+
31
+ /*
32
+ * Copyright (c) Microsoft Corporation.
33
+ * Licensed under the MIT License.
34
+ *
35
+ * Code generated by Microsoft (R) AutoRest Code Generator.
36
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
37
+ */
38
+ /** Known values of {@link SkuName} that the service accepts. */
39
+ exports.KnownSkuName = void 0;
40
+ (function (KnownSkuName) {
41
+ /** Premium locally redundant storage */
42
+ KnownSkuName["PremiumLRS"] = "Premium_LRS";
43
+ /** Premium zone redundant storage */
44
+ KnownSkuName["PremiumZRS"] = "Premium_ZRS";
45
+ })(exports.KnownSkuName || (exports.KnownSkuName = {}));
46
+ /** Known values of {@link SkuTier} that the service accepts. */
47
+ exports.KnownSkuTier = void 0;
48
+ (function (KnownSkuTier) {
49
+ /** Premium Tier */
50
+ KnownSkuTier["Premium"] = "Premium";
51
+ })(exports.KnownSkuTier || (exports.KnownSkuTier = {}));
52
+ /** Known values of {@link ProvisioningStates} that the service accepts. */
53
+ exports.KnownProvisioningStates = void 0;
54
+ (function (KnownProvisioningStates) {
55
+ /** Invalid */
56
+ KnownProvisioningStates["Invalid"] = "Invalid";
57
+ /** Succeeded */
58
+ KnownProvisioningStates["Succeeded"] = "Succeeded";
59
+ /** Failed */
60
+ KnownProvisioningStates["Failed"] = "Failed";
61
+ /** Canceled */
62
+ KnownProvisioningStates["Canceled"] = "Canceled";
63
+ /** Pending */
64
+ KnownProvisioningStates["Pending"] = "Pending";
65
+ /** Creating */
66
+ KnownProvisioningStates["Creating"] = "Creating";
67
+ /** Updating */
68
+ KnownProvisioningStates["Updating"] = "Updating";
69
+ /** Deleting */
70
+ KnownProvisioningStates["Deleting"] = "Deleting";
71
+ })(exports.KnownProvisioningStates || (exports.KnownProvisioningStates = {}));
72
+ /** Known values of {@link CreatedByType} that the service accepts. */
73
+ exports.KnownCreatedByType = void 0;
74
+ (function (KnownCreatedByType) {
75
+ /** User */
76
+ KnownCreatedByType["User"] = "User";
77
+ /** Application */
78
+ KnownCreatedByType["Application"] = "Application";
79
+ /** ManagedIdentity */
80
+ KnownCreatedByType["ManagedIdentity"] = "ManagedIdentity";
81
+ /** Key */
82
+ KnownCreatedByType["Key"] = "Key";
83
+ })(exports.KnownCreatedByType || (exports.KnownCreatedByType = {}));
84
+ /** Known values of {@link StorageTargetType} that the service accepts. */
85
+ exports.KnownStorageTargetType = void 0;
86
+ (function (KnownStorageTargetType) {
87
+ /** Iscsi */
88
+ KnownStorageTargetType["Iscsi"] = "Iscsi";
89
+ /** None */
90
+ KnownStorageTargetType["None"] = "None";
91
+ })(exports.KnownStorageTargetType || (exports.KnownStorageTargetType = {}));
92
+ /** Known values of {@link EncryptionType} that the service accepts. */
93
+ exports.KnownEncryptionType = void 0;
94
+ (function (KnownEncryptionType) {
95
+ /** Volume is encrypted at rest with Platform managed key. It is the default encryption type. */
96
+ KnownEncryptionType["EncryptionAtRestWithPlatformKey"] = "EncryptionAtRestWithPlatformKey";
97
+ })(exports.KnownEncryptionType || (exports.KnownEncryptionType = {}));
98
+ /** Known values of {@link OperationalStatus} that the service accepts. */
99
+ exports.KnownOperationalStatus = void 0;
100
+ (function (KnownOperationalStatus) {
101
+ /** Invalid */
102
+ KnownOperationalStatus["Invalid"] = "Invalid";
103
+ /** Unknown */
104
+ KnownOperationalStatus["Unknown"] = "Unknown";
105
+ /** Healthy */
106
+ KnownOperationalStatus["Healthy"] = "Healthy";
107
+ /** Unhealthy */
108
+ KnownOperationalStatus["Unhealthy"] = "Unhealthy";
109
+ /** Updating */
110
+ KnownOperationalStatus["Updating"] = "Updating";
111
+ /** Running */
112
+ KnownOperationalStatus["Running"] = "Running";
113
+ /** Stopped */
114
+ KnownOperationalStatus["Stopped"] = "Stopped";
115
+ /** StoppedDeallocated */
116
+ KnownOperationalStatus["StoppedDeallocated"] = "Stopped (deallocated)";
117
+ })(exports.KnownOperationalStatus || (exports.KnownOperationalStatus = {}));
118
+
119
+ /*
120
+ * Copyright (c) Microsoft Corporation.
121
+ * Licensed under the MIT License.
122
+ *
123
+ * Code generated by Microsoft (R) AutoRest Code Generator.
124
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
125
+ */
126
+ const ElasticSanOperationListResult = {
127
+ type: {
128
+ name: "Composite",
129
+ className: "ElasticSanOperationListResult",
130
+ modelProperties: {
131
+ value: {
132
+ serializedName: "value",
133
+ required: true,
134
+ type: {
135
+ name: "Sequence",
136
+ element: {
137
+ type: {
138
+ name: "Composite",
139
+ className: "ElasticSanRPOperation"
140
+ }
141
+ }
142
+ }
143
+ },
144
+ nextLink: {
145
+ serializedName: "nextLink",
146
+ type: {
147
+ name: "String"
148
+ }
149
+ }
150
+ }
151
+ }
152
+ };
153
+ const ElasticSanRPOperation = {
154
+ type: {
155
+ name: "Composite",
156
+ className: "ElasticSanRPOperation",
157
+ modelProperties: {
158
+ name: {
159
+ serializedName: "name",
160
+ required: true,
161
+ type: {
162
+ name: "String"
163
+ }
164
+ },
165
+ isDataAction: {
166
+ serializedName: "isDataAction",
167
+ readOnly: true,
168
+ type: {
169
+ name: "Boolean"
170
+ }
171
+ },
172
+ display: {
173
+ serializedName: "display",
174
+ type: {
175
+ name: "Composite",
176
+ className: "ElasticSanOperationDisplay"
177
+ }
178
+ }
179
+ }
180
+ }
181
+ };
182
+ const ElasticSanOperationDisplay = {
183
+ type: {
184
+ name: "Composite",
185
+ className: "ElasticSanOperationDisplay",
186
+ modelProperties: {
187
+ provider: {
188
+ serializedName: "provider",
189
+ required: true,
190
+ type: {
191
+ name: "String"
192
+ }
193
+ },
194
+ resource: {
195
+ serializedName: "resource",
196
+ required: true,
197
+ type: {
198
+ name: "String"
199
+ }
200
+ },
201
+ operation: {
202
+ serializedName: "operation",
203
+ required: true,
204
+ type: {
205
+ name: "String"
206
+ }
207
+ },
208
+ description: {
209
+ serializedName: "description",
210
+ required: true,
211
+ type: {
212
+ name: "String"
213
+ }
214
+ }
215
+ }
216
+ }
217
+ };
218
+ const ErrorModel = {
219
+ type: {
220
+ name: "Composite",
221
+ className: "ErrorModel",
222
+ modelProperties: {
223
+ error: {
224
+ serializedName: "error",
225
+ type: {
226
+ name: "Composite",
227
+ className: "ErrorResponse"
228
+ }
229
+ }
230
+ }
231
+ }
232
+ };
233
+ const ErrorResponse = {
234
+ type: {
235
+ name: "Composite",
236
+ className: "ErrorResponse",
237
+ modelProperties: {
238
+ code: {
239
+ serializedName: "code",
240
+ readOnly: true,
241
+ type: {
242
+ name: "String"
243
+ }
244
+ },
245
+ message: {
246
+ serializedName: "message",
247
+ readOnly: true,
248
+ type: {
249
+ name: "String"
250
+ }
251
+ },
252
+ target: {
253
+ serializedName: "target",
254
+ readOnly: true,
255
+ type: {
256
+ name: "String"
257
+ }
258
+ },
259
+ details: {
260
+ serializedName: "details",
261
+ readOnly: true,
262
+ type: {
263
+ name: "Sequence",
264
+ element: {
265
+ type: {
266
+ name: "Composite",
267
+ className: "ErrorResponse"
268
+ }
269
+ }
270
+ }
271
+ },
272
+ additionalInfo: {
273
+ serializedName: "additionalInfo",
274
+ readOnly: true,
275
+ type: {
276
+ name: "Sequence",
277
+ element: {
278
+ type: {
279
+ name: "Composite",
280
+ className: "ErrorAdditionalInfo"
281
+ }
282
+ }
283
+ }
284
+ }
285
+ }
286
+ }
287
+ };
288
+ const ErrorAdditionalInfo = {
289
+ type: {
290
+ name: "Composite",
291
+ className: "ErrorAdditionalInfo",
292
+ modelProperties: {
293
+ type: {
294
+ serializedName: "type",
295
+ readOnly: true,
296
+ type: {
297
+ name: "String"
298
+ }
299
+ },
300
+ info: {
301
+ serializedName: "info",
302
+ readOnly: true,
303
+ type: {
304
+ name: "Dictionary",
305
+ value: { type: { name: "any" } }
306
+ }
307
+ }
308
+ }
309
+ }
310
+ };
311
+ const SkuInformationList = {
312
+ type: {
313
+ name: "Composite",
314
+ className: "SkuInformationList",
315
+ modelProperties: {
316
+ value: {
317
+ serializedName: "value",
318
+ readOnly: true,
319
+ type: {
320
+ name: "Sequence",
321
+ element: {
322
+ type: {
323
+ name: "Composite",
324
+ className: "SkuInformation"
325
+ }
326
+ }
327
+ }
328
+ }
329
+ }
330
+ }
331
+ };
332
+ const SkuInformation = {
333
+ type: {
334
+ name: "Composite",
335
+ className: "SkuInformation",
336
+ modelProperties: {
337
+ name: {
338
+ serializedName: "name",
339
+ required: true,
340
+ type: {
341
+ name: "String"
342
+ }
343
+ },
344
+ tier: {
345
+ serializedName: "tier",
346
+ type: {
347
+ name: "String"
348
+ }
349
+ },
350
+ resourceType: {
351
+ serializedName: "resourceType",
352
+ readOnly: true,
353
+ type: {
354
+ name: "String"
355
+ }
356
+ },
357
+ locations: {
358
+ serializedName: "locations",
359
+ readOnly: true,
360
+ type: {
361
+ name: "Sequence",
362
+ element: {
363
+ type: {
364
+ name: "String"
365
+ }
366
+ }
367
+ }
368
+ },
369
+ locationInfo: {
370
+ serializedName: "locationInfo",
371
+ readOnly: true,
372
+ type: {
373
+ name: "Sequence",
374
+ element: {
375
+ type: {
376
+ name: "Composite",
377
+ className: "SkuLocationInfo"
378
+ }
379
+ }
380
+ }
381
+ },
382
+ capabilities: {
383
+ serializedName: "capabilities",
384
+ readOnly: true,
385
+ type: {
386
+ name: "Sequence",
387
+ element: {
388
+ type: {
389
+ name: "Composite",
390
+ className: "SKUCapability"
391
+ }
392
+ }
393
+ }
394
+ }
395
+ }
396
+ }
397
+ };
398
+ const SkuLocationInfo = {
399
+ type: {
400
+ name: "Composite",
401
+ className: "SkuLocationInfo",
402
+ modelProperties: {
403
+ location: {
404
+ serializedName: "location",
405
+ readOnly: true,
406
+ type: {
407
+ name: "String"
408
+ }
409
+ },
410
+ zones: {
411
+ serializedName: "zones",
412
+ readOnly: true,
413
+ type: {
414
+ name: "Sequence",
415
+ element: {
416
+ type: {
417
+ name: "String"
418
+ }
419
+ }
420
+ }
421
+ }
422
+ }
423
+ }
424
+ };
425
+ const SKUCapability = {
426
+ type: {
427
+ name: "Composite",
428
+ className: "SKUCapability",
429
+ modelProperties: {
430
+ name: {
431
+ serializedName: "name",
432
+ readOnly: true,
433
+ type: {
434
+ name: "String"
435
+ }
436
+ },
437
+ value: {
438
+ serializedName: "value",
439
+ readOnly: true,
440
+ type: {
441
+ name: "String"
442
+ }
443
+ }
444
+ }
445
+ }
446
+ };
447
+ const ElasticSanList = {
448
+ type: {
449
+ name: "Composite",
450
+ className: "ElasticSanList",
451
+ modelProperties: {
452
+ value: {
453
+ serializedName: "value",
454
+ required: true,
455
+ type: {
456
+ name: "Sequence",
457
+ element: {
458
+ type: {
459
+ name: "Composite",
460
+ className: "ElasticSan"
461
+ }
462
+ }
463
+ }
464
+ },
465
+ nextLink: {
466
+ serializedName: "nextLink",
467
+ readOnly: true,
468
+ type: {
469
+ name: "String"
470
+ }
471
+ }
472
+ }
473
+ }
474
+ };
475
+ const Sku = {
476
+ type: {
477
+ name: "Composite",
478
+ className: "Sku",
479
+ modelProperties: {
480
+ name: {
481
+ serializedName: "name",
482
+ required: true,
483
+ type: {
484
+ name: "String"
485
+ }
486
+ },
487
+ tier: {
488
+ serializedName: "tier",
489
+ type: {
490
+ name: "String"
491
+ }
492
+ }
493
+ }
494
+ }
495
+ };
496
+ const SystemData = {
497
+ type: {
498
+ name: "Composite",
499
+ className: "SystemData",
500
+ modelProperties: {
501
+ createdBy: {
502
+ serializedName: "createdBy",
503
+ type: {
504
+ name: "String"
505
+ }
506
+ },
507
+ createdByType: {
508
+ serializedName: "createdByType",
509
+ type: {
510
+ name: "String"
511
+ }
512
+ },
513
+ createdAt: {
514
+ serializedName: "createdAt",
515
+ type: {
516
+ name: "DateTime"
517
+ }
518
+ },
519
+ lastModifiedBy: {
520
+ serializedName: "lastModifiedBy",
521
+ type: {
522
+ name: "String"
523
+ }
524
+ },
525
+ lastModifiedByType: {
526
+ serializedName: "lastModifiedByType",
527
+ type: {
528
+ name: "String"
529
+ }
530
+ },
531
+ lastModifiedAt: {
532
+ serializedName: "lastModifiedAt",
533
+ type: {
534
+ name: "DateTime"
535
+ }
536
+ }
537
+ }
538
+ }
539
+ };
540
+ const Resource = {
541
+ type: {
542
+ name: "Composite",
543
+ className: "Resource",
544
+ modelProperties: {
545
+ id: {
546
+ serializedName: "id",
547
+ readOnly: true,
548
+ type: {
549
+ name: "String"
550
+ }
551
+ },
552
+ name: {
553
+ serializedName: "name",
554
+ readOnly: true,
555
+ type: {
556
+ name: "String"
557
+ }
558
+ },
559
+ type: {
560
+ serializedName: "type",
561
+ readOnly: true,
562
+ type: {
563
+ name: "String"
564
+ }
565
+ },
566
+ tags: {
567
+ serializedName: "tags",
568
+ type: {
569
+ name: "Dictionary",
570
+ value: { type: { name: "String" } }
571
+ }
572
+ }
573
+ }
574
+ }
575
+ };
576
+ const ElasticSanUpdate = {
577
+ type: {
578
+ name: "Composite",
579
+ className: "ElasticSanUpdate",
580
+ modelProperties: {
581
+ tags: {
582
+ serializedName: "tags",
583
+ type: {
584
+ name: "Dictionary",
585
+ value: { type: { name: "String" } }
586
+ }
587
+ },
588
+ baseSizeTiB: {
589
+ serializedName: "properties.baseSizeTiB",
590
+ type: {
591
+ name: "Number"
592
+ }
593
+ },
594
+ extendedCapacitySizeTiB: {
595
+ serializedName: "properties.extendedCapacitySizeTiB",
596
+ type: {
597
+ name: "Number"
598
+ }
599
+ }
600
+ }
601
+ }
602
+ };
603
+ const VolumeGroupList = {
604
+ type: {
605
+ name: "Composite",
606
+ className: "VolumeGroupList",
607
+ modelProperties: {
608
+ value: {
609
+ serializedName: "value",
610
+ required: true,
611
+ type: {
612
+ name: "Sequence",
613
+ element: {
614
+ type: {
615
+ name: "Composite",
616
+ className: "VolumeGroup"
617
+ }
618
+ }
619
+ }
620
+ },
621
+ nextLink: {
622
+ serializedName: "nextLink",
623
+ readOnly: true,
624
+ type: {
625
+ name: "String"
626
+ }
627
+ }
628
+ }
629
+ }
630
+ };
631
+ const NetworkRuleSet = {
632
+ type: {
633
+ name: "Composite",
634
+ className: "NetworkRuleSet",
635
+ modelProperties: {
636
+ virtualNetworkRules: {
637
+ serializedName: "virtualNetworkRules",
638
+ type: {
639
+ name: "Sequence",
640
+ element: {
641
+ type: {
642
+ name: "Composite",
643
+ className: "VirtualNetworkRule"
644
+ }
645
+ }
646
+ }
647
+ }
648
+ }
649
+ }
650
+ };
651
+ const VirtualNetworkRule = {
652
+ type: {
653
+ name: "Composite",
654
+ className: "VirtualNetworkRule",
655
+ modelProperties: {
656
+ virtualNetworkResourceId: {
657
+ serializedName: "id",
658
+ required: true,
659
+ type: {
660
+ name: "String"
661
+ }
662
+ },
663
+ action: {
664
+ defaultValue: "Allow",
665
+ isConstant: true,
666
+ serializedName: "action",
667
+ type: {
668
+ name: "String"
669
+ }
670
+ },
671
+ state: {
672
+ serializedName: "state",
673
+ readOnly: true,
674
+ type: {
675
+ name: "Enum",
676
+ allowedValues: [
677
+ "provisioning",
678
+ "deprovisioning",
679
+ "succeeded",
680
+ "failed",
681
+ "networkSourceDeleted"
682
+ ]
683
+ }
684
+ }
685
+ }
686
+ }
687
+ };
688
+ const VolumeGroupUpdate = {
689
+ type: {
690
+ name: "Composite",
691
+ className: "VolumeGroupUpdate",
692
+ modelProperties: {
693
+ tags: {
694
+ serializedName: "tags",
695
+ type: {
696
+ name: "Dictionary",
697
+ value: { type: { name: "String" } }
698
+ }
699
+ },
700
+ protocolType: {
701
+ serializedName: "properties.protocolType",
702
+ type: {
703
+ name: "String"
704
+ }
705
+ },
706
+ encryption: {
707
+ serializedName: "properties.encryption",
708
+ type: {
709
+ name: "String"
710
+ }
711
+ },
712
+ networkAcls: {
713
+ serializedName: "properties.networkAcls",
714
+ type: {
715
+ name: "Composite",
716
+ className: "NetworkRuleSet"
717
+ }
718
+ }
719
+ }
720
+ }
721
+ };
722
+ const SourceCreationData = {
723
+ type: {
724
+ name: "Composite",
725
+ className: "SourceCreationData",
726
+ modelProperties: {
727
+ createSource: {
728
+ defaultValue: "None",
729
+ isConstant: true,
730
+ serializedName: "createSource",
731
+ type: {
732
+ name: "String"
733
+ }
734
+ },
735
+ sourceUri: {
736
+ serializedName: "sourceUri",
737
+ type: {
738
+ name: "String"
739
+ }
740
+ }
741
+ }
742
+ }
743
+ };
744
+ const IscsiTargetInfo = {
745
+ type: {
746
+ name: "Composite",
747
+ className: "IscsiTargetInfo",
748
+ modelProperties: {
749
+ targetIqn: {
750
+ serializedName: "targetIqn",
751
+ readOnly: true,
752
+ type: {
753
+ name: "String"
754
+ }
755
+ },
756
+ targetPortalHostname: {
757
+ serializedName: "targetPortalHostname",
758
+ readOnly: true,
759
+ type: {
760
+ name: "String"
761
+ }
762
+ },
763
+ targetPortalPort: {
764
+ serializedName: "targetPortalPort",
765
+ readOnly: true,
766
+ type: {
767
+ name: "Number"
768
+ }
769
+ },
770
+ provisioningState: {
771
+ serializedName: "provisioningState",
772
+ readOnly: true,
773
+ type: {
774
+ name: "String"
775
+ }
776
+ },
777
+ status: {
778
+ serializedName: "status",
779
+ type: {
780
+ name: "String"
781
+ }
782
+ }
783
+ }
784
+ }
785
+ };
786
+ const VolumeUpdate = {
787
+ type: {
788
+ name: "Composite",
789
+ className: "VolumeUpdate",
790
+ modelProperties: {
791
+ tags: {
792
+ serializedName: "tags",
793
+ type: {
794
+ name: "Dictionary",
795
+ value: { type: { name: "String" } }
796
+ }
797
+ },
798
+ sizeGiB: {
799
+ serializedName: "properties.sizeGiB",
800
+ type: {
801
+ name: "Number"
802
+ }
803
+ }
804
+ }
805
+ }
806
+ };
807
+ const VolumeList = {
808
+ type: {
809
+ name: "Composite",
810
+ className: "VolumeList",
811
+ modelProperties: {
812
+ value: {
813
+ serializedName: "value",
814
+ required: true,
815
+ type: {
816
+ name: "Sequence",
817
+ element: {
818
+ type: {
819
+ name: "Composite",
820
+ className: "Volume"
821
+ }
822
+ }
823
+ }
824
+ },
825
+ nextLink: {
826
+ serializedName: "nextLink",
827
+ readOnly: true,
828
+ type: {
829
+ name: "String"
830
+ }
831
+ }
832
+ }
833
+ }
834
+ };
835
+ const TrackedResource = {
836
+ type: {
837
+ name: "Composite",
838
+ className: "TrackedResource",
839
+ modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { location: {
840
+ serializedName: "location",
841
+ type: {
842
+ name: "String"
843
+ }
844
+ } })
845
+ }
846
+ };
847
+ const VolumeGroup = {
848
+ type: {
849
+ name: "Composite",
850
+ className: "VolumeGroup",
851
+ modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { systemData: {
852
+ serializedName: "systemData",
853
+ type: {
854
+ name: "Composite",
855
+ className: "SystemData"
856
+ }
857
+ }, provisioningState: {
858
+ serializedName: "properties.provisioningState",
859
+ readOnly: true,
860
+ type: {
861
+ name: "String"
862
+ }
863
+ }, protocolType: {
864
+ serializedName: "properties.protocolType",
865
+ type: {
866
+ name: "String"
867
+ }
868
+ }, encryption: {
869
+ serializedName: "properties.encryption",
870
+ type: {
871
+ name: "String"
872
+ }
873
+ }, networkAcls: {
874
+ serializedName: "properties.networkAcls",
875
+ type: {
876
+ name: "Composite",
877
+ className: "NetworkRuleSet"
878
+ }
879
+ } })
880
+ }
881
+ };
882
+ const Volume = {
883
+ type: {
884
+ name: "Composite",
885
+ className: "Volume",
886
+ modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { systemData: {
887
+ serializedName: "systemData",
888
+ type: {
889
+ name: "Composite",
890
+ className: "SystemData"
891
+ }
892
+ }, volumeId: {
893
+ serializedName: "properties.volumeId",
894
+ readOnly: true,
895
+ type: {
896
+ name: "String"
897
+ }
898
+ }, creationData: {
899
+ serializedName: "properties.creationData",
900
+ type: {
901
+ name: "Composite",
902
+ className: "SourceCreationData"
903
+ }
904
+ }, sizeGiB: {
905
+ serializedName: "properties.sizeGiB",
906
+ type: {
907
+ name: "Number"
908
+ }
909
+ }, storageTarget: {
910
+ serializedName: "properties.storageTarget",
911
+ type: {
912
+ name: "Composite",
913
+ className: "IscsiTargetInfo"
914
+ }
915
+ } })
916
+ }
917
+ };
918
+ const ElasticSan = {
919
+ type: {
920
+ name: "Composite",
921
+ className: "ElasticSan",
922
+ modelProperties: Object.assign(Object.assign({}, TrackedResource.type.modelProperties), { systemData: {
923
+ serializedName: "systemData",
924
+ type: {
925
+ name: "Composite",
926
+ className: "SystemData"
927
+ }
928
+ }, sku: {
929
+ serializedName: "properties.sku",
930
+ type: {
931
+ name: "Composite",
932
+ className: "Sku"
933
+ }
934
+ }, availabilityZones: {
935
+ serializedName: "properties.availabilityZones",
936
+ type: {
937
+ name: "Sequence",
938
+ element: {
939
+ type: {
940
+ name: "String"
941
+ }
942
+ }
943
+ }
944
+ }, provisioningState: {
945
+ serializedName: "properties.provisioningState",
946
+ readOnly: true,
947
+ type: {
948
+ name: "String"
949
+ }
950
+ }, baseSizeTiB: {
951
+ serializedName: "properties.baseSizeTiB",
952
+ required: true,
953
+ type: {
954
+ name: "Number"
955
+ }
956
+ }, extendedCapacitySizeTiB: {
957
+ serializedName: "properties.extendedCapacitySizeTiB",
958
+ required: true,
959
+ type: {
960
+ name: "Number"
961
+ }
962
+ }, totalVolumeSizeGiB: {
963
+ serializedName: "properties.totalVolumeSizeGiB",
964
+ readOnly: true,
965
+ type: {
966
+ name: "Number"
967
+ }
968
+ }, volumeGroupCount: {
969
+ serializedName: "properties.volumeGroupCount",
970
+ readOnly: true,
971
+ type: {
972
+ name: "Number"
973
+ }
974
+ }, totalIops: {
975
+ serializedName: "properties.totalIops",
976
+ readOnly: true,
977
+ type: {
978
+ name: "Number"
979
+ }
980
+ }, totalMBps: {
981
+ serializedName: "properties.totalMBps",
982
+ readOnly: true,
983
+ type: {
984
+ name: "Number"
985
+ }
986
+ }, totalSizeTiB: {
987
+ serializedName: "properties.totalSizeTiB",
988
+ readOnly: true,
989
+ type: {
990
+ name: "Number"
991
+ }
992
+ } })
993
+ }
994
+ };
995
+
996
+ var Mappers = /*#__PURE__*/Object.freeze({
997
+ __proto__: null,
998
+ ElasticSanOperationListResult: ElasticSanOperationListResult,
999
+ ElasticSanRPOperation: ElasticSanRPOperation,
1000
+ ElasticSanOperationDisplay: ElasticSanOperationDisplay,
1001
+ ErrorModel: ErrorModel,
1002
+ ErrorResponse: ErrorResponse,
1003
+ ErrorAdditionalInfo: ErrorAdditionalInfo,
1004
+ SkuInformationList: SkuInformationList,
1005
+ SkuInformation: SkuInformation,
1006
+ SkuLocationInfo: SkuLocationInfo,
1007
+ SKUCapability: SKUCapability,
1008
+ ElasticSanList: ElasticSanList,
1009
+ Sku: Sku,
1010
+ SystemData: SystemData,
1011
+ Resource: Resource,
1012
+ ElasticSanUpdate: ElasticSanUpdate,
1013
+ VolumeGroupList: VolumeGroupList,
1014
+ NetworkRuleSet: NetworkRuleSet,
1015
+ VirtualNetworkRule: VirtualNetworkRule,
1016
+ VolumeGroupUpdate: VolumeGroupUpdate,
1017
+ SourceCreationData: SourceCreationData,
1018
+ IscsiTargetInfo: IscsiTargetInfo,
1019
+ VolumeUpdate: VolumeUpdate,
1020
+ VolumeList: VolumeList,
1021
+ TrackedResource: TrackedResource,
1022
+ VolumeGroup: VolumeGroup,
1023
+ Volume: Volume,
1024
+ ElasticSan: ElasticSan
1025
+ });
1026
+
1027
+ /*
1028
+ * Copyright (c) Microsoft Corporation.
1029
+ * Licensed under the MIT License.
1030
+ *
1031
+ * Code generated by Microsoft (R) AutoRest Code Generator.
1032
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1033
+ */
1034
+ const accept = {
1035
+ parameterPath: "accept",
1036
+ mapper: {
1037
+ defaultValue: "application/json",
1038
+ isConstant: true,
1039
+ serializedName: "Accept",
1040
+ type: {
1041
+ name: "String"
1042
+ }
1043
+ }
1044
+ };
1045
+ const $host = {
1046
+ parameterPath: "$host",
1047
+ mapper: {
1048
+ serializedName: "$host",
1049
+ required: true,
1050
+ type: {
1051
+ name: "String"
1052
+ }
1053
+ },
1054
+ skipEncoding: true
1055
+ };
1056
+ const apiVersion = {
1057
+ parameterPath: "apiVersion",
1058
+ mapper: {
1059
+ defaultValue: "2021-11-20-preview",
1060
+ isConstant: true,
1061
+ serializedName: "api-version",
1062
+ type: {
1063
+ name: "String"
1064
+ }
1065
+ }
1066
+ };
1067
+ const subscriptionId = {
1068
+ parameterPath: "subscriptionId",
1069
+ mapper: {
1070
+ constraints: {
1071
+ MinLength: 1
1072
+ },
1073
+ serializedName: "subscriptionId",
1074
+ required: true,
1075
+ type: {
1076
+ name: "String"
1077
+ }
1078
+ }
1079
+ };
1080
+ const filter = {
1081
+ parameterPath: ["options", "filter"],
1082
+ mapper: {
1083
+ serializedName: "$filter",
1084
+ type: {
1085
+ name: "String"
1086
+ }
1087
+ }
1088
+ };
1089
+ const resourceGroupName = {
1090
+ parameterPath: "resourceGroupName",
1091
+ mapper: {
1092
+ constraints: {
1093
+ Pattern: new RegExp("^[-\\w\\._]*[0-9A-Za-z]$"),
1094
+ MaxLength: 90,
1095
+ MinLength: 1
1096
+ },
1097
+ serializedName: "resourceGroupName",
1098
+ required: true,
1099
+ type: {
1100
+ name: "String"
1101
+ }
1102
+ }
1103
+ };
1104
+ const contentType = {
1105
+ parameterPath: ["options", "contentType"],
1106
+ mapper: {
1107
+ defaultValue: "application/json",
1108
+ isConstant: true,
1109
+ serializedName: "Content-Type",
1110
+ type: {
1111
+ name: "String"
1112
+ }
1113
+ }
1114
+ };
1115
+ const parameters = {
1116
+ parameterPath: "parameters",
1117
+ mapper: ElasticSan
1118
+ };
1119
+ const elasticSanName = {
1120
+ parameterPath: "elasticSanName",
1121
+ mapper: {
1122
+ constraints: {
1123
+ Pattern: new RegExp("^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$"),
1124
+ MaxLength: 24,
1125
+ MinLength: 3
1126
+ },
1127
+ serializedName: "elasticSanName",
1128
+ required: true,
1129
+ type: {
1130
+ name: "String"
1131
+ }
1132
+ }
1133
+ };
1134
+ const parameters1 = {
1135
+ parameterPath: "parameters",
1136
+ mapper: ElasticSanUpdate
1137
+ };
1138
+ const nextLink = {
1139
+ parameterPath: "nextLink",
1140
+ mapper: {
1141
+ serializedName: "nextLink",
1142
+ required: true,
1143
+ type: {
1144
+ name: "String"
1145
+ }
1146
+ },
1147
+ skipEncoding: true
1148
+ };
1149
+ const parameters2 = {
1150
+ parameterPath: "parameters",
1151
+ mapper: VolumeGroup
1152
+ };
1153
+ const volumeGroupName = {
1154
+ parameterPath: "volumeGroupName",
1155
+ mapper: {
1156
+ constraints: {
1157
+ Pattern: new RegExp("^[A-Za-z0-9]+((-|_)[a-z0-9A-Z]+)*$"),
1158
+ MaxLength: 63,
1159
+ MinLength: 3
1160
+ },
1161
+ serializedName: "volumeGroupName",
1162
+ required: true,
1163
+ type: {
1164
+ name: "String"
1165
+ }
1166
+ }
1167
+ };
1168
+ const parameters3 = {
1169
+ parameterPath: "parameters",
1170
+ mapper: VolumeGroupUpdate
1171
+ };
1172
+ const parameters4 = {
1173
+ parameterPath: "parameters",
1174
+ mapper: Volume
1175
+ };
1176
+ const volumeName = {
1177
+ parameterPath: "volumeName",
1178
+ mapper: {
1179
+ constraints: {
1180
+ Pattern: new RegExp("^[a-z0-9]+(-[a-z0-9A-Z]+)*$"),
1181
+ MaxLength: 63,
1182
+ MinLength: 3
1183
+ },
1184
+ serializedName: "volumeName",
1185
+ required: true,
1186
+ type: {
1187
+ name: "String"
1188
+ }
1189
+ }
1190
+ };
1191
+ const parameters5 = {
1192
+ parameterPath: "parameters",
1193
+ mapper: VolumeUpdate
1194
+ };
1195
+
1196
+ /*
1197
+ * Copyright (c) Microsoft Corporation.
1198
+ * Licensed under the MIT License.
1199
+ *
1200
+ * Code generated by Microsoft (R) AutoRest Code Generator.
1201
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1202
+ */
1203
+ /// <reference lib="esnext.asynciterable" />
1204
+ /** Class containing Operations operations. */
1205
+ class OperationsImpl {
1206
+ /**
1207
+ * Initialize a new instance of the class Operations class.
1208
+ * @param client Reference to the service client
1209
+ */
1210
+ constructor(client) {
1211
+ this.client = client;
1212
+ }
1213
+ /**
1214
+ * Gets a list of ElasticSan operations.
1215
+ * @param options The options parameters.
1216
+ */
1217
+ list(options) {
1218
+ const iter = this.listPagingAll(options);
1219
+ return {
1220
+ next() {
1221
+ return iter.next();
1222
+ },
1223
+ [Symbol.asyncIterator]() {
1224
+ return this;
1225
+ },
1226
+ byPage: () => {
1227
+ return this.listPagingPage(options);
1228
+ }
1229
+ };
1230
+ }
1231
+ listPagingPage(options) {
1232
+ return tslib.__asyncGenerator(this, arguments, function* listPagingPage_1() {
1233
+ let result = yield tslib.__await(this._list(options));
1234
+ yield yield tslib.__await(result.value || []);
1235
+ });
1236
+ }
1237
+ listPagingAll(options) {
1238
+ return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
1239
+ var e_1, _a;
1240
+ try {
1241
+ for (var _b = tslib.__asyncValues(this.listPagingPage(options)), _c; _c = yield tslib.__await(_b.next()), !_c.done;) {
1242
+ const page = _c.value;
1243
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1244
+ }
1245
+ }
1246
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1247
+ finally {
1248
+ try {
1249
+ if (_c && !_c.done && (_a = _b.return)) yield tslib.__await(_a.call(_b));
1250
+ }
1251
+ finally { if (e_1) throw e_1.error; }
1252
+ }
1253
+ });
1254
+ }
1255
+ /**
1256
+ * Gets a list of ElasticSan operations.
1257
+ * @param options The options parameters.
1258
+ */
1259
+ _list(options) {
1260
+ return this.client.sendOperationRequest({ options }, listOperationSpec$1);
1261
+ }
1262
+ }
1263
+ // Operation Specifications
1264
+ const serializer$4 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1265
+ const listOperationSpec$1 = {
1266
+ path: "/providers/Microsoft.ElasticSan/operations",
1267
+ httpMethod: "GET",
1268
+ responses: {
1269
+ 200: {
1270
+ bodyMapper: ElasticSanOperationListResult
1271
+ },
1272
+ default: {
1273
+ bodyMapper: ErrorModel
1274
+ }
1275
+ },
1276
+ queryParameters: [apiVersion],
1277
+ urlParameters: [$host],
1278
+ headerParameters: [accept],
1279
+ serializer: serializer$4
1280
+ };
1281
+
1282
+ /*
1283
+ * Copyright (c) Microsoft Corporation.
1284
+ * Licensed under the MIT License.
1285
+ *
1286
+ * Code generated by Microsoft (R) AutoRest Code Generator.
1287
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1288
+ */
1289
+ /// <reference lib="esnext.asynciterable" />
1290
+ /** Class containing Skus operations. */
1291
+ class SkusImpl {
1292
+ /**
1293
+ * Initialize a new instance of the class Skus class.
1294
+ * @param client Reference to the service client
1295
+ */
1296
+ constructor(client) {
1297
+ this.client = client;
1298
+ }
1299
+ /**
1300
+ * List all the available Skus in the region and information related to them
1301
+ * @param options The options parameters.
1302
+ */
1303
+ list(options) {
1304
+ const iter = this.listPagingAll(options);
1305
+ return {
1306
+ next() {
1307
+ return iter.next();
1308
+ },
1309
+ [Symbol.asyncIterator]() {
1310
+ return this;
1311
+ },
1312
+ byPage: () => {
1313
+ return this.listPagingPage(options);
1314
+ }
1315
+ };
1316
+ }
1317
+ listPagingPage(options) {
1318
+ return tslib.__asyncGenerator(this, arguments, function* listPagingPage_1() {
1319
+ let result = yield tslib.__await(this._list(options));
1320
+ yield yield tslib.__await(result.value || []);
1321
+ });
1322
+ }
1323
+ listPagingAll(options) {
1324
+ return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
1325
+ var e_1, _a;
1326
+ try {
1327
+ for (var _b = tslib.__asyncValues(this.listPagingPage(options)), _c; _c = yield tslib.__await(_b.next()), !_c.done;) {
1328
+ const page = _c.value;
1329
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1330
+ }
1331
+ }
1332
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1333
+ finally {
1334
+ try {
1335
+ if (_c && !_c.done && (_a = _b.return)) yield tslib.__await(_a.call(_b));
1336
+ }
1337
+ finally { if (e_1) throw e_1.error; }
1338
+ }
1339
+ });
1340
+ }
1341
+ /**
1342
+ * List all the available Skus in the region and information related to them
1343
+ * @param options The options parameters.
1344
+ */
1345
+ _list(options) {
1346
+ return this.client.sendOperationRequest({ options }, listOperationSpec);
1347
+ }
1348
+ }
1349
+ // Operation Specifications
1350
+ const serializer$3 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1351
+ const listOperationSpec = {
1352
+ path: "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/skus",
1353
+ httpMethod: "GET",
1354
+ responses: {
1355
+ 200: {
1356
+ bodyMapper: SkuInformationList
1357
+ },
1358
+ default: {
1359
+ bodyMapper: ErrorModel
1360
+ }
1361
+ },
1362
+ queryParameters: [apiVersion, filter],
1363
+ urlParameters: [$host, subscriptionId],
1364
+ headerParameters: [accept],
1365
+ serializer: serializer$3
1366
+ };
1367
+
1368
+ /*
1369
+ * Copyright (c) Microsoft Corporation.
1370
+ * Licensed under the MIT License.
1371
+ *
1372
+ * Code generated by Microsoft (R) AutoRest Code Generator.
1373
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1374
+ */
1375
+ class LroImpl {
1376
+ constructor(sendOperationFn, args, spec, requestPath = spec.path, requestMethod = spec.httpMethod) {
1377
+ this.sendOperationFn = sendOperationFn;
1378
+ this.args = args;
1379
+ this.spec = spec;
1380
+ this.requestPath = requestPath;
1381
+ this.requestMethod = requestMethod;
1382
+ }
1383
+ sendInitialRequest() {
1384
+ return tslib.__awaiter(this, void 0, void 0, function* () {
1385
+ return this.sendOperationFn(this.args, this.spec);
1386
+ });
1387
+ }
1388
+ sendPollRequest(path) {
1389
+ return tslib.__awaiter(this, void 0, void 0, function* () {
1390
+ const _a = this.spec, restSpec = tslib.__rest(_a, ["requestBody"]);
1391
+ return this.sendOperationFn(this.args, Object.assign(Object.assign({}, restSpec), { path, httpMethod: "GET" }));
1392
+ });
1393
+ }
1394
+ }
1395
+
1396
+ /*
1397
+ * Copyright (c) Microsoft Corporation.
1398
+ * Licensed under the MIT License.
1399
+ *
1400
+ * Code generated by Microsoft (R) AutoRest Code Generator.
1401
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1402
+ */
1403
+ /// <reference lib="esnext.asynciterable" />
1404
+ /** Class containing ElasticSans operations. */
1405
+ class ElasticSansImpl {
1406
+ /**
1407
+ * Initialize a new instance of the class ElasticSans class.
1408
+ * @param client Reference to the service client
1409
+ */
1410
+ constructor(client) {
1411
+ this.client = client;
1412
+ }
1413
+ /**
1414
+ * Gets a list of ElasticSans in a subscription
1415
+ * @param options The options parameters.
1416
+ */
1417
+ listBySubscription(options) {
1418
+ const iter = this.listBySubscriptionPagingAll(options);
1419
+ return {
1420
+ next() {
1421
+ return iter.next();
1422
+ },
1423
+ [Symbol.asyncIterator]() {
1424
+ return this;
1425
+ },
1426
+ byPage: () => {
1427
+ return this.listBySubscriptionPagingPage(options);
1428
+ }
1429
+ };
1430
+ }
1431
+ listBySubscriptionPagingPage(options) {
1432
+ return tslib.__asyncGenerator(this, arguments, function* listBySubscriptionPagingPage_1() {
1433
+ let result = yield tslib.__await(this._listBySubscription(options));
1434
+ yield yield tslib.__await(result.value || []);
1435
+ let continuationToken = result.nextLink;
1436
+ while (continuationToken) {
1437
+ result = yield tslib.__await(this._listBySubscriptionNext(continuationToken, options));
1438
+ continuationToken = result.nextLink;
1439
+ yield yield tslib.__await(result.value || []);
1440
+ }
1441
+ });
1442
+ }
1443
+ listBySubscriptionPagingAll(options) {
1444
+ return tslib.__asyncGenerator(this, arguments, function* listBySubscriptionPagingAll_1() {
1445
+ var e_1, _a;
1446
+ try {
1447
+ for (var _b = tslib.__asyncValues(this.listBySubscriptionPagingPage(options)), _c; _c = yield tslib.__await(_b.next()), !_c.done;) {
1448
+ const page = _c.value;
1449
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1450
+ }
1451
+ }
1452
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1453
+ finally {
1454
+ try {
1455
+ if (_c && !_c.done && (_a = _b.return)) yield tslib.__await(_a.call(_b));
1456
+ }
1457
+ finally { if (e_1) throw e_1.error; }
1458
+ }
1459
+ });
1460
+ }
1461
+ /**
1462
+ * Gets a list of ElasticSan in a resource group.
1463
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1464
+ * @param options The options parameters.
1465
+ */
1466
+ listByResourceGroup(resourceGroupName, options) {
1467
+ const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);
1468
+ return {
1469
+ next() {
1470
+ return iter.next();
1471
+ },
1472
+ [Symbol.asyncIterator]() {
1473
+ return this;
1474
+ },
1475
+ byPage: () => {
1476
+ return this.listByResourceGroupPagingPage(resourceGroupName, options);
1477
+ }
1478
+ };
1479
+ }
1480
+ listByResourceGroupPagingPage(resourceGroupName, options) {
1481
+ return tslib.__asyncGenerator(this, arguments, function* listByResourceGroupPagingPage_1() {
1482
+ let result = yield tslib.__await(this._listByResourceGroup(resourceGroupName, options));
1483
+ yield yield tslib.__await(result.value || []);
1484
+ let continuationToken = result.nextLink;
1485
+ while (continuationToken) {
1486
+ result = yield tslib.__await(this._listByResourceGroupNext(resourceGroupName, continuationToken, options));
1487
+ continuationToken = result.nextLink;
1488
+ yield yield tslib.__await(result.value || []);
1489
+ }
1490
+ });
1491
+ }
1492
+ listByResourceGroupPagingAll(resourceGroupName, options) {
1493
+ return tslib.__asyncGenerator(this, arguments, function* listByResourceGroupPagingAll_1() {
1494
+ var e_2, _a;
1495
+ try {
1496
+ for (var _b = tslib.__asyncValues(this.listByResourceGroupPagingPage(resourceGroupName, options)), _c; _c = yield tslib.__await(_b.next()), !_c.done;) {
1497
+ const page = _c.value;
1498
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1499
+ }
1500
+ }
1501
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1502
+ finally {
1503
+ try {
1504
+ if (_c && !_c.done && (_a = _b.return)) yield tslib.__await(_a.call(_b));
1505
+ }
1506
+ finally { if (e_2) throw e_2.error; }
1507
+ }
1508
+ });
1509
+ }
1510
+ /**
1511
+ * Gets a list of ElasticSans in a subscription
1512
+ * @param options The options parameters.
1513
+ */
1514
+ _listBySubscription(options) {
1515
+ return this.client.sendOperationRequest({ options }, listBySubscriptionOperationSpec);
1516
+ }
1517
+ /**
1518
+ * Gets a list of ElasticSan in a resource group.
1519
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1520
+ * @param options The options parameters.
1521
+ */
1522
+ _listByResourceGroup(resourceGroupName, options) {
1523
+ return this.client.sendOperationRequest({ resourceGroupName, options }, listByResourceGroupOperationSpec);
1524
+ }
1525
+ /**
1526
+ * Create ElasticSan.
1527
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1528
+ * @param elasticSanName The name of the ElasticSan.
1529
+ * @param parameters Elastic San object.
1530
+ * @param options The options parameters.
1531
+ */
1532
+ beginCreate(resourceGroupName, elasticSanName, parameters, options) {
1533
+ return tslib.__awaiter(this, void 0, void 0, function* () {
1534
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1535
+ return this.client.sendOperationRequest(args, spec);
1536
+ });
1537
+ const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1538
+ var _a;
1539
+ let currentRawResponse = undefined;
1540
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
1541
+ const callback = (rawResponse, flatResponse) => {
1542
+ currentRawResponse = rawResponse;
1543
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
1544
+ };
1545
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
1546
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
1547
+ return {
1548
+ flatResponse,
1549
+ rawResponse: {
1550
+ statusCode: currentRawResponse.status,
1551
+ body: currentRawResponse.parsedBody,
1552
+ headers: currentRawResponse.headers.toJSON()
1553
+ }
1554
+ };
1555
+ });
1556
+ const lro = new LroImpl(sendOperation, { resourceGroupName, elasticSanName, parameters, options }, createOperationSpec$2);
1557
+ const poller = new coreLro.LroEngine(lro, {
1558
+ resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
1559
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
1560
+ lroResourceLocationConfig: "azure-async-operation"
1561
+ });
1562
+ yield poller.poll();
1563
+ return poller;
1564
+ });
1565
+ }
1566
+ /**
1567
+ * Create ElasticSan.
1568
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1569
+ * @param elasticSanName The name of the ElasticSan.
1570
+ * @param parameters Elastic San object.
1571
+ * @param options The options parameters.
1572
+ */
1573
+ beginCreateAndWait(resourceGroupName, elasticSanName, parameters, options) {
1574
+ return tslib.__awaiter(this, void 0, void 0, function* () {
1575
+ const poller = yield this.beginCreate(resourceGroupName, elasticSanName, parameters, options);
1576
+ return poller.pollUntilDone();
1577
+ });
1578
+ }
1579
+ /**
1580
+ * Update a Elastic San.
1581
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1582
+ * @param elasticSanName The name of the ElasticSan.
1583
+ * @param parameters Elastic San object.
1584
+ * @param options The options parameters.
1585
+ */
1586
+ beginUpdate(resourceGroupName, elasticSanName, parameters, options) {
1587
+ return tslib.__awaiter(this, void 0, void 0, function* () {
1588
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1589
+ return this.client.sendOperationRequest(args, spec);
1590
+ });
1591
+ const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1592
+ var _a;
1593
+ let currentRawResponse = undefined;
1594
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
1595
+ const callback = (rawResponse, flatResponse) => {
1596
+ currentRawResponse = rawResponse;
1597
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
1598
+ };
1599
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
1600
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
1601
+ return {
1602
+ flatResponse,
1603
+ rawResponse: {
1604
+ statusCode: currentRawResponse.status,
1605
+ body: currentRawResponse.parsedBody,
1606
+ headers: currentRawResponse.headers.toJSON()
1607
+ }
1608
+ };
1609
+ });
1610
+ const lro = new LroImpl(sendOperation, { resourceGroupName, elasticSanName, parameters, options }, updateOperationSpec$2);
1611
+ const poller = new coreLro.LroEngine(lro, {
1612
+ resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
1613
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
1614
+ lroResourceLocationConfig: "azure-async-operation"
1615
+ });
1616
+ yield poller.poll();
1617
+ return poller;
1618
+ });
1619
+ }
1620
+ /**
1621
+ * Update a Elastic San.
1622
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1623
+ * @param elasticSanName The name of the ElasticSan.
1624
+ * @param parameters Elastic San object.
1625
+ * @param options The options parameters.
1626
+ */
1627
+ beginUpdateAndWait(resourceGroupName, elasticSanName, parameters, options) {
1628
+ return tslib.__awaiter(this, void 0, void 0, function* () {
1629
+ const poller = yield this.beginUpdate(resourceGroupName, elasticSanName, parameters, options);
1630
+ return poller.pollUntilDone();
1631
+ });
1632
+ }
1633
+ /**
1634
+ * Delete a Elastic San.
1635
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1636
+ * @param elasticSanName The name of the ElasticSan.
1637
+ * @param options The options parameters.
1638
+ */
1639
+ beginDelete(resourceGroupName, elasticSanName, options) {
1640
+ return tslib.__awaiter(this, void 0, void 0, function* () {
1641
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1642
+ return this.client.sendOperationRequest(args, spec);
1643
+ });
1644
+ const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1645
+ var _a;
1646
+ let currentRawResponse = undefined;
1647
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
1648
+ const callback = (rawResponse, flatResponse) => {
1649
+ currentRawResponse = rawResponse;
1650
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
1651
+ };
1652
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
1653
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
1654
+ return {
1655
+ flatResponse,
1656
+ rawResponse: {
1657
+ statusCode: currentRawResponse.status,
1658
+ body: currentRawResponse.parsedBody,
1659
+ headers: currentRawResponse.headers.toJSON()
1660
+ }
1661
+ };
1662
+ });
1663
+ const lro = new LroImpl(sendOperation, { resourceGroupName, elasticSanName, options }, deleteOperationSpec$2);
1664
+ const poller = new coreLro.LroEngine(lro, {
1665
+ resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
1666
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
1667
+ lroResourceLocationConfig: "azure-async-operation"
1668
+ });
1669
+ yield poller.poll();
1670
+ return poller;
1671
+ });
1672
+ }
1673
+ /**
1674
+ * Delete a Elastic San.
1675
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1676
+ * @param elasticSanName The name of the ElasticSan.
1677
+ * @param options The options parameters.
1678
+ */
1679
+ beginDeleteAndWait(resourceGroupName, elasticSanName, options) {
1680
+ return tslib.__awaiter(this, void 0, void 0, function* () {
1681
+ const poller = yield this.beginDelete(resourceGroupName, elasticSanName, options);
1682
+ return poller.pollUntilDone();
1683
+ });
1684
+ }
1685
+ /**
1686
+ * Get a ElasticSan.
1687
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1688
+ * @param elasticSanName The name of the ElasticSan.
1689
+ * @param options The options parameters.
1690
+ */
1691
+ get(resourceGroupName, elasticSanName, options) {
1692
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, getOperationSpec$2);
1693
+ }
1694
+ /**
1695
+ * ListBySubscriptionNext
1696
+ * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.
1697
+ * @param options The options parameters.
1698
+ */
1699
+ _listBySubscriptionNext(nextLink, options) {
1700
+ return this.client.sendOperationRequest({ nextLink, options }, listBySubscriptionNextOperationSpec);
1701
+ }
1702
+ /**
1703
+ * ListByResourceGroupNext
1704
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1705
+ * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
1706
+ * @param options The options parameters.
1707
+ */
1708
+ _listByResourceGroupNext(resourceGroupName, nextLink, options) {
1709
+ return this.client.sendOperationRequest({ resourceGroupName, nextLink, options }, listByResourceGroupNextOperationSpec);
1710
+ }
1711
+ }
1712
+ // Operation Specifications
1713
+ const serializer$2 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1714
+ const listBySubscriptionOperationSpec = {
1715
+ path: "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/elasticSans",
1716
+ httpMethod: "GET",
1717
+ responses: {
1718
+ 200: {
1719
+ bodyMapper: ElasticSanList
1720
+ },
1721
+ default: {
1722
+ bodyMapper: ErrorModel
1723
+ }
1724
+ },
1725
+ queryParameters: [apiVersion],
1726
+ urlParameters: [$host, subscriptionId],
1727
+ headerParameters: [accept],
1728
+ serializer: serializer$2
1729
+ };
1730
+ const listByResourceGroupOperationSpec = {
1731
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans",
1732
+ httpMethod: "GET",
1733
+ responses: {
1734
+ 200: {
1735
+ bodyMapper: ElasticSanList
1736
+ },
1737
+ default: {
1738
+ bodyMapper: ErrorModel
1739
+ }
1740
+ },
1741
+ queryParameters: [apiVersion],
1742
+ urlParameters: [
1743
+ $host,
1744
+ subscriptionId,
1745
+ resourceGroupName
1746
+ ],
1747
+ headerParameters: [accept],
1748
+ serializer: serializer$2
1749
+ };
1750
+ const createOperationSpec$2 = {
1751
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
1752
+ httpMethod: "PUT",
1753
+ responses: {
1754
+ 200: {
1755
+ bodyMapper: ElasticSan
1756
+ },
1757
+ 201: {
1758
+ bodyMapper: ElasticSan
1759
+ },
1760
+ 202: {
1761
+ bodyMapper: ElasticSan
1762
+ },
1763
+ 204: {
1764
+ bodyMapper: ElasticSan
1765
+ },
1766
+ default: {
1767
+ bodyMapper: ErrorModel
1768
+ }
1769
+ },
1770
+ requestBody: parameters,
1771
+ queryParameters: [apiVersion],
1772
+ urlParameters: [
1773
+ $host,
1774
+ subscriptionId,
1775
+ resourceGroupName,
1776
+ elasticSanName
1777
+ ],
1778
+ headerParameters: [accept, contentType],
1779
+ mediaType: "json",
1780
+ serializer: serializer$2
1781
+ };
1782
+ const updateOperationSpec$2 = {
1783
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
1784
+ httpMethod: "PATCH",
1785
+ responses: {
1786
+ 200: {
1787
+ bodyMapper: ElasticSan
1788
+ },
1789
+ 201: {
1790
+ bodyMapper: ElasticSan
1791
+ },
1792
+ 202: {
1793
+ bodyMapper: ElasticSan
1794
+ },
1795
+ 204: {
1796
+ bodyMapper: ElasticSan
1797
+ },
1798
+ default: {
1799
+ bodyMapper: ErrorModel
1800
+ }
1801
+ },
1802
+ requestBody: parameters1,
1803
+ queryParameters: [apiVersion],
1804
+ urlParameters: [
1805
+ $host,
1806
+ subscriptionId,
1807
+ resourceGroupName,
1808
+ elasticSanName
1809
+ ],
1810
+ headerParameters: [accept, contentType],
1811
+ mediaType: "json",
1812
+ serializer: serializer$2
1813
+ };
1814
+ const deleteOperationSpec$2 = {
1815
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
1816
+ httpMethod: "DELETE",
1817
+ responses: {
1818
+ 200: {},
1819
+ 201: {},
1820
+ 202: {},
1821
+ 204: {},
1822
+ default: {
1823
+ bodyMapper: ErrorModel
1824
+ }
1825
+ },
1826
+ queryParameters: [apiVersion],
1827
+ urlParameters: [
1828
+ $host,
1829
+ subscriptionId,
1830
+ resourceGroupName,
1831
+ elasticSanName
1832
+ ],
1833
+ headerParameters: [accept],
1834
+ serializer: serializer$2
1835
+ };
1836
+ const getOperationSpec$2 = {
1837
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
1838
+ httpMethod: "GET",
1839
+ responses: {
1840
+ 200: {
1841
+ bodyMapper: ElasticSan
1842
+ },
1843
+ default: {
1844
+ bodyMapper: ErrorModel
1845
+ }
1846
+ },
1847
+ queryParameters: [apiVersion],
1848
+ urlParameters: [
1849
+ $host,
1850
+ subscriptionId,
1851
+ resourceGroupName,
1852
+ elasticSanName
1853
+ ],
1854
+ headerParameters: [accept],
1855
+ serializer: serializer$2
1856
+ };
1857
+ const listBySubscriptionNextOperationSpec = {
1858
+ path: "{nextLink}",
1859
+ httpMethod: "GET",
1860
+ responses: {
1861
+ 200: {
1862
+ bodyMapper: ElasticSanList
1863
+ },
1864
+ default: {
1865
+ bodyMapper: ErrorModel
1866
+ }
1867
+ },
1868
+ queryParameters: [apiVersion],
1869
+ urlParameters: [
1870
+ $host,
1871
+ subscriptionId,
1872
+ nextLink
1873
+ ],
1874
+ headerParameters: [accept],
1875
+ serializer: serializer$2
1876
+ };
1877
+ const listByResourceGroupNextOperationSpec = {
1878
+ path: "{nextLink}",
1879
+ httpMethod: "GET",
1880
+ responses: {
1881
+ 200: {
1882
+ bodyMapper: ElasticSanList
1883
+ },
1884
+ default: {
1885
+ bodyMapper: ErrorModel
1886
+ }
1887
+ },
1888
+ queryParameters: [apiVersion],
1889
+ urlParameters: [
1890
+ $host,
1891
+ subscriptionId,
1892
+ resourceGroupName,
1893
+ nextLink
1894
+ ],
1895
+ headerParameters: [accept],
1896
+ serializer: serializer$2
1897
+ };
1898
+
1899
+ /*
1900
+ * Copyright (c) Microsoft Corporation.
1901
+ * Licensed under the MIT License.
1902
+ *
1903
+ * Code generated by Microsoft (R) AutoRest Code Generator.
1904
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1905
+ */
1906
+ /// <reference lib="esnext.asynciterable" />
1907
+ /** Class containing VolumeGroups operations. */
1908
+ class VolumeGroupsImpl {
1909
+ /**
1910
+ * Initialize a new instance of the class VolumeGroups class.
1911
+ * @param client Reference to the service client
1912
+ */
1913
+ constructor(client) {
1914
+ this.client = client;
1915
+ }
1916
+ /**
1917
+ * List VolumeGroups.
1918
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1919
+ * @param elasticSanName The name of the ElasticSan.
1920
+ * @param options The options parameters.
1921
+ */
1922
+ listByElasticSan(resourceGroupName, elasticSanName, options) {
1923
+ const iter = this.listByElasticSanPagingAll(resourceGroupName, elasticSanName, options);
1924
+ return {
1925
+ next() {
1926
+ return iter.next();
1927
+ },
1928
+ [Symbol.asyncIterator]() {
1929
+ return this;
1930
+ },
1931
+ byPage: () => {
1932
+ return this.listByElasticSanPagingPage(resourceGroupName, elasticSanName, options);
1933
+ }
1934
+ };
1935
+ }
1936
+ listByElasticSanPagingPage(resourceGroupName, elasticSanName, options) {
1937
+ return tslib.__asyncGenerator(this, arguments, function* listByElasticSanPagingPage_1() {
1938
+ let result = yield tslib.__await(this._listByElasticSan(resourceGroupName, elasticSanName, options));
1939
+ yield yield tslib.__await(result.value || []);
1940
+ let continuationToken = result.nextLink;
1941
+ while (continuationToken) {
1942
+ result = yield tslib.__await(this._listByElasticSanNext(resourceGroupName, elasticSanName, continuationToken, options));
1943
+ continuationToken = result.nextLink;
1944
+ yield yield tslib.__await(result.value || []);
1945
+ }
1946
+ });
1947
+ }
1948
+ listByElasticSanPagingAll(resourceGroupName, elasticSanName, options) {
1949
+ return tslib.__asyncGenerator(this, arguments, function* listByElasticSanPagingAll_1() {
1950
+ var e_1, _a;
1951
+ try {
1952
+ for (var _b = tslib.__asyncValues(this.listByElasticSanPagingPage(resourceGroupName, elasticSanName, options)), _c; _c = yield tslib.__await(_b.next()), !_c.done;) {
1953
+ const page = _c.value;
1954
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1955
+ }
1956
+ }
1957
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1958
+ finally {
1959
+ try {
1960
+ if (_c && !_c.done && (_a = _b.return)) yield tslib.__await(_a.call(_b));
1961
+ }
1962
+ finally { if (e_1) throw e_1.error; }
1963
+ }
1964
+ });
1965
+ }
1966
+ /**
1967
+ * List VolumeGroups.
1968
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1969
+ * @param elasticSanName The name of the ElasticSan.
1970
+ * @param options The options parameters.
1971
+ */
1972
+ _listByElasticSan(resourceGroupName, elasticSanName, options) {
1973
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, listByElasticSanOperationSpec);
1974
+ }
1975
+ /**
1976
+ * Create a Volume Group.
1977
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1978
+ * @param elasticSanName The name of the ElasticSan.
1979
+ * @param volumeGroupName The name of the VolumeGroup.
1980
+ * @param parameters Volume Group object.
1981
+ * @param options The options parameters.
1982
+ */
1983
+ beginCreate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
1984
+ return tslib.__awaiter(this, void 0, void 0, function* () {
1985
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1986
+ return this.client.sendOperationRequest(args, spec);
1987
+ });
1988
+ const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1989
+ var _a;
1990
+ let currentRawResponse = undefined;
1991
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
1992
+ const callback = (rawResponse, flatResponse) => {
1993
+ currentRawResponse = rawResponse;
1994
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
1995
+ };
1996
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
1997
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
1998
+ return {
1999
+ flatResponse,
2000
+ rawResponse: {
2001
+ statusCode: currentRawResponse.status,
2002
+ body: currentRawResponse.parsedBody,
2003
+ headers: currentRawResponse.headers.toJSON()
2004
+ }
2005
+ };
2006
+ });
2007
+ const lro = new LroImpl(sendOperation, {
2008
+ resourceGroupName,
2009
+ elasticSanName,
2010
+ volumeGroupName,
2011
+ parameters,
2012
+ options
2013
+ }, createOperationSpec$1);
2014
+ const poller = new coreLro.LroEngine(lro, {
2015
+ resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2016
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2017
+ lroResourceLocationConfig: "azure-async-operation"
2018
+ });
2019
+ yield poller.poll();
2020
+ return poller;
2021
+ });
2022
+ }
2023
+ /**
2024
+ * Create a Volume Group.
2025
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2026
+ * @param elasticSanName The name of the ElasticSan.
2027
+ * @param volumeGroupName The name of the VolumeGroup.
2028
+ * @param parameters Volume Group object.
2029
+ * @param options The options parameters.
2030
+ */
2031
+ beginCreateAndWait(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
2032
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2033
+ const poller = yield this.beginCreate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options);
2034
+ return poller.pollUntilDone();
2035
+ });
2036
+ }
2037
+ /**
2038
+ * Update an VolumeGroup.
2039
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2040
+ * @param elasticSanName The name of the ElasticSan.
2041
+ * @param volumeGroupName The name of the VolumeGroup.
2042
+ * @param parameters Volume Group object.
2043
+ * @param options The options parameters.
2044
+ */
2045
+ beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
2046
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2047
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2048
+ return this.client.sendOperationRequest(args, spec);
2049
+ });
2050
+ const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2051
+ var _a;
2052
+ let currentRawResponse = undefined;
2053
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
2054
+ const callback = (rawResponse, flatResponse) => {
2055
+ currentRawResponse = rawResponse;
2056
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
2057
+ };
2058
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
2059
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
2060
+ return {
2061
+ flatResponse,
2062
+ rawResponse: {
2063
+ statusCode: currentRawResponse.status,
2064
+ body: currentRawResponse.parsedBody,
2065
+ headers: currentRawResponse.headers.toJSON()
2066
+ }
2067
+ };
2068
+ });
2069
+ const lro = new LroImpl(sendOperation, {
2070
+ resourceGroupName,
2071
+ elasticSanName,
2072
+ volumeGroupName,
2073
+ parameters,
2074
+ options
2075
+ }, updateOperationSpec$1);
2076
+ const poller = new coreLro.LroEngine(lro, {
2077
+ resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2078
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2079
+ lroResourceLocationConfig: "azure-async-operation"
2080
+ });
2081
+ yield poller.poll();
2082
+ return poller;
2083
+ });
2084
+ }
2085
+ /**
2086
+ * Update an VolumeGroup.
2087
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2088
+ * @param elasticSanName The name of the ElasticSan.
2089
+ * @param volumeGroupName The name of the VolumeGroup.
2090
+ * @param parameters Volume Group object.
2091
+ * @param options The options parameters.
2092
+ */
2093
+ beginUpdateAndWait(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
2094
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2095
+ const poller = yield this.beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options);
2096
+ return poller.pollUntilDone();
2097
+ });
2098
+ }
2099
+ /**
2100
+ * Delete an VolumeGroup.
2101
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2102
+ * @param elasticSanName The name of the ElasticSan.
2103
+ * @param volumeGroupName The name of the VolumeGroup.
2104
+ * @param options The options parameters.
2105
+ */
2106
+ beginDelete(resourceGroupName, elasticSanName, volumeGroupName, options) {
2107
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2108
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2109
+ return this.client.sendOperationRequest(args, spec);
2110
+ });
2111
+ const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2112
+ var _a;
2113
+ let currentRawResponse = undefined;
2114
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
2115
+ const callback = (rawResponse, flatResponse) => {
2116
+ currentRawResponse = rawResponse;
2117
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
2118
+ };
2119
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
2120
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
2121
+ return {
2122
+ flatResponse,
2123
+ rawResponse: {
2124
+ statusCode: currentRawResponse.status,
2125
+ body: currentRawResponse.parsedBody,
2126
+ headers: currentRawResponse.headers.toJSON()
2127
+ }
2128
+ };
2129
+ });
2130
+ const lro = new LroImpl(sendOperation, { resourceGroupName, elasticSanName, volumeGroupName, options }, deleteOperationSpec$1);
2131
+ const poller = new coreLro.LroEngine(lro, {
2132
+ resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2133
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2134
+ lroResourceLocationConfig: "azure-async-operation"
2135
+ });
2136
+ yield poller.poll();
2137
+ return poller;
2138
+ });
2139
+ }
2140
+ /**
2141
+ * Delete an VolumeGroup.
2142
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2143
+ * @param elasticSanName The name of the ElasticSan.
2144
+ * @param volumeGroupName The name of the VolumeGroup.
2145
+ * @param options The options parameters.
2146
+ */
2147
+ beginDeleteAndWait(resourceGroupName, elasticSanName, volumeGroupName, options) {
2148
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2149
+ const poller = yield this.beginDelete(resourceGroupName, elasticSanName, volumeGroupName, options);
2150
+ return poller.pollUntilDone();
2151
+ });
2152
+ }
2153
+ /**
2154
+ * Get an VolumeGroups.
2155
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2156
+ * @param elasticSanName The name of the ElasticSan.
2157
+ * @param volumeGroupName The name of the VolumeGroup.
2158
+ * @param options The options parameters.
2159
+ */
2160
+ get(resourceGroupName, elasticSanName, volumeGroupName, options) {
2161
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, getOperationSpec$1);
2162
+ }
2163
+ /**
2164
+ * ListByElasticSanNext
2165
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2166
+ * @param elasticSanName The name of the ElasticSan.
2167
+ * @param nextLink The nextLink from the previous successful call to the ListByElasticSan method.
2168
+ * @param options The options parameters.
2169
+ */
2170
+ _listByElasticSanNext(resourceGroupName, elasticSanName, nextLink, options) {
2171
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, nextLink, options }, listByElasticSanNextOperationSpec);
2172
+ }
2173
+ }
2174
+ // Operation Specifications
2175
+ const serializer$1 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2176
+ const listByElasticSanOperationSpec = {
2177
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumeGroups",
2178
+ httpMethod: "GET",
2179
+ responses: {
2180
+ 200: {
2181
+ bodyMapper: VolumeGroupList
2182
+ },
2183
+ default: {
2184
+ bodyMapper: ErrorModel
2185
+ }
2186
+ },
2187
+ queryParameters: [apiVersion],
2188
+ urlParameters: [
2189
+ $host,
2190
+ subscriptionId,
2191
+ resourceGroupName,
2192
+ elasticSanName
2193
+ ],
2194
+ headerParameters: [accept],
2195
+ serializer: serializer$1
2196
+ };
2197
+ const createOperationSpec$1 = {
2198
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2199
+ httpMethod: "PUT",
2200
+ responses: {
2201
+ 200: {
2202
+ bodyMapper: VolumeGroup
2203
+ },
2204
+ 201: {
2205
+ bodyMapper: VolumeGroup
2206
+ },
2207
+ 202: {
2208
+ bodyMapper: VolumeGroup
2209
+ },
2210
+ 204: {
2211
+ bodyMapper: VolumeGroup
2212
+ },
2213
+ default: {
2214
+ bodyMapper: ErrorModel
2215
+ }
2216
+ },
2217
+ requestBody: parameters2,
2218
+ queryParameters: [apiVersion],
2219
+ urlParameters: [
2220
+ $host,
2221
+ subscriptionId,
2222
+ resourceGroupName,
2223
+ elasticSanName,
2224
+ volumeGroupName
2225
+ ],
2226
+ headerParameters: [accept, contentType],
2227
+ mediaType: "json",
2228
+ serializer: serializer$1
2229
+ };
2230
+ const updateOperationSpec$1 = {
2231
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2232
+ httpMethod: "PATCH",
2233
+ responses: {
2234
+ 200: {
2235
+ bodyMapper: VolumeGroup
2236
+ },
2237
+ 201: {
2238
+ bodyMapper: VolumeGroup
2239
+ },
2240
+ 202: {
2241
+ bodyMapper: VolumeGroup
2242
+ },
2243
+ 204: {
2244
+ bodyMapper: VolumeGroup
2245
+ },
2246
+ default: {
2247
+ bodyMapper: ErrorModel
2248
+ }
2249
+ },
2250
+ requestBody: parameters3,
2251
+ queryParameters: [apiVersion],
2252
+ urlParameters: [
2253
+ $host,
2254
+ subscriptionId,
2255
+ resourceGroupName,
2256
+ elasticSanName,
2257
+ volumeGroupName
2258
+ ],
2259
+ headerParameters: [accept, contentType],
2260
+ mediaType: "json",
2261
+ serializer: serializer$1
2262
+ };
2263
+ const deleteOperationSpec$1 = {
2264
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2265
+ httpMethod: "DELETE",
2266
+ responses: {
2267
+ 200: {},
2268
+ 201: {},
2269
+ 202: {},
2270
+ 204: {},
2271
+ default: {
2272
+ bodyMapper: ErrorModel
2273
+ }
2274
+ },
2275
+ queryParameters: [apiVersion],
2276
+ urlParameters: [
2277
+ $host,
2278
+ subscriptionId,
2279
+ resourceGroupName,
2280
+ elasticSanName,
2281
+ volumeGroupName
2282
+ ],
2283
+ headerParameters: [accept],
2284
+ serializer: serializer$1
2285
+ };
2286
+ const getOperationSpec$1 = {
2287
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2288
+ httpMethod: "GET",
2289
+ responses: {
2290
+ 200: {
2291
+ bodyMapper: VolumeGroup
2292
+ },
2293
+ default: {
2294
+ bodyMapper: ErrorModel
2295
+ }
2296
+ },
2297
+ queryParameters: [apiVersion],
2298
+ urlParameters: [
2299
+ $host,
2300
+ subscriptionId,
2301
+ resourceGroupName,
2302
+ elasticSanName,
2303
+ volumeGroupName
2304
+ ],
2305
+ headerParameters: [accept],
2306
+ serializer: serializer$1
2307
+ };
2308
+ const listByElasticSanNextOperationSpec = {
2309
+ path: "{nextLink}",
2310
+ httpMethod: "GET",
2311
+ responses: {
2312
+ 200: {
2313
+ bodyMapper: VolumeGroupList
2314
+ },
2315
+ default: {
2316
+ bodyMapper: ErrorModel
2317
+ }
2318
+ },
2319
+ queryParameters: [apiVersion],
2320
+ urlParameters: [
2321
+ $host,
2322
+ subscriptionId,
2323
+ resourceGroupName,
2324
+ elasticSanName,
2325
+ nextLink
2326
+ ],
2327
+ headerParameters: [accept],
2328
+ serializer: serializer$1
2329
+ };
2330
+
2331
+ /*
2332
+ * Copyright (c) Microsoft Corporation.
2333
+ * Licensed under the MIT License.
2334
+ *
2335
+ * Code generated by Microsoft (R) AutoRest Code Generator.
2336
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
2337
+ */
2338
+ /// <reference lib="esnext.asynciterable" />
2339
+ /** Class containing Volumes operations. */
2340
+ class VolumesImpl {
2341
+ /**
2342
+ * Initialize a new instance of the class Volumes class.
2343
+ * @param client Reference to the service client
2344
+ */
2345
+ constructor(client) {
2346
+ this.client = client;
2347
+ }
2348
+ /**
2349
+ * List Volumes in a VolumeGroup.
2350
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2351
+ * @param elasticSanName The name of the ElasticSan.
2352
+ * @param volumeGroupName The name of the VolumeGroup.
2353
+ * @param options The options parameters.
2354
+ */
2355
+ listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
2356
+ const iter = this.listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options);
2357
+ return {
2358
+ next() {
2359
+ return iter.next();
2360
+ },
2361
+ [Symbol.asyncIterator]() {
2362
+ return this;
2363
+ },
2364
+ byPage: () => {
2365
+ return this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options);
2366
+ }
2367
+ };
2368
+ }
2369
+ listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options) {
2370
+ return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingPage_1() {
2371
+ let result = yield tslib.__await(this._listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options));
2372
+ yield yield tslib.__await(result.value || []);
2373
+ let continuationToken = result.nextLink;
2374
+ while (continuationToken) {
2375
+ result = yield tslib.__await(this._listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, continuationToken, options));
2376
+ continuationToken = result.nextLink;
2377
+ yield yield tslib.__await(result.value || []);
2378
+ }
2379
+ });
2380
+ }
2381
+ listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options) {
2382
+ return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingAll_1() {
2383
+ var e_1, _a;
2384
+ try {
2385
+ for (var _b = tslib.__asyncValues(this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options)), _c; _c = yield tslib.__await(_b.next()), !_c.done;) {
2386
+ const page = _c.value;
2387
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2388
+ }
2389
+ }
2390
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2391
+ finally {
2392
+ try {
2393
+ if (_c && !_c.done && (_a = _b.return)) yield tslib.__await(_a.call(_b));
2394
+ }
2395
+ finally { if (e_1) throw e_1.error; }
2396
+ }
2397
+ });
2398
+ }
2399
+ /**
2400
+ * Create a Volume.
2401
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2402
+ * @param elasticSanName The name of the ElasticSan.
2403
+ * @param volumeGroupName The name of the VolumeGroup.
2404
+ * @param volumeName The name of the Volume.
2405
+ * @param parameters Volume object.
2406
+ * @param options The options parameters.
2407
+ */
2408
+ beginCreate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
2409
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2410
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2411
+ return this.client.sendOperationRequest(args, spec);
2412
+ });
2413
+ const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2414
+ var _a;
2415
+ let currentRawResponse = undefined;
2416
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
2417
+ const callback = (rawResponse, flatResponse) => {
2418
+ currentRawResponse = rawResponse;
2419
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
2420
+ };
2421
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
2422
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
2423
+ return {
2424
+ flatResponse,
2425
+ rawResponse: {
2426
+ statusCode: currentRawResponse.status,
2427
+ body: currentRawResponse.parsedBody,
2428
+ headers: currentRawResponse.headers.toJSON()
2429
+ }
2430
+ };
2431
+ });
2432
+ const lro = new LroImpl(sendOperation, {
2433
+ resourceGroupName,
2434
+ elasticSanName,
2435
+ volumeGroupName,
2436
+ volumeName,
2437
+ parameters,
2438
+ options
2439
+ }, createOperationSpec);
2440
+ const poller = new coreLro.LroEngine(lro, {
2441
+ resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2442
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2443
+ lroResourceLocationConfig: "azure-async-operation"
2444
+ });
2445
+ yield poller.poll();
2446
+ return poller;
2447
+ });
2448
+ }
2449
+ /**
2450
+ * Create a Volume.
2451
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2452
+ * @param elasticSanName The name of the ElasticSan.
2453
+ * @param volumeGroupName The name of the VolumeGroup.
2454
+ * @param volumeName The name of the Volume.
2455
+ * @param parameters Volume object.
2456
+ * @param options The options parameters.
2457
+ */
2458
+ beginCreateAndWait(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
2459
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2460
+ const poller = yield this.beginCreate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options);
2461
+ return poller.pollUntilDone();
2462
+ });
2463
+ }
2464
+ /**
2465
+ * Update an Volume.
2466
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2467
+ * @param elasticSanName The name of the ElasticSan.
2468
+ * @param volumeGroupName The name of the VolumeGroup.
2469
+ * @param volumeName The name of the Volume.
2470
+ * @param parameters Volume object.
2471
+ * @param options The options parameters.
2472
+ */
2473
+ beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
2474
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2475
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2476
+ return this.client.sendOperationRequest(args, spec);
2477
+ });
2478
+ const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2479
+ var _a;
2480
+ let currentRawResponse = undefined;
2481
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
2482
+ const callback = (rawResponse, flatResponse) => {
2483
+ currentRawResponse = rawResponse;
2484
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
2485
+ };
2486
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
2487
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
2488
+ return {
2489
+ flatResponse,
2490
+ rawResponse: {
2491
+ statusCode: currentRawResponse.status,
2492
+ body: currentRawResponse.parsedBody,
2493
+ headers: currentRawResponse.headers.toJSON()
2494
+ }
2495
+ };
2496
+ });
2497
+ const lro = new LroImpl(sendOperation, {
2498
+ resourceGroupName,
2499
+ elasticSanName,
2500
+ volumeGroupName,
2501
+ volumeName,
2502
+ parameters,
2503
+ options
2504
+ }, updateOperationSpec);
2505
+ const poller = new coreLro.LroEngine(lro, {
2506
+ resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2507
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2508
+ lroResourceLocationConfig: "azure-async-operation"
2509
+ });
2510
+ yield poller.poll();
2511
+ return poller;
2512
+ });
2513
+ }
2514
+ /**
2515
+ * Update an Volume.
2516
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2517
+ * @param elasticSanName The name of the ElasticSan.
2518
+ * @param volumeGroupName The name of the VolumeGroup.
2519
+ * @param volumeName The name of the Volume.
2520
+ * @param parameters Volume object.
2521
+ * @param options The options parameters.
2522
+ */
2523
+ beginUpdateAndWait(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
2524
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2525
+ const poller = yield this.beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options);
2526
+ return poller.pollUntilDone();
2527
+ });
2528
+ }
2529
+ /**
2530
+ * Delete an Volume.
2531
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2532
+ * @param elasticSanName The name of the ElasticSan.
2533
+ * @param volumeGroupName The name of the VolumeGroup.
2534
+ * @param volumeName The name of the Volume.
2535
+ * @param options The options parameters.
2536
+ */
2537
+ beginDelete(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options) {
2538
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2539
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2540
+ return this.client.sendOperationRequest(args, spec);
2541
+ });
2542
+ const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2543
+ var _a;
2544
+ let currentRawResponse = undefined;
2545
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
2546
+ const callback = (rawResponse, flatResponse) => {
2547
+ currentRawResponse = rawResponse;
2548
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
2549
+ };
2550
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
2551
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
2552
+ return {
2553
+ flatResponse,
2554
+ rawResponse: {
2555
+ statusCode: currentRawResponse.status,
2556
+ body: currentRawResponse.parsedBody,
2557
+ headers: currentRawResponse.headers.toJSON()
2558
+ }
2559
+ };
2560
+ });
2561
+ const lro = new LroImpl(sendOperation, {
2562
+ resourceGroupName,
2563
+ elasticSanName,
2564
+ volumeGroupName,
2565
+ volumeName,
2566
+ options
2567
+ }, deleteOperationSpec);
2568
+ const poller = new coreLro.LroEngine(lro, {
2569
+ resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2570
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2571
+ lroResourceLocationConfig: "azure-async-operation"
2572
+ });
2573
+ yield poller.poll();
2574
+ return poller;
2575
+ });
2576
+ }
2577
+ /**
2578
+ * Delete an Volume.
2579
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2580
+ * @param elasticSanName The name of the ElasticSan.
2581
+ * @param volumeGroupName The name of the VolumeGroup.
2582
+ * @param volumeName The name of the Volume.
2583
+ * @param options The options parameters.
2584
+ */
2585
+ beginDeleteAndWait(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options) {
2586
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2587
+ const poller = yield this.beginDelete(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options);
2588
+ return poller.pollUntilDone();
2589
+ });
2590
+ }
2591
+ /**
2592
+ * Get an Volume.
2593
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2594
+ * @param elasticSanName The name of the ElasticSan.
2595
+ * @param volumeGroupName The name of the VolumeGroup.
2596
+ * @param volumeName The name of the Volume.
2597
+ * @param options The options parameters.
2598
+ */
2599
+ get(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options) {
2600
+ return this.client.sendOperationRequest({
2601
+ resourceGroupName,
2602
+ elasticSanName,
2603
+ volumeGroupName,
2604
+ volumeName,
2605
+ options
2606
+ }, getOperationSpec);
2607
+ }
2608
+ /**
2609
+ * List Volumes in a VolumeGroup.
2610
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2611
+ * @param elasticSanName The name of the ElasticSan.
2612
+ * @param volumeGroupName The name of the VolumeGroup.
2613
+ * @param options The options parameters.
2614
+ */
2615
+ _listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
2616
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, listByVolumeGroupOperationSpec);
2617
+ }
2618
+ /**
2619
+ * ListByVolumeGroupNext
2620
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2621
+ * @param elasticSanName The name of the ElasticSan.
2622
+ * @param volumeGroupName The name of the VolumeGroup.
2623
+ * @param nextLink The nextLink from the previous successful call to the ListByVolumeGroup method.
2624
+ * @param options The options parameters.
2625
+ */
2626
+ _listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, nextLink, options) {
2627
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, nextLink, options }, listByVolumeGroupNextOperationSpec);
2628
+ }
2629
+ }
2630
+ // Operation Specifications
2631
+ const serializer = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2632
+ const createOperationSpec = {
2633
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
2634
+ httpMethod: "PUT",
2635
+ responses: {
2636
+ 200: {
2637
+ bodyMapper: Volume
2638
+ },
2639
+ 201: {
2640
+ bodyMapper: Volume
2641
+ },
2642
+ 202: {
2643
+ bodyMapper: Volume
2644
+ },
2645
+ 204: {
2646
+ bodyMapper: Volume
2647
+ },
2648
+ default: {
2649
+ bodyMapper: ErrorModel
2650
+ }
2651
+ },
2652
+ requestBody: parameters4,
2653
+ queryParameters: [apiVersion],
2654
+ urlParameters: [
2655
+ $host,
2656
+ subscriptionId,
2657
+ resourceGroupName,
2658
+ elasticSanName,
2659
+ volumeGroupName,
2660
+ volumeName
2661
+ ],
2662
+ headerParameters: [accept, contentType],
2663
+ mediaType: "json",
2664
+ serializer
2665
+ };
2666
+ const updateOperationSpec = {
2667
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
2668
+ httpMethod: "PATCH",
2669
+ responses: {
2670
+ 200: {
2671
+ bodyMapper: Volume
2672
+ },
2673
+ 201: {
2674
+ bodyMapper: Volume
2675
+ },
2676
+ 202: {
2677
+ bodyMapper: Volume
2678
+ },
2679
+ 204: {
2680
+ bodyMapper: Volume
2681
+ },
2682
+ default: {
2683
+ bodyMapper: ErrorModel
2684
+ }
2685
+ },
2686
+ requestBody: parameters5,
2687
+ queryParameters: [apiVersion],
2688
+ urlParameters: [
2689
+ $host,
2690
+ subscriptionId,
2691
+ resourceGroupName,
2692
+ elasticSanName,
2693
+ volumeGroupName,
2694
+ volumeName
2695
+ ],
2696
+ headerParameters: [accept, contentType],
2697
+ mediaType: "json",
2698
+ serializer
2699
+ };
2700
+ const deleteOperationSpec = {
2701
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
2702
+ httpMethod: "DELETE",
2703
+ responses: {
2704
+ 200: {},
2705
+ 201: {},
2706
+ 202: {},
2707
+ 204: {},
2708
+ default: {
2709
+ bodyMapper: ErrorModel
2710
+ }
2711
+ },
2712
+ queryParameters: [apiVersion],
2713
+ urlParameters: [
2714
+ $host,
2715
+ subscriptionId,
2716
+ resourceGroupName,
2717
+ elasticSanName,
2718
+ volumeGroupName,
2719
+ volumeName
2720
+ ],
2721
+ headerParameters: [accept],
2722
+ serializer
2723
+ };
2724
+ const getOperationSpec = {
2725
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
2726
+ httpMethod: "GET",
2727
+ responses: {
2728
+ 200: {
2729
+ bodyMapper: Volume
2730
+ },
2731
+ default: {
2732
+ bodyMapper: ErrorModel
2733
+ }
2734
+ },
2735
+ queryParameters: [apiVersion],
2736
+ urlParameters: [
2737
+ $host,
2738
+ subscriptionId,
2739
+ resourceGroupName,
2740
+ elasticSanName,
2741
+ volumeGroupName,
2742
+ volumeName
2743
+ ],
2744
+ headerParameters: [accept],
2745
+ serializer
2746
+ };
2747
+ const listByVolumeGroupOperationSpec = {
2748
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes",
2749
+ httpMethod: "GET",
2750
+ responses: {
2751
+ 200: {
2752
+ bodyMapper: VolumeList
2753
+ },
2754
+ default: {
2755
+ bodyMapper: ErrorModel
2756
+ }
2757
+ },
2758
+ queryParameters: [apiVersion],
2759
+ urlParameters: [
2760
+ $host,
2761
+ subscriptionId,
2762
+ resourceGroupName,
2763
+ elasticSanName,
2764
+ volumeGroupName
2765
+ ],
2766
+ headerParameters: [accept],
2767
+ serializer
2768
+ };
2769
+ const listByVolumeGroupNextOperationSpec = {
2770
+ path: "{nextLink}",
2771
+ httpMethod: "GET",
2772
+ responses: {
2773
+ 200: {
2774
+ bodyMapper: VolumeList
2775
+ },
2776
+ default: {
2777
+ bodyMapper: ErrorModel
2778
+ }
2779
+ },
2780
+ queryParameters: [apiVersion],
2781
+ urlParameters: [
2782
+ $host,
2783
+ subscriptionId,
2784
+ resourceGroupName,
2785
+ elasticSanName,
2786
+ nextLink,
2787
+ volumeGroupName
2788
+ ],
2789
+ headerParameters: [accept],
2790
+ serializer
2791
+ };
2792
+
2793
+ /*
2794
+ * Copyright (c) Microsoft Corporation.
2795
+ * Licensed under the MIT License.
2796
+ *
2797
+ * Code generated by Microsoft (R) AutoRest Code Generator.
2798
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
2799
+ */
2800
+ class ElasticSanManagement extends coreClient__namespace.ServiceClient {
2801
+ /**
2802
+ * Initializes a new instance of the ElasticSanManagement class.
2803
+ * @param credentials Subscription credentials which uniquely identify client subscription.
2804
+ * @param subscriptionId The ID of the target subscription.
2805
+ * @param options The parameter options
2806
+ */
2807
+ constructor(credentials, subscriptionId, options) {
2808
+ var _a, _b;
2809
+ if (credentials === undefined) {
2810
+ throw new Error("'credentials' cannot be null");
2811
+ }
2812
+ if (subscriptionId === undefined) {
2813
+ throw new Error("'subscriptionId' cannot be null");
2814
+ }
2815
+ // Initializing default values for options
2816
+ if (!options) {
2817
+ options = {};
2818
+ }
2819
+ const defaults = {
2820
+ requestContentType: "application/json; charset=utf-8",
2821
+ credential: credentials
2822
+ };
2823
+ const packageDetails = `azsdk-js-arm-elasticsan/1.0.0-beta.1`;
2824
+ const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
2825
+ ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
2826
+ : `${packageDetails}`;
2827
+ if (!options.credentialScopes) {
2828
+ options.credentialScopes = ["https://management.azure.com/.default"];
2829
+ }
2830
+ const optionsWithDefaults = Object.assign(Object.assign(Object.assign({}, defaults), options), { userAgentOptions: {
2831
+ userAgentPrefix
2832
+ }, baseUri: (_b = (_a = options.endpoint) !== null && _a !== void 0 ? _a : options.baseUri) !== null && _b !== void 0 ? _b : "https://management.azure.com" });
2833
+ super(optionsWithDefaults);
2834
+ let bearerTokenAuthenticationPolicyFound = false;
2835
+ if ((options === null || options === void 0 ? void 0 : options.pipeline) && options.pipeline.getOrderedPolicies().length > 0) {
2836
+ const pipelinePolicies = options.pipeline.getOrderedPolicies();
2837
+ bearerTokenAuthenticationPolicyFound = pipelinePolicies.some((pipelinePolicy) => pipelinePolicy.name ===
2838
+ coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName);
2839
+ }
2840
+ if (!options ||
2841
+ !options.pipeline ||
2842
+ options.pipeline.getOrderedPolicies().length == 0 ||
2843
+ !bearerTokenAuthenticationPolicyFound) {
2844
+ this.pipeline.removePolicy({
2845
+ name: coreRestPipeline__namespace.bearerTokenAuthenticationPolicyName
2846
+ });
2847
+ this.pipeline.addPolicy(coreRestPipeline__namespace.bearerTokenAuthenticationPolicy({
2848
+ credential: credentials,
2849
+ scopes: `${optionsWithDefaults.credentialScopes}`,
2850
+ challengeCallbacks: {
2851
+ authorizeRequestOnChallenge: coreClient__namespace.authorizeRequestOnClaimChallenge
2852
+ }
2853
+ }));
2854
+ }
2855
+ // Parameter assignments
2856
+ this.subscriptionId = subscriptionId;
2857
+ // Assigning values to Constant parameters
2858
+ this.$host = options.$host || "https://management.azure.com";
2859
+ this.apiVersion = options.apiVersion || "2021-11-20-preview";
2860
+ this.operations = new OperationsImpl(this);
2861
+ this.skus = new SkusImpl(this);
2862
+ this.elasticSans = new ElasticSansImpl(this);
2863
+ this.volumeGroups = new VolumeGroupsImpl(this);
2864
+ this.volumes = new VolumesImpl(this);
2865
+ this.addCustomApiVersionPolicy(options.apiVersion);
2866
+ }
2867
+ /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */
2868
+ addCustomApiVersionPolicy(apiVersion) {
2869
+ if (!apiVersion) {
2870
+ return;
2871
+ }
2872
+ const apiVersionPolicy = {
2873
+ name: "CustomApiVersionPolicy",
2874
+ sendRequest(request, next) {
2875
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2876
+ const param = request.url.split("?");
2877
+ if (param.length > 1) {
2878
+ const newParams = param[1].split("&").map((item) => {
2879
+ if (item.indexOf("api-version") > -1) {
2880
+ return "api-version=" + apiVersion;
2881
+ }
2882
+ else {
2883
+ return item;
2884
+ }
2885
+ });
2886
+ request.url = param[0] + "?" + newParams.join("&");
2887
+ }
2888
+ return next(request);
2889
+ });
2890
+ }
2891
+ };
2892
+ this.pipeline.addPolicy(apiVersionPolicy);
2893
+ }
2894
+ }
2895
+
2896
+ exports.ElasticSanManagement = ElasticSanManagement;
2897
+ //# sourceMappingURL=index.js.map