@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,122 @@
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 nodeResolve from "@rollup/plugin-node-resolve";
10
+ import cjs from "@rollup/plugin-commonjs";
11
+ import sourcemaps from "rollup-plugin-sourcemaps";
12
+ import multiEntry from "@rollup/plugin-multi-entry";
13
+ import json from "@rollup/plugin-json";
14
+
15
+ import nodeBuiltins from "builtin-modules";
16
+
17
+ // #region Warning Handler
18
+
19
+ /**
20
+ * A function that can determine whether a rollup warning should be ignored. If
21
+ * the function returns `true`, then the warning will not be displayed.
22
+ */
23
+
24
+ function ignoreNiseSinonEval(warning) {
25
+ return (
26
+ warning.code === "EVAL" &&
27
+ warning.id &&
28
+ (warning.id.includes("node_modules/nise") ||
29
+ warning.id.includes("node_modules/sinon")) === true
30
+ );
31
+ }
32
+
33
+ function ignoreChaiCircularDependency(warning) {
34
+ return (
35
+ warning.code === "CIRCULAR_DEPENDENCY" &&
36
+ warning.importer && warning.importer.includes("node_modules/chai") === true
37
+ );
38
+ }
39
+
40
+ const warningInhibitors = [ignoreChaiCircularDependency, ignoreNiseSinonEval];
41
+
42
+ /**
43
+ * Construct a warning handler for the shared rollup configuration
44
+ * that ignores certain warnings that are not relevant to testing.
45
+ */
46
+ function makeOnWarnForTesting() {
47
+ return (warning, warn) => {
48
+ // If every inhibitor returns false (i.e. no inhibitors), then show the warning
49
+ if (warningInhibitors.every((inhib) => !inhib(warning))) {
50
+ warn(warning);
51
+ }
52
+ };
53
+ }
54
+
55
+ // #endregion
56
+
57
+ function makeBrowserTestConfig() {
58
+ const config = {
59
+ input: {
60
+ include: ["dist-esm/test/**/*.spec.js"],
61
+ exclude: ["dist-esm/test/**/node/**"]
62
+ },
63
+ output: {
64
+ file: `dist-test/index.browser.js`,
65
+ format: "umd",
66
+ sourcemap: true
67
+ },
68
+ preserveSymlinks: false,
69
+ plugins: [
70
+ multiEntry({ exports: false }),
71
+ nodeResolve({
72
+ mainFields: ["module", "browser"]
73
+ }),
74
+ cjs(),
75
+ json(),
76
+ sourcemaps()
77
+ //viz({ filename: "dist-test/browser-stats.html", sourcemap: true })
78
+ ],
79
+ onwarn: makeOnWarnForTesting(),
80
+ // Disable tree-shaking of test code. In rollup-plugin-node-resolve@5.0.0,
81
+ // rollup started respecting the "sideEffects" field in package.json. Since
82
+ // our package.json sets "sideEffects=false", this also applies to test
83
+ // code, which causes all tests to be removed by tree-shaking.
84
+ treeshake: false
85
+ };
86
+
87
+ return config;
88
+ }
89
+
90
+ const defaultConfigurationOptions = {
91
+ disableBrowserBundle: false
92
+ };
93
+
94
+ export function makeConfig(pkg, options) {
95
+ options = {
96
+ ...defaultConfigurationOptions,
97
+ ...(options || {})
98
+ };
99
+
100
+ const baseConfig = {
101
+ // Use the package's module field if it has one
102
+ input: pkg["module"] || "dist-esm/src/index.js",
103
+ external: [
104
+ ...nodeBuiltins,
105
+ ...Object.keys(pkg.dependencies),
106
+ ...Object.keys(pkg.devDependencies)
107
+ ],
108
+ output: { file: "dist/index.js", format: "cjs", sourcemap: true },
109
+ preserveSymlinks: false,
110
+ plugins: [sourcemaps(), nodeResolve()]
111
+ };
112
+
113
+ const config = [baseConfig];
114
+
115
+ if (!options.disableBrowserBundle) {
116
+ config.push(makeBrowserTestConfig());
117
+ }
118
+
119
+ return config;
120
+ }
121
+
122
+ export default makeConfig(require("./package.json"));
package/src/index.ts ADDED
@@ -0,0 +1,13 @@
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
+ /// <reference lib="esnext.asynciterable" />
10
+ export { getContinuationToken } from "./pagingHelper";
11
+ export * from "./models";
12
+ export { IoTFirmwareDefenseClient } from "./ioTFirmwareDefenseClient";
13
+ export * from "./operationsInterfaces";
@@ -0,0 +1,152 @@
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 * as coreClient from "@azure/core-client";
10
+ import * as coreRestPipeline from "@azure/core-rest-pipeline";
11
+ import {
12
+ PipelineRequest,
13
+ PipelineResponse,
14
+ SendRequest
15
+ } from "@azure/core-rest-pipeline";
16
+ import * as coreAuth from "@azure/core-auth";
17
+ import {
18
+ FirmwareOperationsImpl,
19
+ WorkspacesImpl,
20
+ OperationsImpl
21
+ } from "./operations";
22
+ import {
23
+ FirmwareOperations,
24
+ Workspaces,
25
+ Operations
26
+ } from "./operationsInterfaces";
27
+ import { IoTFirmwareDefenseClientOptionalParams } from "./models";
28
+
29
+ export class IoTFirmwareDefenseClient extends coreClient.ServiceClient {
30
+ $host: string;
31
+ subscriptionId: string;
32
+ apiVersion: string;
33
+
34
+ /**
35
+ * Initializes a new instance of the IoTFirmwareDefenseClient class.
36
+ * @param credentials Subscription credentials which uniquely identify client subscription.
37
+ * @param subscriptionId The ID of the target subscription.
38
+ * @param options The parameter options
39
+ */
40
+ constructor(
41
+ credentials: coreAuth.TokenCredential,
42
+ subscriptionId: string,
43
+ options?: IoTFirmwareDefenseClientOptionalParams
44
+ ) {
45
+ if (credentials === undefined) {
46
+ throw new Error("'credentials' cannot be null");
47
+ }
48
+ if (subscriptionId === undefined) {
49
+ throw new Error("'subscriptionId' cannot be null");
50
+ }
51
+
52
+ // Initializing default values for options
53
+ if (!options) {
54
+ options = {};
55
+ }
56
+ const defaults: IoTFirmwareDefenseClientOptionalParams = {
57
+ requestContentType: "application/json; charset=utf-8",
58
+ credential: credentials
59
+ };
60
+
61
+ const packageDetails = `azsdk-js-arm-iotfirmwaredefense/1.0.0-beta.1`;
62
+ const userAgentPrefix =
63
+ options.userAgentOptions && options.userAgentOptions.userAgentPrefix
64
+ ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
65
+ : `${packageDetails}`;
66
+
67
+ const optionsWithDefaults = {
68
+ ...defaults,
69
+ ...options,
70
+ userAgentOptions: {
71
+ userAgentPrefix
72
+ },
73
+ endpoint:
74
+ options.endpoint ?? options.baseUri ?? "https://management.azure.com"
75
+ };
76
+ super(optionsWithDefaults);
77
+
78
+ let bearerTokenAuthenticationPolicyFound: boolean = false;
79
+ if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {
80
+ const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();
81
+ bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(
82
+ (pipelinePolicy) =>
83
+ pipelinePolicy.name ===
84
+ coreRestPipeline.bearerTokenAuthenticationPolicyName
85
+ );
86
+ }
87
+ if (
88
+ !options ||
89
+ !options.pipeline ||
90
+ options.pipeline.getOrderedPolicies().length == 0 ||
91
+ !bearerTokenAuthenticationPolicyFound
92
+ ) {
93
+ this.pipeline.removePolicy({
94
+ name: coreRestPipeline.bearerTokenAuthenticationPolicyName
95
+ });
96
+ this.pipeline.addPolicy(
97
+ coreRestPipeline.bearerTokenAuthenticationPolicy({
98
+ credential: credentials,
99
+ scopes:
100
+ optionsWithDefaults.credentialScopes ??
101
+ `${optionsWithDefaults.endpoint}/.default`,
102
+ challengeCallbacks: {
103
+ authorizeRequestOnChallenge:
104
+ coreClient.authorizeRequestOnClaimChallenge
105
+ }
106
+ })
107
+ );
108
+ }
109
+ // Parameter assignments
110
+ this.subscriptionId = subscriptionId;
111
+
112
+ // Assigning values to Constant parameters
113
+ this.$host = options.$host || "https://management.azure.com";
114
+ this.apiVersion = options.apiVersion || "2023-02-08-preview";
115
+ this.firmwareOperations = new FirmwareOperationsImpl(this);
116
+ this.workspaces = new WorkspacesImpl(this);
117
+ this.operations = new OperationsImpl(this);
118
+ this.addCustomApiVersionPolicy(options.apiVersion);
119
+ }
120
+
121
+ /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */
122
+ private addCustomApiVersionPolicy(apiVersion?: string) {
123
+ if (!apiVersion) {
124
+ return;
125
+ }
126
+ const apiVersionPolicy = {
127
+ name: "CustomApiVersionPolicy",
128
+ async sendRequest(
129
+ request: PipelineRequest,
130
+ next: SendRequest
131
+ ): Promise<PipelineResponse> {
132
+ const param = request.url.split("?");
133
+ if (param.length > 1) {
134
+ const newParams = param[1].split("&").map((item) => {
135
+ if (item.indexOf("api-version") > -1) {
136
+ return "api-version=" + apiVersion;
137
+ } else {
138
+ return item;
139
+ }
140
+ });
141
+ request.url = param[0] + "?" + newParams.join("&");
142
+ }
143
+ return next(request);
144
+ }
145
+ };
146
+ this.pipeline.addPolicy(apiVersionPolicy);
147
+ }
148
+
149
+ firmwareOperations: FirmwareOperations;
150
+ workspaces: Workspaces;
151
+ operations: Operations;
152
+ }