@azure/arm-iotfirmwaredefense 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 (199) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/LICENSE +21 -0
  3. package/README.md +109 -0
  4. package/dist/index.js +4045 -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/firmwareCreateSample.d.ts +2 -0
  9. package/dist-esm/samples-dev/firmwareCreateSample.d.ts.map +1 -0
  10. package/dist-esm/samples-dev/firmwareCreateSample.js +73 -0
  11. package/dist-esm/samples-dev/firmwareCreateSample.js.map +1 -0
  12. package/dist-esm/samples-dev/firmwareDeleteSample.d.ts +2 -0
  13. package/dist-esm/samples-dev/firmwareDeleteSample.d.ts.map +1 -0
  14. package/dist-esm/samples-dev/firmwareDeleteSample.js +62 -0
  15. package/dist-esm/samples-dev/firmwareDeleteSample.js.map +1 -0
  16. package/dist-esm/samples-dev/firmwareGenerateBinaryHardeningDetailsSample.d.ts +2 -0
  17. package/dist-esm/samples-dev/firmwareGenerateBinaryHardeningDetailsSample.d.ts.map +1 -0
  18. package/dist-esm/samples-dev/firmwareGenerateBinaryHardeningDetailsSample.js +62 -0
  19. package/dist-esm/samples-dev/firmwareGenerateBinaryHardeningDetailsSample.js.map +1 -0
  20. package/dist-esm/samples-dev/firmwareGenerateBinaryHardeningSummarySample.d.ts +2 -0
  21. package/dist-esm/samples-dev/firmwareGenerateBinaryHardeningSummarySample.d.ts.map +1 -0
  22. package/dist-esm/samples-dev/firmwareGenerateBinaryHardeningSummarySample.js +62 -0
  23. package/dist-esm/samples-dev/firmwareGenerateBinaryHardeningSummarySample.js.map +1 -0
  24. package/dist-esm/samples-dev/firmwareGenerateComponentDetailsSample.d.ts +2 -0
  25. package/dist-esm/samples-dev/firmwareGenerateComponentDetailsSample.d.ts.map +1 -0
  26. package/dist-esm/samples-dev/firmwareGenerateComponentDetailsSample.js +62 -0
  27. package/dist-esm/samples-dev/firmwareGenerateComponentDetailsSample.js.map +1 -0
  28. package/dist-esm/samples-dev/firmwareGenerateCryptoCertificateSummarySample.d.ts +2 -0
  29. package/dist-esm/samples-dev/firmwareGenerateCryptoCertificateSummarySample.d.ts.map +1 -0
  30. package/dist-esm/samples-dev/firmwareGenerateCryptoCertificateSummarySample.js +61 -0
  31. package/dist-esm/samples-dev/firmwareGenerateCryptoCertificateSummarySample.js.map +1 -0
  32. package/dist-esm/samples-dev/firmwareGenerateCryptoKeySummarySample.d.ts +2 -0
  33. package/dist-esm/samples-dev/firmwareGenerateCryptoKeySummarySample.d.ts.map +1 -0
  34. package/dist-esm/samples-dev/firmwareGenerateCryptoKeySummarySample.js +61 -0
  35. package/dist-esm/samples-dev/firmwareGenerateCryptoKeySummarySample.js.map +1 -0
  36. package/dist-esm/samples-dev/firmwareGenerateCveSummarySample.d.ts +2 -0
  37. package/dist-esm/samples-dev/firmwareGenerateCveSummarySample.d.ts.map +1 -0
  38. package/dist-esm/samples-dev/firmwareGenerateCveSummarySample.js +62 -0
  39. package/dist-esm/samples-dev/firmwareGenerateCveSummarySample.js.map +1 -0
  40. package/dist-esm/samples-dev/firmwareGenerateDownloadUrlSample.d.ts +2 -0
  41. package/dist-esm/samples-dev/firmwareGenerateDownloadUrlSample.d.ts.map +1 -0
  42. package/dist-esm/samples-dev/firmwareGenerateDownloadUrlSample.js +62 -0
  43. package/dist-esm/samples-dev/firmwareGenerateDownloadUrlSample.js.map +1 -0
  44. package/dist-esm/samples-dev/firmwareGenerateFilesystemDownloadUrlSample.d.ts +2 -0
  45. package/dist-esm/samples-dev/firmwareGenerateFilesystemDownloadUrlSample.d.ts.map +1 -0
  46. package/dist-esm/samples-dev/firmwareGenerateFilesystemDownloadUrlSample.js +62 -0
  47. package/dist-esm/samples-dev/firmwareGenerateFilesystemDownloadUrlSample.js.map +1 -0
  48. package/dist-esm/samples-dev/firmwareGenerateSummarySample.d.ts +2 -0
  49. package/dist-esm/samples-dev/firmwareGenerateSummarySample.d.ts.map +1 -0
  50. package/dist-esm/samples-dev/firmwareGenerateSummarySample.js +62 -0
  51. package/dist-esm/samples-dev/firmwareGenerateSummarySample.js.map +1 -0
  52. package/dist-esm/samples-dev/firmwareGetSample.d.ts +2 -0
  53. package/dist-esm/samples-dev/firmwareGetSample.d.ts.map +1 -0
  54. package/dist-esm/samples-dev/firmwareGetSample.js +62 -0
  55. package/dist-esm/samples-dev/firmwareGetSample.js.map +1 -0
  56. package/dist-esm/samples-dev/firmwareListByWorkspaceSample.d.ts +2 -0
  57. package/dist-esm/samples-dev/firmwareListByWorkspaceSample.d.ts.map +1 -0
  58. package/dist-esm/samples-dev/firmwareListByWorkspaceSample.js +102 -0
  59. package/dist-esm/samples-dev/firmwareListByWorkspaceSample.js.map +1 -0
  60. package/dist-esm/samples-dev/firmwareListGenerateBinaryHardeningListSample.d.ts +2 -0
  61. package/dist-esm/samples-dev/firmwareListGenerateBinaryHardeningListSample.d.ts.map +1 -0
  62. package/dist-esm/samples-dev/firmwareListGenerateBinaryHardeningListSample.js +104 -0
  63. package/dist-esm/samples-dev/firmwareListGenerateBinaryHardeningListSample.js.map +1 -0
  64. package/dist-esm/samples-dev/firmwareListGenerateComponentListSample.d.ts +2 -0
  65. package/dist-esm/samples-dev/firmwareListGenerateComponentListSample.d.ts.map +1 -0
  66. package/dist-esm/samples-dev/firmwareListGenerateComponentListSample.js +104 -0
  67. package/dist-esm/samples-dev/firmwareListGenerateComponentListSample.js.map +1 -0
  68. package/dist-esm/samples-dev/firmwareListGenerateCryptoCertificateListSample.d.ts +2 -0
  69. package/dist-esm/samples-dev/firmwareListGenerateCryptoCertificateListSample.d.ts.map +1 -0
  70. package/dist-esm/samples-dev/firmwareListGenerateCryptoCertificateListSample.js +103 -0
  71. package/dist-esm/samples-dev/firmwareListGenerateCryptoCertificateListSample.js.map +1 -0
  72. package/dist-esm/samples-dev/firmwareListGenerateCryptoKeyListSample.d.ts +2 -0
  73. package/dist-esm/samples-dev/firmwareListGenerateCryptoKeyListSample.d.ts.map +1 -0
  74. package/dist-esm/samples-dev/firmwareListGenerateCryptoKeyListSample.js +103 -0
  75. package/dist-esm/samples-dev/firmwareListGenerateCryptoKeyListSample.js.map +1 -0
  76. package/dist-esm/samples-dev/firmwareListGenerateCveListSample.d.ts +2 -0
  77. package/dist-esm/samples-dev/firmwareListGenerateCveListSample.d.ts.map +1 -0
  78. package/dist-esm/samples-dev/firmwareListGenerateCveListSample.js +104 -0
  79. package/dist-esm/samples-dev/firmwareListGenerateCveListSample.js.map +1 -0
  80. package/dist-esm/samples-dev/firmwareListGeneratePasswordHashListSample.d.ts +2 -0
  81. package/dist-esm/samples-dev/firmwareListGeneratePasswordHashListSample.d.ts.map +1 -0
  82. package/dist-esm/samples-dev/firmwareListGeneratePasswordHashListSample.js +104 -0
  83. package/dist-esm/samples-dev/firmwareListGeneratePasswordHashListSample.js.map +1 -0
  84. package/dist-esm/samples-dev/firmwareUpdateSample.d.ts +2 -0
  85. package/dist-esm/samples-dev/firmwareUpdateSample.d.ts.map +1 -0
  86. package/dist-esm/samples-dev/firmwareUpdateSample.js +73 -0
  87. package/dist-esm/samples-dev/firmwareUpdateSample.js.map +1 -0
  88. package/dist-esm/samples-dev/operationsListSample.d.ts +2 -0
  89. package/dist-esm/samples-dev/operationsListSample.d.ts.map +1 -0
  90. package/dist-esm/samples-dev/operationsListSample.js +96 -0
  91. package/dist-esm/samples-dev/operationsListSample.js.map +1 -0
  92. package/dist-esm/samples-dev/workspacesCreateSample.d.ts +2 -0
  93. package/dist-esm/samples-dev/workspacesCreateSample.d.ts.map +1 -0
  94. package/dist-esm/samples-dev/workspacesCreateSample.js +63 -0
  95. package/dist-esm/samples-dev/workspacesCreateSample.js.map +1 -0
  96. package/dist-esm/samples-dev/workspacesDeleteSample.d.ts +2 -0
  97. package/dist-esm/samples-dev/workspacesDeleteSample.d.ts.map +1 -0
  98. package/dist-esm/samples-dev/workspacesDeleteSample.js +58 -0
  99. package/dist-esm/samples-dev/workspacesDeleteSample.js.map +1 -0
  100. package/dist-esm/samples-dev/workspacesGenerateUploadUrlSample.d.ts +2 -0
  101. package/dist-esm/samples-dev/workspacesGenerateUploadUrlSample.d.ts.map +1 -0
  102. package/dist-esm/samples-dev/workspacesGenerateUploadUrlSample.js +62 -0
  103. package/dist-esm/samples-dev/workspacesGenerateUploadUrlSample.js.map +1 -0
  104. package/dist-esm/samples-dev/workspacesGetSample.d.ts +2 -0
  105. package/dist-esm/samples-dev/workspacesGetSample.d.ts.map +1 -0
  106. package/dist-esm/samples-dev/workspacesGetSample.js +58 -0
  107. package/dist-esm/samples-dev/workspacesGetSample.js.map +1 -0
  108. package/dist-esm/samples-dev/workspacesListByResourceGroupSample.d.ts +2 -0
  109. package/dist-esm/samples-dev/workspacesListByResourceGroupSample.d.ts.map +1 -0
  110. package/dist-esm/samples-dev/workspacesListByResourceGroupSample.js +98 -0
  111. package/dist-esm/samples-dev/workspacesListByResourceGroupSample.js.map +1 -0
  112. package/dist-esm/samples-dev/workspacesListBySubscriptionSample.d.ts +2 -0
  113. package/dist-esm/samples-dev/workspacesListBySubscriptionSample.d.ts.map +1 -0
  114. package/dist-esm/samples-dev/workspacesListBySubscriptionSample.js +96 -0
  115. package/dist-esm/samples-dev/workspacesListBySubscriptionSample.js.map +1 -0
  116. package/dist-esm/samples-dev/workspacesUpdateSample.d.ts +2 -0
  117. package/dist-esm/samples-dev/workspacesUpdateSample.d.ts.map +1 -0
  118. package/dist-esm/samples-dev/workspacesUpdateSample.js +60 -0
  119. package/dist-esm/samples-dev/workspacesUpdateSample.js.map +1 -0
  120. package/dist-esm/src/index.d.ts +6 -0
  121. package/dist-esm/src/index.d.ts.map +1 -0
  122. package/dist-esm/src/index.js +13 -0
  123. package/dist-esm/src/index.js.map +1 -0
  124. package/dist-esm/src/ioTFirmwareDefenseClient.d.ts +22 -0
  125. package/dist-esm/src/ioTFirmwareDefenseClient.d.ts.map +1 -0
  126. package/dist-esm/src/ioTFirmwareDefenseClient.js +102 -0
  127. package/dist-esm/src/ioTFirmwareDefenseClient.js.map +1 -0
  128. package/dist-esm/src/models/index.d.ts +1049 -0
  129. package/dist-esm/src/models/index.d.ts.map +1 -0
  130. package/dist-esm/src/models/index.js +142 -0
  131. package/dist-esm/src/models/index.js.map +1 -0
  132. package/dist-esm/src/models/mappers.d.ts +41 -0
  133. package/dist-esm/src/models/mappers.d.ts.map +1 -0
  134. package/dist-esm/src/models/mappers.js +1618 -0
  135. package/dist-esm/src/models/mappers.js.map +1 -0
  136. package/dist-esm/src/models/parameters.d.ts +16 -0
  137. package/dist-esm/src/models/parameters.d.ts.map +1 -0
  138. package/dist-esm/src/models/parameters.js +134 -0
  139. package/dist-esm/src/models/parameters.js.map +1 -0
  140. package/dist-esm/src/operations/firmwareOperations.d.ts +313 -0
  141. package/dist-esm/src/operations/firmwareOperations.d.ts.map +1 -0
  142. package/dist-esm/src/operations/firmwareOperations.js +1393 -0
  143. package/dist-esm/src/operations/firmwareOperations.js.map +1 -0
  144. package/dist-esm/src/operations/index.d.ts +4 -0
  145. package/dist-esm/src/operations/index.d.ts.map +1 -0
  146. package/dist-esm/src/operations/index.js +11 -0
  147. package/dist-esm/src/operations/index.js.map +1 -0
  148. package/dist-esm/src/operations/operations.d.ts +32 -0
  149. package/dist-esm/src/operations/operations.d.ts.map +1 -0
  150. package/dist-esm/src/operations/operations.js +138 -0
  151. package/dist-esm/src/operations/operations.js.map +1 -0
  152. package/dist-esm/src/operations/workspaces.d.ts +91 -0
  153. package/dist-esm/src/operations/workspaces.d.ts.map +1 -0
  154. package/dist-esm/src/operations/workspaces.js +431 -0
  155. package/dist-esm/src/operations/workspaces.js.map +1 -0
  156. package/dist-esm/src/operationsInterfaces/firmwareOperations.d.ts +169 -0
  157. package/dist-esm/src/operationsInterfaces/firmwareOperations.d.ts.map +1 -0
  158. package/dist-esm/src/operationsInterfaces/firmwareOperations.js +9 -0
  159. package/dist-esm/src/operationsInterfaces/firmwareOperations.js.map +1 -0
  160. package/dist-esm/src/operationsInterfaces/index.d.ts +4 -0
  161. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
  162. package/dist-esm/src/operationsInterfaces/index.js +11 -0
  163. package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
  164. package/dist-esm/src/operationsInterfaces/operations.d.ts +11 -0
  165. package/dist-esm/src/operationsInterfaces/operations.d.ts.map +1 -0
  166. package/dist-esm/src/operationsInterfaces/operations.js +9 -0
  167. package/dist-esm/src/operationsInterfaces/operations.js.map +1 -0
  168. package/dist-esm/src/operationsInterfaces/workspaces.d.ts +55 -0
  169. package/dist-esm/src/operationsInterfaces/workspaces.d.ts.map +1 -0
  170. package/dist-esm/src/operationsInterfaces/workspaces.js +9 -0
  171. package/dist-esm/src/operationsInterfaces/workspaces.js.map +1 -0
  172. package/dist-esm/src/pagingHelper.d.ts +13 -0
  173. package/dist-esm/src/pagingHelper.d.ts.map +1 -0
  174. package/dist-esm/src/pagingHelper.js +32 -0
  175. package/dist-esm/src/pagingHelper.js.map +1 -0
  176. package/dist-esm/test/iotfirmwaredefense_operations_test.spec.d.ts +4 -0
  177. package/dist-esm/test/iotfirmwaredefense_operations_test.spec.d.ts.map +1 -0
  178. package/dist-esm/test/iotfirmwaredefense_operations_test.spec.js +120 -0
  179. package/dist-esm/test/iotfirmwaredefense_operations_test.spec.js.map +1 -0
  180. package/package.json +121 -0
  181. package/review/arm-iotfirmwaredefense.api.md +820 -0
  182. package/rollup.config.js +122 -0
  183. package/src/index.ts +13 -0
  184. package/src/ioTFirmwareDefenseClient.ts +152 -0
  185. package/src/models/index.ts +1198 -0
  186. package/src/models/mappers.ts +1678 -0
  187. package/src/models/parameters.ts +159 -0
  188. package/src/operations/firmwareOperations.ts +1892 -0
  189. package/src/operations/index.ts +11 -0
  190. package/src/operations/operations.ts +149 -0
  191. package/src/operations/workspaces.ts +527 -0
  192. package/src/operationsInterfaces/firmwareOperations.ts +320 -0
  193. package/src/operationsInterfaces/index.ts +11 -0
  194. package/src/operationsInterfaces/operations.ts +22 -0
  195. package/src/operationsInterfaces/workspaces.ts +107 -0
  196. package/src/pagingHelper.ts +39 -0
  197. package/tsconfig.json +33 -0
  198. package/types/arm-iotfirmwaredefense.d.ts +1453 -0
  199. package/types/tsdoc-metadata.json +11 -0
@@ -0,0 +1,11 @@
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
+ export * from "./firmwareOperations";
10
+ export * from "./workspaces";
11
+ export * from "./operations";
@@ -0,0 +1,149 @@
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 { Operations } 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 { IoTFirmwareDefenseClient } from "../ioTFirmwareDefenseClient";
16
+ import {
17
+ Operation,
18
+ OperationsListNextOptionalParams,
19
+ OperationsListOptionalParams,
20
+ OperationsListResponse,
21
+ OperationsListNextResponse
22
+ } from "../models";
23
+
24
+ /// <reference lib="esnext.asynciterable" />
25
+ /** Class containing Operations operations. */
26
+ export class OperationsImpl implements Operations {
27
+ private readonly client: IoTFirmwareDefenseClient;
28
+
29
+ /**
30
+ * Initialize a new instance of the class Operations class.
31
+ * @param client Reference to the service client
32
+ */
33
+ constructor(client: IoTFirmwareDefenseClient) {
34
+ this.client = client;
35
+ }
36
+
37
+ /**
38
+ * Lists the operations for this resource provider
39
+ * @param options The options parameters.
40
+ */
41
+ public list(
42
+ options?: OperationsListOptionalParams
43
+ ): PagedAsyncIterableIterator<Operation> {
44
+ const iter = this.listPagingAll(options);
45
+ return {
46
+ next() {
47
+ return iter.next();
48
+ },
49
+ [Symbol.asyncIterator]() {
50
+ return this;
51
+ },
52
+ byPage: (settings?: PageSettings) => {
53
+ if (settings?.maxPageSize) {
54
+ throw new Error("maxPageSize is not supported by this operation.");
55
+ }
56
+ return this.listPagingPage(options, settings);
57
+ }
58
+ };
59
+ }
60
+
61
+ private async *listPagingPage(
62
+ options?: OperationsListOptionalParams,
63
+ settings?: PageSettings
64
+ ): AsyncIterableIterator<Operation[]> {
65
+ let result: OperationsListResponse;
66
+ let continuationToken = settings?.continuationToken;
67
+ if (!continuationToken) {
68
+ result = await this._list(options);
69
+ let page = result.value || [];
70
+ continuationToken = result.nextLink;
71
+ setContinuationToken(page, continuationToken);
72
+ yield page;
73
+ }
74
+ while (continuationToken) {
75
+ result = await this._listNext(continuationToken, options);
76
+ continuationToken = result.nextLink;
77
+ let page = result.value || [];
78
+ setContinuationToken(page, continuationToken);
79
+ yield page;
80
+ }
81
+ }
82
+
83
+ private async *listPagingAll(
84
+ options?: OperationsListOptionalParams
85
+ ): AsyncIterableIterator<Operation> {
86
+ for await (const page of this.listPagingPage(options)) {
87
+ yield* page;
88
+ }
89
+ }
90
+
91
+ /**
92
+ * Lists the operations for this resource provider
93
+ * @param options The options parameters.
94
+ */
95
+ private _list(
96
+ options?: OperationsListOptionalParams
97
+ ): Promise<OperationsListResponse> {
98
+ return this.client.sendOperationRequest({ options }, listOperationSpec);
99
+ }
100
+
101
+ /**
102
+ * ListNext
103
+ * @param nextLink The nextLink from the previous successful call to the List method.
104
+ * @param options The options parameters.
105
+ */
106
+ private _listNext(
107
+ nextLink: string,
108
+ options?: OperationsListNextOptionalParams
109
+ ): Promise<OperationsListNextResponse> {
110
+ return this.client.sendOperationRequest(
111
+ { nextLink, options },
112
+ listNextOperationSpec
113
+ );
114
+ }
115
+ }
116
+ // Operation Specifications
117
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
118
+
119
+ const listOperationSpec: coreClient.OperationSpec = {
120
+ path: "/providers/Microsoft.IoTFirmwareDefense/operations",
121
+ httpMethod: "GET",
122
+ responses: {
123
+ 200: {
124
+ bodyMapper: Mappers.OperationListResult
125
+ },
126
+ default: {
127
+ bodyMapper: Mappers.ErrorResponse
128
+ }
129
+ },
130
+ queryParameters: [Parameters.apiVersion],
131
+ urlParameters: [Parameters.$host],
132
+ headerParameters: [Parameters.accept],
133
+ serializer
134
+ };
135
+ const listNextOperationSpec: coreClient.OperationSpec = {
136
+ path: "{nextLink}",
137
+ httpMethod: "GET",
138
+ responses: {
139
+ 200: {
140
+ bodyMapper: Mappers.OperationListResult
141
+ },
142
+ default: {
143
+ bodyMapper: Mappers.ErrorResponse
144
+ }
145
+ },
146
+ urlParameters: [Parameters.$host, Parameters.nextLink],
147
+ headerParameters: [Parameters.accept],
148
+ serializer
149
+ };
@@ -0,0 +1,527 @@
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 { Workspaces } 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 { IoTFirmwareDefenseClient } from "../ioTFirmwareDefenseClient";
16
+ import {
17
+ Workspace,
18
+ WorkspacesListBySubscriptionNextOptionalParams,
19
+ WorkspacesListBySubscriptionOptionalParams,
20
+ WorkspacesListBySubscriptionResponse,
21
+ WorkspacesListByResourceGroupNextOptionalParams,
22
+ WorkspacesListByResourceGroupOptionalParams,
23
+ WorkspacesListByResourceGroupResponse,
24
+ WorkspacesCreateOptionalParams,
25
+ WorkspacesCreateResponse,
26
+ WorkspaceUpdateDefinition,
27
+ WorkspacesUpdateOptionalParams,
28
+ WorkspacesUpdateResponse,
29
+ WorkspacesDeleteOptionalParams,
30
+ WorkspacesGetOptionalParams,
31
+ WorkspacesGetResponse,
32
+ GenerateUploadUrlRequest,
33
+ WorkspacesGenerateUploadUrlOptionalParams,
34
+ WorkspacesGenerateUploadUrlResponse,
35
+ WorkspacesListBySubscriptionNextResponse,
36
+ WorkspacesListByResourceGroupNextResponse
37
+ } from "../models";
38
+
39
+ /// <reference lib="esnext.asynciterable" />
40
+ /** Class containing Workspaces operations. */
41
+ export class WorkspacesImpl implements Workspaces {
42
+ private readonly client: IoTFirmwareDefenseClient;
43
+
44
+ /**
45
+ * Initialize a new instance of the class Workspaces class.
46
+ * @param client Reference to the service client
47
+ */
48
+ constructor(client: IoTFirmwareDefenseClient) {
49
+ this.client = client;
50
+ }
51
+
52
+ /**
53
+ * Lists all of the firmware analysis workspaces in the specified subscription.
54
+ * @param options The options parameters.
55
+ */
56
+ public listBySubscription(
57
+ options?: WorkspacesListBySubscriptionOptionalParams
58
+ ): PagedAsyncIterableIterator<Workspace> {
59
+ const iter = this.listBySubscriptionPagingAll(options);
60
+ return {
61
+ next() {
62
+ return iter.next();
63
+ },
64
+ [Symbol.asyncIterator]() {
65
+ return this;
66
+ },
67
+ byPage: (settings?: PageSettings) => {
68
+ if (settings?.maxPageSize) {
69
+ throw new Error("maxPageSize is not supported by this operation.");
70
+ }
71
+ return this.listBySubscriptionPagingPage(options, settings);
72
+ }
73
+ };
74
+ }
75
+
76
+ private async *listBySubscriptionPagingPage(
77
+ options?: WorkspacesListBySubscriptionOptionalParams,
78
+ settings?: PageSettings
79
+ ): AsyncIterableIterator<Workspace[]> {
80
+ let result: WorkspacesListBySubscriptionResponse;
81
+ let continuationToken = settings?.continuationToken;
82
+ if (!continuationToken) {
83
+ result = await this._listBySubscription(options);
84
+ let page = result.value || [];
85
+ continuationToken = result.nextLink;
86
+ setContinuationToken(page, continuationToken);
87
+ yield page;
88
+ }
89
+ while (continuationToken) {
90
+ result = await this._listBySubscriptionNext(continuationToken, options);
91
+ continuationToken = result.nextLink;
92
+ let page = result.value || [];
93
+ setContinuationToken(page, continuationToken);
94
+ yield page;
95
+ }
96
+ }
97
+
98
+ private async *listBySubscriptionPagingAll(
99
+ options?: WorkspacesListBySubscriptionOptionalParams
100
+ ): AsyncIterableIterator<Workspace> {
101
+ for await (const page of this.listBySubscriptionPagingPage(options)) {
102
+ yield* page;
103
+ }
104
+ }
105
+
106
+ /**
107
+ * Lists all of the firmware analysis workspaces in the specified resource group.
108
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
109
+ * @param options The options parameters.
110
+ */
111
+ public listByResourceGroup(
112
+ resourceGroupName: string,
113
+ options?: WorkspacesListByResourceGroupOptionalParams
114
+ ): PagedAsyncIterableIterator<Workspace> {
115
+ const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);
116
+ return {
117
+ next() {
118
+ return iter.next();
119
+ },
120
+ [Symbol.asyncIterator]() {
121
+ return this;
122
+ },
123
+ byPage: (settings?: PageSettings) => {
124
+ if (settings?.maxPageSize) {
125
+ throw new Error("maxPageSize is not supported by this operation.");
126
+ }
127
+ return this.listByResourceGroupPagingPage(
128
+ resourceGroupName,
129
+ options,
130
+ settings
131
+ );
132
+ }
133
+ };
134
+ }
135
+
136
+ private async *listByResourceGroupPagingPage(
137
+ resourceGroupName: string,
138
+ options?: WorkspacesListByResourceGroupOptionalParams,
139
+ settings?: PageSettings
140
+ ): AsyncIterableIterator<Workspace[]> {
141
+ let result: WorkspacesListByResourceGroupResponse;
142
+ let continuationToken = settings?.continuationToken;
143
+ if (!continuationToken) {
144
+ result = await this._listByResourceGroup(resourceGroupName, options);
145
+ let page = result.value || [];
146
+ continuationToken = result.nextLink;
147
+ setContinuationToken(page, continuationToken);
148
+ yield page;
149
+ }
150
+ while (continuationToken) {
151
+ result = await this._listByResourceGroupNext(
152
+ resourceGroupName,
153
+ continuationToken,
154
+ options
155
+ );
156
+ continuationToken = result.nextLink;
157
+ let page = result.value || [];
158
+ setContinuationToken(page, continuationToken);
159
+ yield page;
160
+ }
161
+ }
162
+
163
+ private async *listByResourceGroupPagingAll(
164
+ resourceGroupName: string,
165
+ options?: WorkspacesListByResourceGroupOptionalParams
166
+ ): AsyncIterableIterator<Workspace> {
167
+ for await (const page of this.listByResourceGroupPagingPage(
168
+ resourceGroupName,
169
+ options
170
+ )) {
171
+ yield* page;
172
+ }
173
+ }
174
+
175
+ /**
176
+ * Lists all of the firmware analysis workspaces in the specified subscription.
177
+ * @param options The options parameters.
178
+ */
179
+ private _listBySubscription(
180
+ options?: WorkspacesListBySubscriptionOptionalParams
181
+ ): Promise<WorkspacesListBySubscriptionResponse> {
182
+ return this.client.sendOperationRequest(
183
+ { options },
184
+ listBySubscriptionOperationSpec
185
+ );
186
+ }
187
+
188
+ /**
189
+ * Lists all of the firmware analysis workspaces in the specified resource group.
190
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
191
+ * @param options The options parameters.
192
+ */
193
+ private _listByResourceGroup(
194
+ resourceGroupName: string,
195
+ options?: WorkspacesListByResourceGroupOptionalParams
196
+ ): Promise<WorkspacesListByResourceGroupResponse> {
197
+ return this.client.sendOperationRequest(
198
+ { resourceGroupName, options },
199
+ listByResourceGroupOperationSpec
200
+ );
201
+ }
202
+
203
+ /**
204
+ * The operation to create or update a firmware analysis workspace.
205
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
206
+ * @param workspaceName The name of the firmware analysis workspace.
207
+ * @param workspace Parameters when creating a firmware analysis workspace.
208
+ * @param options The options parameters.
209
+ */
210
+ create(
211
+ resourceGroupName: string,
212
+ workspaceName: string,
213
+ workspace: Workspace,
214
+ options?: WorkspacesCreateOptionalParams
215
+ ): Promise<WorkspacesCreateResponse> {
216
+ return this.client.sendOperationRequest(
217
+ { resourceGroupName, workspaceName, workspace, options },
218
+ createOperationSpec
219
+ );
220
+ }
221
+
222
+ /**
223
+ * The operation to update a firmware analysis workspaces.
224
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
225
+ * @param workspaceName The name of the firmware analysis workspace.
226
+ * @param workspace Parameters when updating a firmware analysis workspace.
227
+ * @param options The options parameters.
228
+ */
229
+ update(
230
+ resourceGroupName: string,
231
+ workspaceName: string,
232
+ workspace: WorkspaceUpdateDefinition,
233
+ options?: WorkspacesUpdateOptionalParams
234
+ ): Promise<WorkspacesUpdateResponse> {
235
+ return this.client.sendOperationRequest(
236
+ { resourceGroupName, workspaceName, workspace, options },
237
+ updateOperationSpec
238
+ );
239
+ }
240
+
241
+ /**
242
+ * The operation to delete a firmware analysis workspace.
243
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
244
+ * @param workspaceName The name of the firmware analysis workspace.
245
+ * @param options The options parameters.
246
+ */
247
+ delete(
248
+ resourceGroupName: string,
249
+ workspaceName: string,
250
+ options?: WorkspacesDeleteOptionalParams
251
+ ): Promise<void> {
252
+ return this.client.sendOperationRequest(
253
+ { resourceGroupName, workspaceName, options },
254
+ deleteOperationSpec
255
+ );
256
+ }
257
+
258
+ /**
259
+ * Get firmware analysis workspace.
260
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
261
+ * @param workspaceName The name of the firmware analysis workspace.
262
+ * @param options The options parameters.
263
+ */
264
+ get(
265
+ resourceGroupName: string,
266
+ workspaceName: string,
267
+ options?: WorkspacesGetOptionalParams
268
+ ): Promise<WorkspacesGetResponse> {
269
+ return this.client.sendOperationRequest(
270
+ { resourceGroupName, workspaceName, options },
271
+ getOperationSpec
272
+ );
273
+ }
274
+
275
+ /**
276
+ * The operation to get a url for file upload.
277
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
278
+ * @param workspaceName The name of the firmware analysis workspace.
279
+ * @param generateUploadUrl Parameters when requesting a URL to upload firmware.
280
+ * @param options The options parameters.
281
+ */
282
+ generateUploadUrl(
283
+ resourceGroupName: string,
284
+ workspaceName: string,
285
+ generateUploadUrl: GenerateUploadUrlRequest,
286
+ options?: WorkspacesGenerateUploadUrlOptionalParams
287
+ ): Promise<WorkspacesGenerateUploadUrlResponse> {
288
+ return this.client.sendOperationRequest(
289
+ { resourceGroupName, workspaceName, generateUploadUrl, options },
290
+ generateUploadUrlOperationSpec
291
+ );
292
+ }
293
+
294
+ /**
295
+ * ListBySubscriptionNext
296
+ * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.
297
+ * @param options The options parameters.
298
+ */
299
+ private _listBySubscriptionNext(
300
+ nextLink: string,
301
+ options?: WorkspacesListBySubscriptionNextOptionalParams
302
+ ): Promise<WorkspacesListBySubscriptionNextResponse> {
303
+ return this.client.sendOperationRequest(
304
+ { nextLink, options },
305
+ listBySubscriptionNextOperationSpec
306
+ );
307
+ }
308
+
309
+ /**
310
+ * ListByResourceGroupNext
311
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
312
+ * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
313
+ * @param options The options parameters.
314
+ */
315
+ private _listByResourceGroupNext(
316
+ resourceGroupName: string,
317
+ nextLink: string,
318
+ options?: WorkspacesListByResourceGroupNextOptionalParams
319
+ ): Promise<WorkspacesListByResourceGroupNextResponse> {
320
+ return this.client.sendOperationRequest(
321
+ { resourceGroupName, nextLink, options },
322
+ listByResourceGroupNextOperationSpec
323
+ );
324
+ }
325
+ }
326
+ // Operation Specifications
327
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
328
+
329
+ const listBySubscriptionOperationSpec: coreClient.OperationSpec = {
330
+ path:
331
+ "/subscriptions/{subscriptionId}/providers/Microsoft.IoTFirmwareDefense/workspaces",
332
+ httpMethod: "GET",
333
+ responses: {
334
+ 200: {
335
+ bodyMapper: Mappers.WorkspaceList
336
+ },
337
+ default: {
338
+ bodyMapper: Mappers.ErrorResponse
339
+ }
340
+ },
341
+ queryParameters: [Parameters.apiVersion],
342
+ urlParameters: [Parameters.$host, Parameters.subscriptionId],
343
+ headerParameters: [Parameters.accept],
344
+ serializer
345
+ };
346
+ const listByResourceGroupOperationSpec: coreClient.OperationSpec = {
347
+ path:
348
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTFirmwareDefense/workspaces",
349
+ httpMethod: "GET",
350
+ responses: {
351
+ 200: {
352
+ bodyMapper: Mappers.WorkspaceList
353
+ },
354
+ default: {
355
+ bodyMapper: Mappers.ErrorResponse
356
+ }
357
+ },
358
+ queryParameters: [Parameters.apiVersion],
359
+ urlParameters: [
360
+ Parameters.$host,
361
+ Parameters.subscriptionId,
362
+ Parameters.resourceGroupName
363
+ ],
364
+ headerParameters: [Parameters.accept],
365
+ serializer
366
+ };
367
+ const createOperationSpec: coreClient.OperationSpec = {
368
+ path:
369
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTFirmwareDefense/workspaces/{workspaceName}",
370
+ httpMethod: "PUT",
371
+ responses: {
372
+ 200: {
373
+ bodyMapper: Mappers.Workspace
374
+ },
375
+ 201: {
376
+ bodyMapper: Mappers.Workspace
377
+ },
378
+ default: {
379
+ bodyMapper: Mappers.ErrorResponse
380
+ }
381
+ },
382
+ requestBody: Parameters.workspace,
383
+ queryParameters: [Parameters.apiVersion],
384
+ urlParameters: [
385
+ Parameters.$host,
386
+ Parameters.subscriptionId,
387
+ Parameters.resourceGroupName,
388
+ Parameters.workspaceName
389
+ ],
390
+ headerParameters: [Parameters.accept, Parameters.contentType],
391
+ mediaType: "json",
392
+ serializer
393
+ };
394
+ const updateOperationSpec: coreClient.OperationSpec = {
395
+ path:
396
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTFirmwareDefense/workspaces/{workspaceName}",
397
+ httpMethod: "PATCH",
398
+ responses: {
399
+ 200: {
400
+ bodyMapper: Mappers.Workspace
401
+ },
402
+ 201: {
403
+ bodyMapper: Mappers.Workspace
404
+ },
405
+ default: {
406
+ bodyMapper: Mappers.ErrorResponse
407
+ }
408
+ },
409
+ requestBody: Parameters.workspace1,
410
+ queryParameters: [Parameters.apiVersion],
411
+ urlParameters: [
412
+ Parameters.$host,
413
+ Parameters.subscriptionId,
414
+ Parameters.resourceGroupName,
415
+ Parameters.workspaceName
416
+ ],
417
+ headerParameters: [Parameters.accept, Parameters.contentType],
418
+ mediaType: "json",
419
+ serializer
420
+ };
421
+ const deleteOperationSpec: coreClient.OperationSpec = {
422
+ path:
423
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTFirmwareDefense/workspaces/{workspaceName}",
424
+ httpMethod: "DELETE",
425
+ responses: {
426
+ 200: {},
427
+ 204: {},
428
+ default: {
429
+ bodyMapper: Mappers.ErrorResponse
430
+ }
431
+ },
432
+ queryParameters: [Parameters.apiVersion],
433
+ urlParameters: [
434
+ Parameters.$host,
435
+ Parameters.subscriptionId,
436
+ Parameters.resourceGroupName,
437
+ Parameters.workspaceName
438
+ ],
439
+ headerParameters: [Parameters.accept],
440
+ serializer
441
+ };
442
+ const getOperationSpec: coreClient.OperationSpec = {
443
+ path:
444
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTFirmwareDefense/workspaces/{workspaceName}",
445
+ httpMethod: "GET",
446
+ responses: {
447
+ 200: {
448
+ bodyMapper: Mappers.Workspace
449
+ },
450
+ 304: {},
451
+ default: {
452
+ bodyMapper: Mappers.ErrorResponse
453
+ }
454
+ },
455
+ queryParameters: [Parameters.apiVersion],
456
+ urlParameters: [
457
+ Parameters.$host,
458
+ Parameters.subscriptionId,
459
+ Parameters.resourceGroupName,
460
+ Parameters.workspaceName
461
+ ],
462
+ headerParameters: [Parameters.accept],
463
+ serializer
464
+ };
465
+ const generateUploadUrlOperationSpec: coreClient.OperationSpec = {
466
+ path:
467
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTFirmwareDefense/workspaces/{workspaceName}/generateUploadUrl",
468
+ httpMethod: "POST",
469
+ responses: {
470
+ 200: {
471
+ bodyMapper: Mappers.UrlToken
472
+ },
473
+ default: {
474
+ bodyMapper: Mappers.ErrorResponse
475
+ }
476
+ },
477
+ requestBody: Parameters.generateUploadUrl,
478
+ queryParameters: [Parameters.apiVersion],
479
+ urlParameters: [
480
+ Parameters.$host,
481
+ Parameters.subscriptionId,
482
+ Parameters.resourceGroupName,
483
+ Parameters.workspaceName
484
+ ],
485
+ headerParameters: [Parameters.accept, Parameters.contentType],
486
+ mediaType: "json",
487
+ serializer
488
+ };
489
+ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {
490
+ path: "{nextLink}",
491
+ httpMethod: "GET",
492
+ responses: {
493
+ 200: {
494
+ bodyMapper: Mappers.WorkspaceList
495
+ },
496
+ default: {
497
+ bodyMapper: Mappers.ErrorResponse
498
+ }
499
+ },
500
+ urlParameters: [
501
+ Parameters.$host,
502
+ Parameters.subscriptionId,
503
+ Parameters.nextLink
504
+ ],
505
+ headerParameters: [Parameters.accept],
506
+ serializer
507
+ };
508
+ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {
509
+ path: "{nextLink}",
510
+ httpMethod: "GET",
511
+ responses: {
512
+ 200: {
513
+ bodyMapper: Mappers.WorkspaceList
514
+ },
515
+ default: {
516
+ bodyMapper: Mappers.ErrorResponse
517
+ }
518
+ },
519
+ urlParameters: [
520
+ Parameters.$host,
521
+ Parameters.subscriptionId,
522
+ Parameters.resourceGroupName,
523
+ Parameters.nextLink
524
+ ],
525
+ headerParameters: [Parameters.accept],
526
+ serializer
527
+ };