@azure/arm-largeinstance 1.0.0-alpha.20240223.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 (139) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/LICENSE +21 -0
  3. package/README.md +109 -0
  4. package/dist/index.js +2490 -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/azureLargeInstanceGetSample.d.ts +2 -0
  9. package/dist-esm/samples-dev/azureLargeInstanceGetSample.d.ts.map +1 -0
  10. package/dist-esm/samples-dev/azureLargeInstanceGetSample.js +41 -0
  11. package/dist-esm/samples-dev/azureLargeInstanceGetSample.js.map +1 -0
  12. package/dist-esm/samples-dev/azureLargeInstanceListByResourceGroupSample.d.ts +2 -0
  13. package/dist-esm/samples-dev/azureLargeInstanceListByResourceGroupSample.d.ts.map +1 -0
  14. package/dist-esm/samples-dev/azureLargeInstanceListByResourceGroupSample.js +56 -0
  15. package/dist-esm/samples-dev/azureLargeInstanceListByResourceGroupSample.js.map +1 -0
  16. package/dist-esm/samples-dev/azureLargeInstanceListBySubscriptionSample.d.ts +2 -0
  17. package/dist-esm/samples-dev/azureLargeInstanceListBySubscriptionSample.d.ts.map +1 -0
  18. package/dist-esm/samples-dev/azureLargeInstanceListBySubscriptionSample.js +55 -0
  19. package/dist-esm/samples-dev/azureLargeInstanceListBySubscriptionSample.js.map +1 -0
  20. package/dist-esm/samples-dev/azureLargeInstanceRestartSample.d.ts +2 -0
  21. package/dist-esm/samples-dev/azureLargeInstanceRestartSample.d.ts.map +1 -0
  22. package/dist-esm/samples-dev/azureLargeInstanceRestartSample.js +39 -0
  23. package/dist-esm/samples-dev/azureLargeInstanceRestartSample.js.map +1 -0
  24. package/dist-esm/samples-dev/azureLargeInstanceShutdownSample.d.ts +2 -0
  25. package/dist-esm/samples-dev/azureLargeInstanceShutdownSample.d.ts.map +1 -0
  26. package/dist-esm/samples-dev/azureLargeInstanceShutdownSample.js +39 -0
  27. package/dist-esm/samples-dev/azureLargeInstanceShutdownSample.js.map +1 -0
  28. package/dist-esm/samples-dev/azureLargeInstanceStartSample.d.ts +2 -0
  29. package/dist-esm/samples-dev/azureLargeInstanceStartSample.d.ts.map +1 -0
  30. package/dist-esm/samples-dev/azureLargeInstanceStartSample.js +39 -0
  31. package/dist-esm/samples-dev/azureLargeInstanceStartSample.js.map +1 -0
  32. package/dist-esm/samples-dev/azureLargeInstanceUpdateSample.d.ts +2 -0
  33. package/dist-esm/samples-dev/azureLargeInstanceUpdateSample.d.ts.map +1 -0
  34. package/dist-esm/samples-dev/azureLargeInstanceUpdateSample.js +66 -0
  35. package/dist-esm/samples-dev/azureLargeInstanceUpdateSample.js.map +1 -0
  36. package/dist-esm/samples-dev/azureLargeStorageInstanceGetSample.d.ts +2 -0
  37. package/dist-esm/samples-dev/azureLargeStorageInstanceGetSample.d.ts.map +1 -0
  38. package/dist-esm/samples-dev/azureLargeStorageInstanceGetSample.js +41 -0
  39. package/dist-esm/samples-dev/azureLargeStorageInstanceGetSample.js.map +1 -0
  40. package/dist-esm/samples-dev/azureLargeStorageInstanceListByResourceGroupSample.d.ts +2 -0
  41. package/dist-esm/samples-dev/azureLargeStorageInstanceListByResourceGroupSample.d.ts.map +1 -0
  42. package/dist-esm/samples-dev/azureLargeStorageInstanceListByResourceGroupSample.js +58 -0
  43. package/dist-esm/samples-dev/azureLargeStorageInstanceListByResourceGroupSample.js.map +1 -0
  44. package/dist-esm/samples-dev/azureLargeStorageInstanceListBySubscriptionSample.d.ts +2 -0
  45. package/dist-esm/samples-dev/azureLargeStorageInstanceListBySubscriptionSample.d.ts.map +1 -0
  46. package/dist-esm/samples-dev/azureLargeStorageInstanceListBySubscriptionSample.js +55 -0
  47. package/dist-esm/samples-dev/azureLargeStorageInstanceListBySubscriptionSample.js.map +1 -0
  48. package/dist-esm/samples-dev/azureLargeStorageInstanceUpdateSample.d.ts +2 -0
  49. package/dist-esm/samples-dev/azureLargeStorageInstanceUpdateSample.d.ts.map +1 -0
  50. package/dist-esm/samples-dev/azureLargeStorageInstanceUpdateSample.js +66 -0
  51. package/dist-esm/samples-dev/azureLargeStorageInstanceUpdateSample.js.map +1 -0
  52. package/dist-esm/samples-dev/operationsListSample.d.ts +2 -0
  53. package/dist-esm/samples-dev/operationsListSample.d.ts.map +1 -0
  54. package/dist-esm/samples-dev/operationsListSample.js +53 -0
  55. package/dist-esm/samples-dev/operationsListSample.js.map +1 -0
  56. package/dist-esm/src/index.d.ts +6 -0
  57. package/dist-esm/src/index.d.ts.map +1 -0
  58. package/dist-esm/src/index.js +13 -0
  59. package/dist-esm/src/index.js.map +1 -0
  60. package/dist-esm/src/largeInstanceManagementClient.d.ts +22 -0
  61. package/dist-esm/src/largeInstanceManagementClient.d.ts.map +1 -0
  62. package/dist-esm/src/largeInstanceManagementClient.js +103 -0
  63. package/dist-esm/src/largeInstanceManagementClient.js.map +1 -0
  64. package/dist-esm/src/lroImpl.d.ts +11 -0
  65. package/dist-esm/src/lroImpl.d.ts.map +1 -0
  66. package/dist-esm/src/lroImpl.js +21 -0
  67. package/dist-esm/src/lroImpl.js.map +1 -0
  68. package/dist-esm/src/models/index.d.ts +858 -0
  69. package/dist-esm/src/models/index.d.ts.map +1 -0
  70. package/dist-esm/src/models/index.js +210 -0
  71. package/dist-esm/src/models/index.js.map +1 -0
  72. package/dist-esm/src/models/mappers.d.ts +33 -0
  73. package/dist-esm/src/models/mappers.d.ts.map +1 -0
  74. package/dist-esm/src/models/mappers.js +902 -0
  75. package/dist-esm/src/models/mappers.js.map +1 -0
  76. package/dist-esm/src/models/parameters.d.ts +14 -0
  77. package/dist-esm/src/models/parameters.d.ts.map +1 -0
  78. package/dist-esm/src/models/parameters.js +126 -0
  79. package/dist-esm/src/models/parameters.js.map +1 -0
  80. package/dist-esm/src/operations/azureLargeInstanceOperations.d.ts +117 -0
  81. package/dist-esm/src/operations/azureLargeInstanceOperations.d.ts.map +1 -0
  82. package/dist-esm/src/operations/azureLargeInstanceOperations.js +587 -0
  83. package/dist-esm/src/operations/azureLargeInstanceOperations.js.map +1 -0
  84. package/dist-esm/src/operations/azureLargeStorageInstanceOperations.d.ts +76 -0
  85. package/dist-esm/src/operations/azureLargeStorageInstanceOperations.d.ts.map +1 -0
  86. package/dist-esm/src/operations/azureLargeStorageInstanceOperations.js +332 -0
  87. package/dist-esm/src/operations/azureLargeStorageInstanceOperations.js.map +1 -0
  88. package/dist-esm/src/operations/index.d.ts +4 -0
  89. package/dist-esm/src/operations/index.d.ts.map +1 -0
  90. package/dist-esm/src/operations/index.js +11 -0
  91. package/dist-esm/src/operations/index.js.map +1 -0
  92. package/dist-esm/src/operations/operations.d.ts +32 -0
  93. package/dist-esm/src/operations/operations.d.ts.map +1 -0
  94. package/dist-esm/src/operations/operations.js +133 -0
  95. package/dist-esm/src/operations/operations.js.map +1 -0
  96. package/dist-esm/src/operationsInterfaces/azureLargeInstanceOperations.d.ts +79 -0
  97. package/dist-esm/src/operationsInterfaces/azureLargeInstanceOperations.d.ts.map +1 -0
  98. package/dist-esm/src/operationsInterfaces/azureLargeInstanceOperations.js +9 -0
  99. package/dist-esm/src/operationsInterfaces/azureLargeInstanceOperations.js.map +1 -0
  100. package/dist-esm/src/operationsInterfaces/azureLargeStorageInstanceOperations.d.ts +37 -0
  101. package/dist-esm/src/operationsInterfaces/azureLargeStorageInstanceOperations.d.ts.map +1 -0
  102. package/dist-esm/src/operationsInterfaces/azureLargeStorageInstanceOperations.js +9 -0
  103. package/dist-esm/src/operationsInterfaces/azureLargeStorageInstanceOperations.js.map +1 -0
  104. package/dist-esm/src/operationsInterfaces/index.d.ts +4 -0
  105. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
  106. package/dist-esm/src/operationsInterfaces/index.js +11 -0
  107. package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
  108. package/dist-esm/src/operationsInterfaces/operations.d.ts +11 -0
  109. package/dist-esm/src/operationsInterfaces/operations.d.ts.map +1 -0
  110. package/dist-esm/src/operationsInterfaces/operations.js +9 -0
  111. package/dist-esm/src/operationsInterfaces/operations.js.map +1 -0
  112. package/dist-esm/src/pagingHelper.d.ts +13 -0
  113. package/dist-esm/src/pagingHelper.d.ts.map +1 -0
  114. package/dist-esm/src/pagingHelper.js +32 -0
  115. package/dist-esm/src/pagingHelper.js.map +1 -0
  116. package/dist-esm/test/largeinstance_operations_test.spec.d.ts +4 -0
  117. package/dist-esm/test/largeinstance_operations_test.spec.d.ts.map +1 -0
  118. package/dist-esm/test/largeinstance_operations_test.spec.js +73 -0
  119. package/dist-esm/test/largeinstance_operations_test.spec.js.map +1 -0
  120. package/package.json +118 -0
  121. package/review/arm-largeinstance.api.md +569 -0
  122. package/src/index.ts +13 -0
  123. package/src/largeInstanceManagementClient.ts +156 -0
  124. package/src/lroImpl.ts +42 -0
  125. package/src/models/index.ts +955 -0
  126. package/src/models/mappers.ts +944 -0
  127. package/src/models/parameters.ts +147 -0
  128. package/src/operations/azureLargeInstanceOperations.ts +768 -0
  129. package/src/operations/azureLargeStorageInstanceOperations.ts +401 -0
  130. package/src/operations/index.ts +11 -0
  131. package/src/operations/operations.ts +149 -0
  132. package/src/operationsInterfaces/azureLargeInstanceOperations.ts +156 -0
  133. package/src/operationsInterfaces/azureLargeStorageInstanceOperations.ts +69 -0
  134. package/src/operationsInterfaces/index.ts +11 -0
  135. package/src/operationsInterfaces/operations.ts +22 -0
  136. package/src/pagingHelper.ts +39 -0
  137. package/tsconfig.json +33 -0
  138. package/types/arm-largeinstance.d.ts +1096 -0
  139. package/types/tsdoc-metadata.json +11 -0
@@ -0,0 +1,768 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ *
5
+ * Code generated by Microsoft (R) AutoRest Code Generator.
6
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
+ */
8
+
9
+ import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging";
10
+ import { setContinuationToken } from "../pagingHelper";
11
+ import { AzureLargeInstanceOperations } from "../operationsInterfaces";
12
+ import * as coreClient from "@azure/core-client";
13
+ import * as Mappers from "../models/mappers";
14
+ import * as Parameters from "../models/parameters";
15
+ import { LargeInstanceManagementClient } from "../largeInstanceManagementClient";
16
+ import {
17
+ SimplePollerLike,
18
+ OperationState,
19
+ createHttpPoller,
20
+ } from "@azure/core-lro";
21
+ import { createLroSpec } from "../lroImpl";
22
+ import {
23
+ AzureLargeInstance,
24
+ AzureLargeInstanceListBySubscriptionNextOptionalParams,
25
+ AzureLargeInstanceListBySubscriptionOptionalParams,
26
+ AzureLargeInstanceListBySubscriptionResponse,
27
+ AzureLargeInstanceListByResourceGroupNextOptionalParams,
28
+ AzureLargeInstanceListByResourceGroupOptionalParams,
29
+ AzureLargeInstanceListByResourceGroupResponse,
30
+ AzureLargeInstanceGetOptionalParams,
31
+ AzureLargeInstanceGetResponse,
32
+ AzureLargeInstanceTagsUpdate,
33
+ AzureLargeInstanceUpdateOptionalParams,
34
+ AzureLargeInstanceUpdateResponse,
35
+ AzureLargeInstanceRestartOptionalParams,
36
+ AzureLargeInstanceRestartResponse,
37
+ AzureLargeInstanceShutdownOptionalParams,
38
+ AzureLargeInstanceShutdownResponse,
39
+ AzureLargeInstanceStartOptionalParams,
40
+ AzureLargeInstanceStartResponse,
41
+ AzureLargeInstanceListBySubscriptionNextResponse,
42
+ AzureLargeInstanceListByResourceGroupNextResponse,
43
+ } from "../models";
44
+
45
+ /// <reference lib="esnext.asynciterable" />
46
+ /** Class containing AzureLargeInstanceOperations operations. */
47
+ export class AzureLargeInstanceOperationsImpl
48
+ implements AzureLargeInstanceOperations
49
+ {
50
+ private readonly client: LargeInstanceManagementClient;
51
+
52
+ /**
53
+ * Initialize a new instance of the class AzureLargeInstanceOperations class.
54
+ * @param client Reference to the service client
55
+ */
56
+ constructor(client: LargeInstanceManagementClient) {
57
+ this.client = client;
58
+ }
59
+
60
+ /**
61
+ * Gets a list of Azure Large Instances in the specified subscription. The
62
+ * operations returns various properties of each Azure Large Instance.
63
+ * @param options The options parameters.
64
+ */
65
+ public listBySubscription(
66
+ options?: AzureLargeInstanceListBySubscriptionOptionalParams,
67
+ ): PagedAsyncIterableIterator<AzureLargeInstance> {
68
+ const iter = this.listBySubscriptionPagingAll(options);
69
+ return {
70
+ next() {
71
+ return iter.next();
72
+ },
73
+ [Symbol.asyncIterator]() {
74
+ return this;
75
+ },
76
+ byPage: (settings?: PageSettings) => {
77
+ if (settings?.maxPageSize) {
78
+ throw new Error("maxPageSize is not supported by this operation.");
79
+ }
80
+ return this.listBySubscriptionPagingPage(options, settings);
81
+ },
82
+ };
83
+ }
84
+
85
+ private async *listBySubscriptionPagingPage(
86
+ options?: AzureLargeInstanceListBySubscriptionOptionalParams,
87
+ settings?: PageSettings,
88
+ ): AsyncIterableIterator<AzureLargeInstance[]> {
89
+ let result: AzureLargeInstanceListBySubscriptionResponse;
90
+ let continuationToken = settings?.continuationToken;
91
+ if (!continuationToken) {
92
+ result = await this._listBySubscription(options);
93
+ let page = result.value || [];
94
+ continuationToken = result.nextLink;
95
+ setContinuationToken(page, continuationToken);
96
+ yield page;
97
+ }
98
+ while (continuationToken) {
99
+ result = await this._listBySubscriptionNext(continuationToken, options);
100
+ continuationToken = result.nextLink;
101
+ let page = result.value || [];
102
+ setContinuationToken(page, continuationToken);
103
+ yield page;
104
+ }
105
+ }
106
+
107
+ private async *listBySubscriptionPagingAll(
108
+ options?: AzureLargeInstanceListBySubscriptionOptionalParams,
109
+ ): AsyncIterableIterator<AzureLargeInstance> {
110
+ for await (const page of this.listBySubscriptionPagingPage(options)) {
111
+ yield* page;
112
+ }
113
+ }
114
+
115
+ /**
116
+ * Gets a list of Azure Large Instances in the specified subscription and resource
117
+ * group. The operations returns various properties of each Azure Large Instance.
118
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
119
+ * @param options The options parameters.
120
+ */
121
+ public listByResourceGroup(
122
+ resourceGroupName: string,
123
+ options?: AzureLargeInstanceListByResourceGroupOptionalParams,
124
+ ): PagedAsyncIterableIterator<AzureLargeInstance> {
125
+ const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);
126
+ return {
127
+ next() {
128
+ return iter.next();
129
+ },
130
+ [Symbol.asyncIterator]() {
131
+ return this;
132
+ },
133
+ byPage: (settings?: PageSettings) => {
134
+ if (settings?.maxPageSize) {
135
+ throw new Error("maxPageSize is not supported by this operation.");
136
+ }
137
+ return this.listByResourceGroupPagingPage(
138
+ resourceGroupName,
139
+ options,
140
+ settings,
141
+ );
142
+ },
143
+ };
144
+ }
145
+
146
+ private async *listByResourceGroupPagingPage(
147
+ resourceGroupName: string,
148
+ options?: AzureLargeInstanceListByResourceGroupOptionalParams,
149
+ settings?: PageSettings,
150
+ ): AsyncIterableIterator<AzureLargeInstance[]> {
151
+ let result: AzureLargeInstanceListByResourceGroupResponse;
152
+ let continuationToken = settings?.continuationToken;
153
+ if (!continuationToken) {
154
+ result = await this._listByResourceGroup(resourceGroupName, options);
155
+ let page = result.value || [];
156
+ continuationToken = result.nextLink;
157
+ setContinuationToken(page, continuationToken);
158
+ yield page;
159
+ }
160
+ while (continuationToken) {
161
+ result = await this._listByResourceGroupNext(
162
+ resourceGroupName,
163
+ continuationToken,
164
+ options,
165
+ );
166
+ continuationToken = result.nextLink;
167
+ let page = result.value || [];
168
+ setContinuationToken(page, continuationToken);
169
+ yield page;
170
+ }
171
+ }
172
+
173
+ private async *listByResourceGroupPagingAll(
174
+ resourceGroupName: string,
175
+ options?: AzureLargeInstanceListByResourceGroupOptionalParams,
176
+ ): AsyncIterableIterator<AzureLargeInstance> {
177
+ for await (const page of this.listByResourceGroupPagingPage(
178
+ resourceGroupName,
179
+ options,
180
+ )) {
181
+ yield* page;
182
+ }
183
+ }
184
+
185
+ /**
186
+ * Gets a list of Azure Large Instances in the specified subscription. The
187
+ * operations returns various properties of each Azure Large Instance.
188
+ * @param options The options parameters.
189
+ */
190
+ private _listBySubscription(
191
+ options?: AzureLargeInstanceListBySubscriptionOptionalParams,
192
+ ): Promise<AzureLargeInstanceListBySubscriptionResponse> {
193
+ return this.client.sendOperationRequest(
194
+ { options },
195
+ listBySubscriptionOperationSpec,
196
+ );
197
+ }
198
+
199
+ /**
200
+ * Gets a list of Azure Large Instances in the specified subscription and resource
201
+ * group. The operations returns various properties of each Azure Large Instance.
202
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
203
+ * @param options The options parameters.
204
+ */
205
+ private _listByResourceGroup(
206
+ resourceGroupName: string,
207
+ options?: AzureLargeInstanceListByResourceGroupOptionalParams,
208
+ ): Promise<AzureLargeInstanceListByResourceGroupResponse> {
209
+ return this.client.sendOperationRequest(
210
+ { resourceGroupName, options },
211
+ listByResourceGroupOperationSpec,
212
+ );
213
+ }
214
+
215
+ /**
216
+ * Gets an Azure Large Instance for the specified subscription, resource group,
217
+ * and instance name.
218
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
219
+ * @param azureLargeInstanceName Name of the AzureLargeInstance.
220
+ * @param options The options parameters.
221
+ */
222
+ get(
223
+ resourceGroupName: string,
224
+ azureLargeInstanceName: string,
225
+ options?: AzureLargeInstanceGetOptionalParams,
226
+ ): Promise<AzureLargeInstanceGetResponse> {
227
+ return this.client.sendOperationRequest(
228
+ { resourceGroupName, azureLargeInstanceName, options },
229
+ getOperationSpec,
230
+ );
231
+ }
232
+
233
+ /**
234
+ * Patches the Tags field of an Azure Large Instance for the specified
235
+ * subscription, resource group, and instance name.
236
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
237
+ * @param azureLargeInstanceName Name of the AzureLargeInstance.
238
+ * @param tagsParameter The resource properties to be updated.
239
+ * @param options The options parameters.
240
+ */
241
+ update(
242
+ resourceGroupName: string,
243
+ azureLargeInstanceName: string,
244
+ tagsParameter: AzureLargeInstanceTagsUpdate,
245
+ options?: AzureLargeInstanceUpdateOptionalParams,
246
+ ): Promise<AzureLargeInstanceUpdateResponse> {
247
+ return this.client.sendOperationRequest(
248
+ { resourceGroupName, azureLargeInstanceName, tagsParameter, options },
249
+ updateOperationSpec,
250
+ );
251
+ }
252
+
253
+ /**
254
+ * The operation to restart an Azure Large Instance (only for compute instances)
255
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
256
+ * @param azureLargeInstanceName Name of the AzureLargeInstance.
257
+ * @param options The options parameters.
258
+ */
259
+ async beginRestart(
260
+ resourceGroupName: string,
261
+ azureLargeInstanceName: string,
262
+ options?: AzureLargeInstanceRestartOptionalParams,
263
+ ): Promise<
264
+ SimplePollerLike<
265
+ OperationState<AzureLargeInstanceRestartResponse>,
266
+ AzureLargeInstanceRestartResponse
267
+ >
268
+ > {
269
+ const directSendOperation = async (
270
+ args: coreClient.OperationArguments,
271
+ spec: coreClient.OperationSpec,
272
+ ): Promise<AzureLargeInstanceRestartResponse> => {
273
+ return this.client.sendOperationRequest(args, spec);
274
+ };
275
+ const sendOperationFn = async (
276
+ args: coreClient.OperationArguments,
277
+ spec: coreClient.OperationSpec,
278
+ ) => {
279
+ let currentRawResponse: coreClient.FullOperationResponse | undefined =
280
+ undefined;
281
+ const providedCallback = args.options?.onResponse;
282
+ const callback: coreClient.RawResponseCallback = (
283
+ rawResponse: coreClient.FullOperationResponse,
284
+ flatResponse: unknown,
285
+ ) => {
286
+ currentRawResponse = rawResponse;
287
+ providedCallback?.(rawResponse, flatResponse);
288
+ };
289
+ const updatedArgs = {
290
+ ...args,
291
+ options: {
292
+ ...args.options,
293
+ onResponse: callback,
294
+ },
295
+ };
296
+ const flatResponse = await directSendOperation(updatedArgs, spec);
297
+ return {
298
+ flatResponse,
299
+ rawResponse: {
300
+ statusCode: currentRawResponse!.status,
301
+ body: currentRawResponse!.parsedBody,
302
+ headers: currentRawResponse!.headers.toJSON(),
303
+ },
304
+ };
305
+ };
306
+
307
+ const lro = createLroSpec({
308
+ sendOperationFn,
309
+ args: { resourceGroupName, azureLargeInstanceName, options },
310
+ spec: restartOperationSpec,
311
+ });
312
+ const poller = await createHttpPoller<
313
+ AzureLargeInstanceRestartResponse,
314
+ OperationState<AzureLargeInstanceRestartResponse>
315
+ >(lro, {
316
+ restoreFrom: options?.resumeFrom,
317
+ intervalInMs: options?.updateIntervalInMs,
318
+ resourceLocationConfig: "location",
319
+ });
320
+ await poller.poll();
321
+ return poller;
322
+ }
323
+
324
+ /**
325
+ * The operation to restart an Azure Large Instance (only for compute instances)
326
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
327
+ * @param azureLargeInstanceName Name of the AzureLargeInstance.
328
+ * @param options The options parameters.
329
+ */
330
+ async beginRestartAndWait(
331
+ resourceGroupName: string,
332
+ azureLargeInstanceName: string,
333
+ options?: AzureLargeInstanceRestartOptionalParams,
334
+ ): Promise<AzureLargeInstanceRestartResponse> {
335
+ const poller = await this.beginRestart(
336
+ resourceGroupName,
337
+ azureLargeInstanceName,
338
+ options,
339
+ );
340
+ return poller.pollUntilDone();
341
+ }
342
+
343
+ /**
344
+ * The operation to shutdown an Azure Large Instance (only for compute instances)
345
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
346
+ * @param azureLargeInstanceName Name of the AzureLargeInstance.
347
+ * @param options The options parameters.
348
+ */
349
+ async beginShutdown(
350
+ resourceGroupName: string,
351
+ azureLargeInstanceName: string,
352
+ options?: AzureLargeInstanceShutdownOptionalParams,
353
+ ): Promise<
354
+ SimplePollerLike<
355
+ OperationState<AzureLargeInstanceShutdownResponse>,
356
+ AzureLargeInstanceShutdownResponse
357
+ >
358
+ > {
359
+ const directSendOperation = async (
360
+ args: coreClient.OperationArguments,
361
+ spec: coreClient.OperationSpec,
362
+ ): Promise<AzureLargeInstanceShutdownResponse> => {
363
+ return this.client.sendOperationRequest(args, spec);
364
+ };
365
+ const sendOperationFn = async (
366
+ args: coreClient.OperationArguments,
367
+ spec: coreClient.OperationSpec,
368
+ ) => {
369
+ let currentRawResponse: coreClient.FullOperationResponse | undefined =
370
+ undefined;
371
+ const providedCallback = args.options?.onResponse;
372
+ const callback: coreClient.RawResponseCallback = (
373
+ rawResponse: coreClient.FullOperationResponse,
374
+ flatResponse: unknown,
375
+ ) => {
376
+ currentRawResponse = rawResponse;
377
+ providedCallback?.(rawResponse, flatResponse);
378
+ };
379
+ const updatedArgs = {
380
+ ...args,
381
+ options: {
382
+ ...args.options,
383
+ onResponse: callback,
384
+ },
385
+ };
386
+ const flatResponse = await directSendOperation(updatedArgs, spec);
387
+ return {
388
+ flatResponse,
389
+ rawResponse: {
390
+ statusCode: currentRawResponse!.status,
391
+ body: currentRawResponse!.parsedBody,
392
+ headers: currentRawResponse!.headers.toJSON(),
393
+ },
394
+ };
395
+ };
396
+
397
+ const lro = createLroSpec({
398
+ sendOperationFn,
399
+ args: { resourceGroupName, azureLargeInstanceName, options },
400
+ spec: shutdownOperationSpec,
401
+ });
402
+ const poller = await createHttpPoller<
403
+ AzureLargeInstanceShutdownResponse,
404
+ OperationState<AzureLargeInstanceShutdownResponse>
405
+ >(lro, {
406
+ restoreFrom: options?.resumeFrom,
407
+ intervalInMs: options?.updateIntervalInMs,
408
+ resourceLocationConfig: "location",
409
+ });
410
+ await poller.poll();
411
+ return poller;
412
+ }
413
+
414
+ /**
415
+ * The operation to shutdown an Azure Large Instance (only for compute instances)
416
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
417
+ * @param azureLargeInstanceName Name of the AzureLargeInstance.
418
+ * @param options The options parameters.
419
+ */
420
+ async beginShutdownAndWait(
421
+ resourceGroupName: string,
422
+ azureLargeInstanceName: string,
423
+ options?: AzureLargeInstanceShutdownOptionalParams,
424
+ ): Promise<AzureLargeInstanceShutdownResponse> {
425
+ const poller = await this.beginShutdown(
426
+ resourceGroupName,
427
+ azureLargeInstanceName,
428
+ options,
429
+ );
430
+ return poller.pollUntilDone();
431
+ }
432
+
433
+ /**
434
+ * The operation to start an Azure Large Instance (only for compute instances)
435
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
436
+ * @param azureLargeInstanceName Name of the AzureLargeInstance.
437
+ * @param options The options parameters.
438
+ */
439
+ async beginStart(
440
+ resourceGroupName: string,
441
+ azureLargeInstanceName: string,
442
+ options?: AzureLargeInstanceStartOptionalParams,
443
+ ): Promise<
444
+ SimplePollerLike<
445
+ OperationState<AzureLargeInstanceStartResponse>,
446
+ AzureLargeInstanceStartResponse
447
+ >
448
+ > {
449
+ const directSendOperation = async (
450
+ args: coreClient.OperationArguments,
451
+ spec: coreClient.OperationSpec,
452
+ ): Promise<AzureLargeInstanceStartResponse> => {
453
+ return this.client.sendOperationRequest(args, spec);
454
+ };
455
+ const sendOperationFn = async (
456
+ args: coreClient.OperationArguments,
457
+ spec: coreClient.OperationSpec,
458
+ ) => {
459
+ let currentRawResponse: coreClient.FullOperationResponse | undefined =
460
+ undefined;
461
+ const providedCallback = args.options?.onResponse;
462
+ const callback: coreClient.RawResponseCallback = (
463
+ rawResponse: coreClient.FullOperationResponse,
464
+ flatResponse: unknown,
465
+ ) => {
466
+ currentRawResponse = rawResponse;
467
+ providedCallback?.(rawResponse, flatResponse);
468
+ };
469
+ const updatedArgs = {
470
+ ...args,
471
+ options: {
472
+ ...args.options,
473
+ onResponse: callback,
474
+ },
475
+ };
476
+ const flatResponse = await directSendOperation(updatedArgs, spec);
477
+ return {
478
+ flatResponse,
479
+ rawResponse: {
480
+ statusCode: currentRawResponse!.status,
481
+ body: currentRawResponse!.parsedBody,
482
+ headers: currentRawResponse!.headers.toJSON(),
483
+ },
484
+ };
485
+ };
486
+
487
+ const lro = createLroSpec({
488
+ sendOperationFn,
489
+ args: { resourceGroupName, azureLargeInstanceName, options },
490
+ spec: startOperationSpec,
491
+ });
492
+ const poller = await createHttpPoller<
493
+ AzureLargeInstanceStartResponse,
494
+ OperationState<AzureLargeInstanceStartResponse>
495
+ >(lro, {
496
+ restoreFrom: options?.resumeFrom,
497
+ intervalInMs: options?.updateIntervalInMs,
498
+ resourceLocationConfig: "location",
499
+ });
500
+ await poller.poll();
501
+ return poller;
502
+ }
503
+
504
+ /**
505
+ * The operation to start an Azure Large Instance (only for compute instances)
506
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
507
+ * @param azureLargeInstanceName Name of the AzureLargeInstance.
508
+ * @param options The options parameters.
509
+ */
510
+ async beginStartAndWait(
511
+ resourceGroupName: string,
512
+ azureLargeInstanceName: string,
513
+ options?: AzureLargeInstanceStartOptionalParams,
514
+ ): Promise<AzureLargeInstanceStartResponse> {
515
+ const poller = await this.beginStart(
516
+ resourceGroupName,
517
+ azureLargeInstanceName,
518
+ options,
519
+ );
520
+ return poller.pollUntilDone();
521
+ }
522
+
523
+ /**
524
+ * ListBySubscriptionNext
525
+ * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.
526
+ * @param options The options parameters.
527
+ */
528
+ private _listBySubscriptionNext(
529
+ nextLink: string,
530
+ options?: AzureLargeInstanceListBySubscriptionNextOptionalParams,
531
+ ): Promise<AzureLargeInstanceListBySubscriptionNextResponse> {
532
+ return this.client.sendOperationRequest(
533
+ { nextLink, options },
534
+ listBySubscriptionNextOperationSpec,
535
+ );
536
+ }
537
+
538
+ /**
539
+ * ListByResourceGroupNext
540
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
541
+ * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
542
+ * @param options The options parameters.
543
+ */
544
+ private _listByResourceGroupNext(
545
+ resourceGroupName: string,
546
+ nextLink: string,
547
+ options?: AzureLargeInstanceListByResourceGroupNextOptionalParams,
548
+ ): Promise<AzureLargeInstanceListByResourceGroupNextResponse> {
549
+ return this.client.sendOperationRequest(
550
+ { resourceGroupName, nextLink, options },
551
+ listByResourceGroupNextOperationSpec,
552
+ );
553
+ }
554
+ }
555
+ // Operation Specifications
556
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
557
+
558
+ const listBySubscriptionOperationSpec: coreClient.OperationSpec = {
559
+ path: "/subscriptions/{subscriptionId}/providers/Microsoft.AzureLargeInstance/azureLargeInstances",
560
+ httpMethod: "GET",
561
+ responses: {
562
+ 200: {
563
+ bodyMapper: Mappers.AzureLargeInstanceListResult,
564
+ },
565
+ default: {
566
+ bodyMapper: Mappers.ErrorResponse,
567
+ },
568
+ },
569
+ queryParameters: [Parameters.apiVersion],
570
+ urlParameters: [Parameters.$host, Parameters.subscriptionId],
571
+ headerParameters: [Parameters.accept],
572
+ serializer,
573
+ };
574
+ const listByResourceGroupOperationSpec: coreClient.OperationSpec = {
575
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances",
576
+ httpMethod: "GET",
577
+ responses: {
578
+ 200: {
579
+ bodyMapper: Mappers.AzureLargeInstanceListResult,
580
+ },
581
+ default: {
582
+ bodyMapper: Mappers.ErrorResponse,
583
+ },
584
+ },
585
+ queryParameters: [Parameters.apiVersion],
586
+ urlParameters: [
587
+ Parameters.$host,
588
+ Parameters.subscriptionId,
589
+ Parameters.resourceGroupName,
590
+ ],
591
+ headerParameters: [Parameters.accept],
592
+ serializer,
593
+ };
594
+ const getOperationSpec: coreClient.OperationSpec = {
595
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}",
596
+ httpMethod: "GET",
597
+ responses: {
598
+ 200: {
599
+ bodyMapper: Mappers.AzureLargeInstance,
600
+ },
601
+ default: {
602
+ bodyMapper: Mappers.ErrorResponse,
603
+ },
604
+ },
605
+ queryParameters: [Parameters.apiVersion],
606
+ urlParameters: [
607
+ Parameters.$host,
608
+ Parameters.subscriptionId,
609
+ Parameters.resourceGroupName,
610
+ Parameters.azureLargeInstanceName,
611
+ ],
612
+ headerParameters: [Parameters.accept],
613
+ serializer,
614
+ };
615
+ const updateOperationSpec: coreClient.OperationSpec = {
616
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}",
617
+ httpMethod: "PATCH",
618
+ responses: {
619
+ 200: {
620
+ bodyMapper: Mappers.AzureLargeInstance,
621
+ },
622
+ default: {
623
+ bodyMapper: Mappers.ErrorResponse,
624
+ },
625
+ },
626
+ requestBody: Parameters.tagsParameter,
627
+ queryParameters: [Parameters.apiVersion],
628
+ urlParameters: [
629
+ Parameters.$host,
630
+ Parameters.subscriptionId,
631
+ Parameters.resourceGroupName,
632
+ Parameters.azureLargeInstanceName,
633
+ ],
634
+ headerParameters: [Parameters.accept, Parameters.contentType],
635
+ mediaType: "json",
636
+ serializer,
637
+ };
638
+ const restartOperationSpec: coreClient.OperationSpec = {
639
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}/restart",
640
+ httpMethod: "POST",
641
+ responses: {
642
+ 200: {
643
+ bodyMapper: Mappers.OperationStatusResult,
644
+ },
645
+ 201: {
646
+ bodyMapper: Mappers.OperationStatusResult,
647
+ },
648
+ 202: {
649
+ bodyMapper: Mappers.OperationStatusResult,
650
+ },
651
+ 204: {
652
+ bodyMapper: Mappers.OperationStatusResult,
653
+ },
654
+ default: {
655
+ bodyMapper: Mappers.ErrorResponse,
656
+ },
657
+ },
658
+ requestBody: Parameters.forceParameter,
659
+ queryParameters: [Parameters.apiVersion],
660
+ urlParameters: [
661
+ Parameters.$host,
662
+ Parameters.subscriptionId,
663
+ Parameters.resourceGroupName,
664
+ Parameters.azureLargeInstanceName,
665
+ ],
666
+ headerParameters: [Parameters.accept, Parameters.contentType],
667
+ mediaType: "json",
668
+ serializer,
669
+ };
670
+ const shutdownOperationSpec: coreClient.OperationSpec = {
671
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}/shutdown",
672
+ httpMethod: "POST",
673
+ responses: {
674
+ 200: {
675
+ bodyMapper: Mappers.OperationStatusResult,
676
+ },
677
+ 201: {
678
+ bodyMapper: Mappers.OperationStatusResult,
679
+ },
680
+ 202: {
681
+ bodyMapper: Mappers.OperationStatusResult,
682
+ },
683
+ 204: {
684
+ bodyMapper: Mappers.OperationStatusResult,
685
+ },
686
+ default: {
687
+ bodyMapper: Mappers.ErrorResponse,
688
+ },
689
+ },
690
+ queryParameters: [Parameters.apiVersion],
691
+ urlParameters: [
692
+ Parameters.$host,
693
+ Parameters.subscriptionId,
694
+ Parameters.resourceGroupName,
695
+ Parameters.azureLargeInstanceName,
696
+ ],
697
+ headerParameters: [Parameters.accept],
698
+ serializer,
699
+ };
700
+ const startOperationSpec: coreClient.OperationSpec = {
701
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureLargeInstance/azureLargeInstances/{azureLargeInstanceName}/start",
702
+ httpMethod: "POST",
703
+ responses: {
704
+ 200: {
705
+ bodyMapper: Mappers.OperationStatusResult,
706
+ },
707
+ 201: {
708
+ bodyMapper: Mappers.OperationStatusResult,
709
+ },
710
+ 202: {
711
+ bodyMapper: Mappers.OperationStatusResult,
712
+ },
713
+ 204: {
714
+ bodyMapper: Mappers.OperationStatusResult,
715
+ },
716
+ default: {
717
+ bodyMapper: Mappers.ErrorResponse,
718
+ },
719
+ },
720
+ queryParameters: [Parameters.apiVersion],
721
+ urlParameters: [
722
+ Parameters.$host,
723
+ Parameters.subscriptionId,
724
+ Parameters.resourceGroupName,
725
+ Parameters.azureLargeInstanceName,
726
+ ],
727
+ headerParameters: [Parameters.accept],
728
+ serializer,
729
+ };
730
+ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {
731
+ path: "{nextLink}",
732
+ httpMethod: "GET",
733
+ responses: {
734
+ 200: {
735
+ bodyMapper: Mappers.AzureLargeInstanceListResult,
736
+ },
737
+ default: {
738
+ bodyMapper: Mappers.ErrorResponse,
739
+ },
740
+ },
741
+ urlParameters: [
742
+ Parameters.$host,
743
+ Parameters.nextLink,
744
+ Parameters.subscriptionId,
745
+ ],
746
+ headerParameters: [Parameters.accept],
747
+ serializer,
748
+ };
749
+ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {
750
+ path: "{nextLink}",
751
+ httpMethod: "GET",
752
+ responses: {
753
+ 200: {
754
+ bodyMapper: Mappers.AzureLargeInstanceListResult,
755
+ },
756
+ default: {
757
+ bodyMapper: Mappers.ErrorResponse,
758
+ },
759
+ },
760
+ urlParameters: [
761
+ Parameters.$host,
762
+ Parameters.nextLink,
763
+ Parameters.subscriptionId,
764
+ Parameters.resourceGroupName,
765
+ ],
766
+ headerParameters: [Parameters.accept],
767
+ serializer,
768
+ };