@azure-rest/batch 1.0.0-beta.1 → 1.0.0-beta.3

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 (190) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -4
  3. package/dist/browser/batchClient.d.ts +3 -3
  4. package/dist/browser/batchClient.js +20 -24
  5. package/dist/browser/batchClient.js.map +1 -1
  6. package/dist/browser/clientDefinitions.d.ts +68 -7
  7. package/dist/browser/clientDefinitions.js +1 -1
  8. package/dist/browser/clientDefinitions.js.map +1 -1
  9. package/dist/browser/credentials/batchSharedKeyCredentials-browser.mjs.map +1 -1
  10. package/dist/browser/credentials/batchSharedKeyCredentials.js +1 -1
  11. package/dist/browser/index.d.ts +0 -1
  12. package/dist/browser/index.js +1 -2
  13. package/dist/browser/index.js.map +1 -1
  14. package/dist/browser/isUnexpected.d.ts +9 -1
  15. package/dist/browser/isUnexpected.js +15 -6
  16. package/dist/browser/isUnexpected.js.map +1 -1
  17. package/dist/browser/logger.js +1 -1
  18. package/dist/browser/logger.js.map +1 -1
  19. package/dist/browser/models.d.ts +485 -156
  20. package/dist/browser/models.js +1 -1
  21. package/dist/browser/models.js.map +1 -1
  22. package/dist/browser/outputModels.d.ts +532 -155
  23. package/dist/browser/outputModels.js +1 -1
  24. package/dist/browser/outputModels.js.map +1 -1
  25. package/dist/browser/paginateHelper.d.ts +28 -3
  26. package/dist/browser/paginateHelper.js +70 -3
  27. package/dist/browser/paginateHelper.js.map +1 -1
  28. package/dist/browser/parameters.d.ts +546 -58
  29. package/dist/browser/parameters.js +1 -1
  30. package/dist/browser/parameters.js.map +1 -1
  31. package/dist/browser/responses.d.ts +178 -4
  32. package/dist/browser/responses.js +1 -1
  33. package/dist/browser/responses.js.map +1 -1
  34. package/dist/commonjs/batchClient.d.ts +3 -3
  35. package/dist/commonjs/batchClient.js +20 -24
  36. package/dist/commonjs/batchClient.js.map +1 -1
  37. package/dist/commonjs/clientDefinitions.d.ts +68 -7
  38. package/dist/commonjs/clientDefinitions.js +1 -1
  39. package/dist/commonjs/clientDefinitions.js.map +1 -1
  40. package/dist/commonjs/credentials/batchSharedKeyCredentials.d.ts +1 -1
  41. package/dist/commonjs/credentials/batchSharedKeyCredentials.js +2 -3
  42. package/dist/commonjs/credentials/batchSharedKeyCredentials.js.map +1 -1
  43. package/dist/commonjs/index.d.ts +0 -1
  44. package/dist/commonjs/index.js +1 -2
  45. package/dist/commonjs/index.js.map +1 -1
  46. package/dist/commonjs/isUnexpected.d.ts +9 -1
  47. package/dist/commonjs/isUnexpected.js +15 -6
  48. package/dist/commonjs/isUnexpected.js.map +1 -1
  49. package/dist/commonjs/logger.js +1 -1
  50. package/dist/commonjs/logger.js.map +1 -1
  51. package/dist/commonjs/models.d.ts +485 -156
  52. package/dist/commonjs/models.js +1 -1
  53. package/dist/commonjs/models.js.map +1 -1
  54. package/dist/commonjs/outputModels.d.ts +532 -155
  55. package/dist/commonjs/outputModels.js +1 -1
  56. package/dist/commonjs/outputModels.js.map +1 -1
  57. package/dist/commonjs/paginateHelper.d.ts +28 -3
  58. package/dist/commonjs/paginateHelper.js +71 -4
  59. package/dist/commonjs/paginateHelper.js.map +1 -1
  60. package/dist/commonjs/parameters.d.ts +546 -58
  61. package/dist/commonjs/parameters.js +1 -1
  62. package/dist/commonjs/parameters.js.map +1 -1
  63. package/dist/commonjs/responses.d.ts +178 -4
  64. package/dist/commonjs/responses.js +1 -1
  65. package/dist/commonjs/responses.js.map +1 -1
  66. package/dist/commonjs/tsdoc-metadata.json +11 -11
  67. package/dist/esm/batchClient.d.ts +3 -3
  68. package/dist/esm/batchClient.js +20 -24
  69. package/dist/esm/batchClient.js.map +1 -1
  70. package/dist/esm/clientDefinitions.d.ts +68 -7
  71. package/dist/esm/clientDefinitions.js +1 -1
  72. package/dist/esm/clientDefinitions.js.map +1 -1
  73. package/dist/esm/credentials/batchSharedKeyCredentials.d.ts +1 -1
  74. package/dist/esm/credentials/batchSharedKeyCredentials.js +2 -3
  75. package/dist/esm/credentials/batchSharedKeyCredentials.js.map +1 -1
  76. package/dist/esm/index.d.ts +0 -1
  77. package/dist/esm/index.js +1 -2
  78. package/dist/esm/index.js.map +1 -1
  79. package/dist/esm/isUnexpected.d.ts +9 -1
  80. package/dist/esm/isUnexpected.js +15 -6
  81. package/dist/esm/isUnexpected.js.map +1 -1
  82. package/dist/esm/logger.js +1 -1
  83. package/dist/esm/logger.js.map +1 -1
  84. package/dist/esm/models.d.ts +485 -156
  85. package/dist/esm/models.js +1 -1
  86. package/dist/esm/models.js.map +1 -1
  87. package/dist/esm/outputModels.d.ts +532 -155
  88. package/dist/esm/outputModels.js +1 -1
  89. package/dist/esm/outputModels.js.map +1 -1
  90. package/dist/esm/paginateHelper.d.ts +28 -3
  91. package/dist/esm/paginateHelper.js +70 -3
  92. package/dist/esm/paginateHelper.js.map +1 -1
  93. package/dist/esm/parameters.d.ts +546 -58
  94. package/dist/esm/parameters.js +1 -1
  95. package/dist/esm/parameters.js.map +1 -1
  96. package/dist/esm/responses.d.ts +178 -4
  97. package/dist/esm/responses.js +1 -1
  98. package/dist/esm/responses.js.map +1 -1
  99. package/dist/react-native/batchClient.d.ts +3 -3
  100. package/dist/react-native/batchClient.js +20 -24
  101. package/dist/react-native/batchClient.js.map +1 -1
  102. package/dist/react-native/clientDefinitions.d.ts +68 -7
  103. package/dist/react-native/clientDefinitions.js +1 -1
  104. package/dist/react-native/clientDefinitions.js.map +1 -1
  105. package/dist/react-native/credentials/batchSharedKeyCredentials-react-native.mjs.map +1 -1
  106. package/dist/react-native/credentials/batchSharedKeyCredentials.js +1 -1
  107. package/dist/react-native/index.d.ts +0 -1
  108. package/dist/react-native/index.js +1 -2
  109. package/dist/react-native/index.js.map +1 -1
  110. package/dist/react-native/isUnexpected.d.ts +9 -1
  111. package/dist/react-native/isUnexpected.js +15 -6
  112. package/dist/react-native/isUnexpected.js.map +1 -1
  113. package/dist/react-native/logger.js +1 -1
  114. package/dist/react-native/logger.js.map +1 -1
  115. package/dist/react-native/models.d.ts +485 -156
  116. package/dist/react-native/models.js +1 -1
  117. package/dist/react-native/models.js.map +1 -1
  118. package/dist/react-native/outputModels.d.ts +532 -155
  119. package/dist/react-native/outputModels.js +1 -1
  120. package/dist/react-native/outputModels.js.map +1 -1
  121. package/dist/react-native/paginateHelper.d.ts +28 -3
  122. package/dist/react-native/paginateHelper.js +70 -3
  123. package/dist/react-native/paginateHelper.js.map +1 -1
  124. package/dist/react-native/parameters.d.ts +546 -58
  125. package/dist/react-native/parameters.js +1 -1
  126. package/dist/react-native/parameters.js.map +1 -1
  127. package/dist/react-native/responses.d.ts +178 -4
  128. package/dist/react-native/responses.js +1 -1
  129. package/dist/react-native/responses.js.map +1 -1
  130. package/package.json +33 -51
  131. package/dist/browser/batchClient.d.ts.map +0 -1
  132. package/dist/browser/clientDefinitions.d.ts.map +0 -1
  133. package/dist/browser/credentials/batchSharedKeyCredentials-browser.d.mts.map +0 -1
  134. package/dist/browser/index.d.ts.map +0 -1
  135. package/dist/browser/isUnexpected.d.ts.map +0 -1
  136. package/dist/browser/logger.d.ts.map +0 -1
  137. package/dist/browser/models.d.ts.map +0 -1
  138. package/dist/browser/outputModels.d.ts.map +0 -1
  139. package/dist/browser/paginateHelper.d.ts.map +0 -1
  140. package/dist/browser/parameters.d.ts.map +0 -1
  141. package/dist/browser/replacePoolPropertiesPolicy.d.ts +0 -11
  142. package/dist/browser/replacePoolPropertiesPolicy.d.ts.map +0 -1
  143. package/dist/browser/replacePoolPropertiesPolicy.js +0 -33
  144. package/dist/browser/replacePoolPropertiesPolicy.js.map +0 -1
  145. package/dist/browser/responses.d.ts.map +0 -1
  146. package/dist/commonjs/batchClient.d.ts.map +0 -1
  147. package/dist/commonjs/clientDefinitions.d.ts.map +0 -1
  148. package/dist/commonjs/credentials/batchSharedKeyCredentials.d.ts.map +0 -1
  149. package/dist/commonjs/index.d.ts.map +0 -1
  150. package/dist/commonjs/isUnexpected.d.ts.map +0 -1
  151. package/dist/commonjs/logger.d.ts.map +0 -1
  152. package/dist/commonjs/models.d.ts.map +0 -1
  153. package/dist/commonjs/outputModels.d.ts.map +0 -1
  154. package/dist/commonjs/paginateHelper.d.ts.map +0 -1
  155. package/dist/commonjs/parameters.d.ts.map +0 -1
  156. package/dist/commonjs/replacePoolPropertiesPolicy.d.ts +0 -11
  157. package/dist/commonjs/replacePoolPropertiesPolicy.d.ts.map +0 -1
  158. package/dist/commonjs/replacePoolPropertiesPolicy.js +0 -36
  159. package/dist/commonjs/replacePoolPropertiesPolicy.js.map +0 -1
  160. package/dist/commonjs/responses.d.ts.map +0 -1
  161. package/dist/esm/batchClient.d.ts.map +0 -1
  162. package/dist/esm/clientDefinitions.d.ts.map +0 -1
  163. package/dist/esm/credentials/batchSharedKeyCredentials.d.ts.map +0 -1
  164. package/dist/esm/index.d.ts.map +0 -1
  165. package/dist/esm/isUnexpected.d.ts.map +0 -1
  166. package/dist/esm/logger.d.ts.map +0 -1
  167. package/dist/esm/models.d.ts.map +0 -1
  168. package/dist/esm/outputModels.d.ts.map +0 -1
  169. package/dist/esm/paginateHelper.d.ts.map +0 -1
  170. package/dist/esm/parameters.d.ts.map +0 -1
  171. package/dist/esm/replacePoolPropertiesPolicy.d.ts +0 -11
  172. package/dist/esm/replacePoolPropertiesPolicy.d.ts.map +0 -1
  173. package/dist/esm/replacePoolPropertiesPolicy.js +0 -33
  174. package/dist/esm/replacePoolPropertiesPolicy.js.map +0 -1
  175. package/dist/esm/responses.d.ts.map +0 -1
  176. package/dist/react-native/batchClient.d.ts.map +0 -1
  177. package/dist/react-native/clientDefinitions.d.ts.map +0 -1
  178. package/dist/react-native/credentials/batchSharedKeyCredentials-react-native.d.mts.map +0 -1
  179. package/dist/react-native/index.d.ts.map +0 -1
  180. package/dist/react-native/isUnexpected.d.ts.map +0 -1
  181. package/dist/react-native/logger.d.ts.map +0 -1
  182. package/dist/react-native/models.d.ts.map +0 -1
  183. package/dist/react-native/outputModels.d.ts.map +0 -1
  184. package/dist/react-native/paginateHelper.d.ts.map +0 -1
  185. package/dist/react-native/parameters.d.ts.map +0 -1
  186. package/dist/react-native/replacePoolPropertiesPolicy.d.ts +0 -11
  187. package/dist/react-native/replacePoolPropertiesPolicy.d.ts.map +0 -1
  188. package/dist/react-native/replacePoolPropertiesPolicy.js +0 -33
  189. package/dist/react-native/replacePoolPropertiesPolicy.js.map +0 -1
  190. package/dist/react-native/responses.d.ts.map +0 -1
@@ -1,41 +1,36 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
3
- import { __rest } from "tslib";
2
+ // Licensed under the MIT License.
4
3
  import { getClient } from "@azure-rest/core-client";
5
4
  import { logger } from "./logger.js";
6
5
  import { isTokenCredential } from "@azure/core-auth";
7
6
  import { createBatchSharedKeyCredentialsPolicy } from "./credentials/batchSharedKeyCredentials.js";
8
- import { createReplacePoolPropertiesPolicy } from "./replacePoolPropertiesPolicy.js";
9
7
  /**
10
8
  * Initialize a new instance of `BatchClient`
11
9
  * @param endpointParam - Batch account endpoint (for example: https://batchaccount.eastus2.batch.azure.com).
12
10
  * @param credentials - uniquely identify client credential
13
11
  * @param options - the parameter for all optional parameters
14
12
  */
15
- export default function createClient(endpointParam, credentials, _a = {}) {
16
- var _b, _c, _d, _e, _f, _g, _h, _j, _k;
17
- var { apiVersion = "2024-02-01.19.0" } = _a, options = __rest(_a, ["apiVersion"]);
18
- const endpointUrl = (_c = (_b = options.endpoint) !== null && _b !== void 0 ? _b : options.baseUrl) !== null && _c !== void 0 ? _c : `${endpointParam}`;
19
- const userAgentInfo = `azsdk-js-batch-rest/1.0.0-beta.1`;
13
+ export default function createClient(endpointParam, credentials, { apiVersion = "2024-07-01.20.0", ...options } = {}) {
14
+ const endpointUrl = options.endpoint ?? `${endpointParam}`;
15
+ const userAgentInfo = `azsdk-js-batch-rest/1.0.0-beta.3`;
20
16
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
21
17
  ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
22
18
  : `${userAgentInfo}`;
23
- options = Object.assign(Object.assign({}, options), { userAgentOptions: {
19
+ options = {
20
+ ...options,
21
+ userAgentOptions: {
24
22
  userAgentPrefix,
25
- }, loggingOptions: {
26
- logger: (_e = (_d = options.loggingOptions) === null || _d === void 0 ? void 0 : _d.logger) !== null && _e !== void 0 ? _e : logger.info,
27
- }, telemetryOptions: {
28
- clientRequestIdHeaderName: (_g = (_f = options.telemetryOptions) === null || _f === void 0 ? void 0 : _f.clientRequestIdHeaderName) !== null && _g !== void 0 ? _g : "client-request-id",
29
- }, credentials: {
30
- scopes: (_j = (_h = options.credentials) === null || _h === void 0 ? void 0 : _h.scopes) !== null && _j !== void 0 ? _j : ["https://batch.core.windows.net//.default"],
31
- }, additionalPolicies: [
32
- ...((_k = options === null || options === void 0 ? void 0 : options.additionalPolicies) !== null && _k !== void 0 ? _k : []),
33
- // TODO: remove after service remove certificate feature completely
34
- {
35
- policy: createReplacePoolPropertiesPolicy(),
36
- position: "perCall",
37
- },
38
- ] });
23
+ },
24
+ loggingOptions: {
25
+ logger: options.loggingOptions?.logger ?? logger.info,
26
+ },
27
+ telemetryOptions: {
28
+ clientRequestIdHeaderName: options.telemetryOptions?.clientRequestIdHeaderName ?? "client-request-id",
29
+ },
30
+ credentials: {
31
+ scopes: options.credentials?.scopes ?? ["https://batch.core.windows.net//.default"],
32
+ },
33
+ };
39
34
  const addClientApiVersionPolicy = (client) => {
40
35
  client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
41
36
  client.pipeline.addPolicy({
@@ -60,7 +55,8 @@ export default function createClient(endpointParam, credentials, _a = {}) {
60
55
  // If the credentials are not a TokenCredential, we need to add a policy to handle the shared key auth.
61
56
  const client = getClient(endpointUrl, options);
62
57
  const authPolicy = createBatchSharedKeyCredentialsPolicy(credentials);
58
+ addClientApiVersionPolicy(client);
63
59
  client.pipeline.addPolicy(authPolicy);
64
- return addClientApiVersionPolicy(client);
60
+ return client;
65
61
  }
66
62
  //# sourceMappingURL=batchClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"batchClient.js","sourceRoot":"","sources":["../../src/batchClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { getClient, ClientOptions } from \"@azure-rest/core-client\";\nimport { logger } from \"./logger.js\";\nimport { TokenCredential, AzureNamedKeyCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { BatchClient } from \"./clientDefinitions.js\";\nimport { createBatchSharedKeyCredentialsPolicy } from \"./credentials/batchSharedKeyCredentials.js\";\nimport { createReplacePoolPropertiesPolicy } from \"./replacePoolPropertiesPolicy.js\";\n\n/** The optional parameters for the client */\nexport interface BatchClientOptions extends ClientOptions {\n /** The api version option of the client */\n apiVersion?: string;\n}\n\n/**\n * Initialize a new instance of `BatchClient`\n * @param endpointParam - Batch account endpoint (for example: https://batchaccount.eastus2.batch.azure.com).\n * @param credentials - uniquely identify client credential\n * @param options - the parameter for all optional parameters\n */\nexport default function createClient(\n endpointParam: string,\n credentials: TokenCredential | AzureNamedKeyCredential,\n { apiVersion = \"2024-02-01.19.0\", ...options }: BatchClientOptions = {},\n): BatchClient {\n const endpointUrl = options.endpoint ?? options.baseUrl ?? `${endpointParam}`;\n const userAgentInfo = `azsdk-js-batch-rest/1.0.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`\n : `${userAgentInfo}`;\n options = {\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n loggingOptions: {\n logger: options.loggingOptions?.logger ?? logger.info,\n },\n telemetryOptions: {\n clientRequestIdHeaderName:\n options.telemetryOptions?.clientRequestIdHeaderName ?? \"client-request-id\",\n },\n credentials: {\n scopes: options.credentials?.scopes ?? [\"https://batch.core.windows.net//.default\"],\n },\n additionalPolicies: [\n ...(options?.additionalPolicies ?? []),\n // TODO: remove after service remove certificate feature completely\n {\n policy: createReplacePoolPropertiesPolicy(),\n position: \"perCall\",\n },\n ],\n };\n\n const addClientApiVersionPolicy = (client: BatchClient): BatchClient => {\n client.pipeline.removePolicy({ name: \"ApiVersionPolicy\" });\n client.pipeline.addPolicy({\n name: \"ClientApiVersionPolicy\",\n sendRequest: (req, next) => {\n // Use the apiVersion defined in request url directly\n // Append one if there is no apiVersion and we have one at client options\n const url = new URL(req.url);\n if (!url.searchParams.get(\"api-version\") && apiVersion) {\n req.url = `${req.url}${\n Array.from(url.searchParams.keys()).length > 0 ? \"&\" : \"?\"\n }api-version=${apiVersion}`;\n }\n\n return next(req);\n },\n });\n return client;\n };\n\n // Customization for BatchClient, shouldn't be overwritten by codegen\n if (isTokenCredential(credentials)) {\n const client = getClient(endpointUrl, credentials, options) as BatchClient;\n return addClientApiVersionPolicy(client);\n }\n // If the credentials are not a TokenCredential, we need to add a policy to handle the shared key auth.\n const client = getClient(endpointUrl, options) as BatchClient;\n const authPolicy = createBatchSharedKeyCredentialsPolicy(credentials);\n client.pipeline.addPolicy(authPolicy);\n return addClientApiVersionPolicy(client);\n}\n"]}
1
+ {"version":3,"file":"batchClient.js","sourceRoot":"","sources":["../../src/batchClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AAQnG;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,aAAqB,EACrB,WAAsD,EACtD,EAAE,UAAU,GAAG,iBAAiB,EAAE,GAAG,OAAO,KAAyB,EAAE;IAEvE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,aAAa,EAAE,CAAC;IAC3D,MAAM,aAAa,GAAG,kCAAkC,CAAC;IACzD,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;QAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,aAAa,EAAE;QAChE,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC;IACzB,OAAO,GAAG;QACR,GAAG,OAAO;QACV,gBAAgB,EAAE;YAChB,eAAe;SAChB;QACD,cAAc,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI;SACtD;QACD,gBAAgB,EAAE;YAChB,yBAAyB,EACvB,OAAO,CAAC,gBAAgB,EAAE,yBAAyB,IAAI,mBAAmB;SAC7E;QACD,WAAW,EAAE;YACX,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,0CAA0C,CAAC;SACpF;KACF,CAAC;IAEF,MAAM,yBAAyB,GAAG,CAAC,MAAmB,EAAe,EAAE;QACrE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACzB,qDAAqD;gBACrD,yEAAyE;gBACzE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU,EAAE,CAAC;oBACvD,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GACzD,eAAe,UAAU,EAAE,CAAC;gBAC9B,CAAC;gBAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,qEAAqE;IACrE,IAAI,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAgB,CAAC;QAC3E,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,uGAAuG;IACvG,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,OAAO,CAAgB,CAAC;IAC9D,MAAM,UAAU,GAAG,qCAAqC,CAAC,WAAW,CAAC,CAAC;IACtE,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACtC,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ClientOptions } from \"@azure-rest/core-client\";\nimport { getClient } from \"@azure-rest/core-client\";\nimport { logger } from \"./logger.js\";\nimport type { TokenCredential, AzureNamedKeyCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport type { BatchClient } from \"./clientDefinitions.js\";\nimport { createBatchSharedKeyCredentialsPolicy } from \"./credentials/batchSharedKeyCredentials.js\";\n\n/** The optional parameters for the client */\nexport interface BatchClientOptions extends ClientOptions {\n /** The api version option of the client */\n apiVersion?: string;\n}\n\n/**\n * Initialize a new instance of `BatchClient`\n * @param endpointParam - Batch account endpoint (for example: https://batchaccount.eastus2.batch.azure.com).\n * @param credentials - uniquely identify client credential\n * @param options - the parameter for all optional parameters\n */\nexport default function createClient(\n endpointParam: string,\n credentials: TokenCredential | AzureNamedKeyCredential,\n { apiVersion = \"2024-07-01.20.0\", ...options }: BatchClientOptions = {},\n): BatchClient {\n const endpointUrl = options.endpoint ?? `${endpointParam}`;\n const userAgentInfo = `azsdk-js-batch-rest/1.0.0-beta.3`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`\n : `${userAgentInfo}`;\n options = {\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n loggingOptions: {\n logger: options.loggingOptions?.logger ?? logger.info,\n },\n telemetryOptions: {\n clientRequestIdHeaderName:\n options.telemetryOptions?.clientRequestIdHeaderName ?? \"client-request-id\",\n },\n credentials: {\n scopes: options.credentials?.scopes ?? [\"https://batch.core.windows.net//.default\"],\n },\n };\n\n const addClientApiVersionPolicy = (client: BatchClient): BatchClient => {\n client.pipeline.removePolicy({ name: \"ApiVersionPolicy\" });\n client.pipeline.addPolicy({\n name: \"ClientApiVersionPolicy\",\n sendRequest: (req, next) => {\n // Use the apiVersion defined in request url directly\n // Append one if there is no apiVersion and we have one at client options\n const url = new URL(req.url);\n if (!url.searchParams.get(\"api-version\") && apiVersion) {\n req.url = `${req.url}${\n Array.from(url.searchParams.keys()).length > 0 ? \"&\" : \"?\"\n }api-version=${apiVersion}`;\n }\n\n return next(req);\n },\n });\n return client;\n };\n\n // Customization for BatchClient, shouldn't be overwritten by codegen\n if (isTokenCredential(credentials)) {\n const client = getClient(endpointUrl, credentials, options) as BatchClient;\n return addClientApiVersionPolicy(client);\n }\n // If the credentials are not a TokenCredential, we need to add a policy to handle the shared key auth.\n const client = getClient(endpointUrl, options) as BatchClient;\n const authPolicy = createBatchSharedKeyCredentialsPolicy(credentials);\n addClientApiVersionPolicy(client);\n client.pipeline.addPolicy(authPolicy);\n return client;\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { ListApplicationsParameters, GetApplicationParameters, ListPoolUsageMetricsParameters, CreatePoolParameters, ListPoolsParameters, DeletePoolParameters, PoolExistsParameters, GetPoolParameters, UpdatePoolParameters, DisablePoolAutoScaleParameters, EnablePoolAutoScaleParameters, EvaluatePoolAutoScaleParameters, ResizePoolParameters, StopPoolResizeParameters, ReplacePoolPropertiesParameters, RemoveNodesParameters, ListSupportedImagesParameters, ListPoolNodeCountsParameters, DeleteJobParameters, GetJobParameters, UpdateJobParameters, ReplaceJobParameters, DisableJobParameters, EnableJobParameters, TerminateJobParameters, CreateJobParameters, ListJobsParameters, ListJobsFromScheduleParameters, ListJobPreparationAndReleaseTaskStatusParameters, GetJobTaskCountsParameters, JobScheduleExistsParameters, DeleteJobScheduleParameters, GetJobScheduleParameters, UpdateJobScheduleParameters, ReplaceJobScheduleParameters, DisableJobScheduleParameters, EnableJobScheduleParameters, TerminateJobScheduleParameters, CreateJobScheduleParameters, ListJobSchedulesParameters, CreateTaskParameters, ListTasksParameters, CreateTaskCollectionParameters, DeleteTaskParameters, GetTaskParameters, ReplaceTaskParameters, ListSubTasksParameters, TerminateTaskParameters, ReactivateTaskParameters, DeleteTaskFileParameters, GetTaskFileParameters, GetTaskFilePropertiesParameters, ListTaskFilesParameters, CreateNodeUserParameters, DeleteNodeUserParameters, ReplaceNodeUserParameters, GetNodeParameters, RebootNodeParameters, DisableNodeSchedulingParameters, EnableNodeSchedulingParameters, GetNodeRemoteLoginSettingsParameters, UploadNodeLogsParameters, ListNodesParameters, GetNodeExtensionParameters, ListNodeExtensionsParameters, DeleteNodeFileParameters, GetNodeFileParameters, GetNodeFilePropertiesParameters, ListNodeFilesParameters } from "./parameters.js";
2
- import { ListApplications200Response, ListApplicationsDefaultResponse, GetApplication200Response, GetApplicationDefaultResponse, ListPoolUsageMetrics200Response, ListPoolUsageMetricsDefaultResponse, CreatePool201Response, CreatePoolDefaultResponse, ListPools200Response, ListPoolsDefaultResponse, DeletePool202Response, DeletePoolDefaultResponse, PoolExists200Response, PoolExists404Response, PoolExistsDefaultResponse, GetPool200Response, GetPoolDefaultResponse, UpdatePool200Response, UpdatePoolDefaultResponse, DisablePoolAutoScale200Response, DisablePoolAutoScaleDefaultResponse, EnablePoolAutoScale200Response, EnablePoolAutoScaleDefaultResponse, EvaluatePoolAutoScale200Response, EvaluatePoolAutoScaleDefaultResponse, ResizePool202Response, ResizePoolDefaultResponse, StopPoolResize202Response, StopPoolResizeDefaultResponse, ReplacePoolProperties204Response, ReplacePoolPropertiesDefaultResponse, RemoveNodes202Response, RemoveNodesDefaultResponse, ListSupportedImages200Response, ListSupportedImagesDefaultResponse, ListPoolNodeCounts200Response, ListPoolNodeCountsDefaultResponse, DeleteJob202Response, DeleteJobDefaultResponse, GetJob200Response, GetJobDefaultResponse, UpdateJob200Response, UpdateJobDefaultResponse, ReplaceJob200Response, ReplaceJobDefaultResponse, DisableJob202Response, DisableJobDefaultResponse, EnableJob202Response, EnableJobDefaultResponse, TerminateJob202Response, TerminateJobDefaultResponse, CreateJob201Response, CreateJobDefaultResponse, ListJobs200Response, ListJobsDefaultResponse, ListJobsFromSchedule200Response, ListJobsFromScheduleDefaultResponse, ListJobPreparationAndReleaseTaskStatus200Response, ListJobPreparationAndReleaseTaskStatusDefaultResponse, GetJobTaskCounts200Response, GetJobTaskCountsDefaultResponse, JobScheduleExists200Response, JobScheduleExists404Response, JobScheduleExistsDefaultResponse, DeleteJobSchedule202Response, DeleteJobScheduleDefaultResponse, GetJobSchedule200Response, GetJobScheduleDefaultResponse, UpdateJobSchedule200Response, UpdateJobScheduleDefaultResponse, ReplaceJobSchedule200Response, ReplaceJobScheduleDefaultResponse, DisableJobSchedule204Response, DisableJobScheduleDefaultResponse, EnableJobSchedule204Response, EnableJobScheduleDefaultResponse, TerminateJobSchedule202Response, TerminateJobScheduleDefaultResponse, CreateJobSchedule201Response, CreateJobScheduleDefaultResponse, ListJobSchedules200Response, ListJobSchedulesDefaultResponse, CreateTask201Response, CreateTaskDefaultResponse, ListTasks200Response, ListTasksDefaultResponse, CreateTaskCollection200Response, CreateTaskCollectionDefaultResponse, DeleteTask200Response, DeleteTaskDefaultResponse, GetTask200Response, GetTaskDefaultResponse, ReplaceTask200Response, ReplaceTaskDefaultResponse, ListSubTasks200Response, ListSubTasksDefaultResponse, TerminateTask204Response, TerminateTaskDefaultResponse, ReactivateTask204Response, ReactivateTaskDefaultResponse, DeleteTaskFile200Response, DeleteTaskFileDefaultResponse, GetTaskFile200Response, GetTaskFileDefaultResponse, GetTaskFileProperties200Response, GetTaskFilePropertiesDefaultResponse, ListTaskFiles200Response, ListTaskFilesDefaultResponse, CreateNodeUser201Response, CreateNodeUserDefaultResponse, DeleteNodeUser200Response, DeleteNodeUserDefaultResponse, ReplaceNodeUser200Response, ReplaceNodeUserDefaultResponse, GetNode200Response, GetNodeDefaultResponse, RebootNode202Response, RebootNodeDefaultResponse, DisableNodeScheduling200Response, DisableNodeSchedulingDefaultResponse, EnableNodeScheduling200Response, EnableNodeSchedulingDefaultResponse, GetNodeRemoteLoginSettings200Response, GetNodeRemoteLoginSettingsDefaultResponse, UploadNodeLogs200Response, UploadNodeLogsDefaultResponse, ListNodes200Response, ListNodesDefaultResponse, GetNodeExtension200Response, GetNodeExtensionDefaultResponse, ListNodeExtensions200Response, ListNodeExtensionsDefaultResponse, DeleteNodeFile200Response, DeleteNodeFileDefaultResponse, GetNodeFile200Response, GetNodeFileDefaultResponse, GetNodeFileProperties200Response, GetNodeFilePropertiesDefaultResponse, ListNodeFiles200Response, ListNodeFilesDefaultResponse } from "./responses.js";
3
- import { Client, StreamableMethod } from "@azure-rest/core-client";
1
+ import type { ListApplicationsParameters, GetApplicationParameters, ListPoolUsageMetricsParameters, CreatePoolParameters, ListPoolsParameters, DeletePoolParameters, PoolExistsParameters, GetPoolParameters, UpdatePoolParameters, DisablePoolAutoScaleParameters, EnablePoolAutoScaleParameters, EvaluatePoolAutoScaleParameters, ResizePoolParameters, StopPoolResizeParameters, ReplacePoolPropertiesParameters, RemoveNodesParameters, ListSupportedImagesParameters, ListPoolNodeCountsParameters, DeleteJobParameters, GetJobParameters, UpdateJobParameters, ReplaceJobParameters, DisableJobParameters, EnableJobParameters, TerminateJobParameters, CreateJobParameters, ListJobsParameters, ListJobsFromScheduleParameters, ListJobPreparationAndReleaseTaskStatusParameters, GetJobTaskCountsParameters, CreateCertificateParameters, ListCertificatesParameters, CancelCertificateDeletionParameters, DeleteCertificateParameters, GetCertificateParameters, JobScheduleExistsParameters, DeleteJobScheduleParameters, GetJobScheduleParameters, UpdateJobScheduleParameters, ReplaceJobScheduleParameters, DisableJobScheduleParameters, EnableJobScheduleParameters, TerminateJobScheduleParameters, CreateJobScheduleParameters, ListJobSchedulesParameters, CreateTaskParameters, ListTasksParameters, CreateTaskCollectionParameters, DeleteTaskParameters, GetTaskParameters, ReplaceTaskParameters, ListSubTasksParameters, TerminateTaskParameters, ReactivateTaskParameters, DeleteTaskFileParameters, GetTaskFileParameters, GetTaskFilePropertiesParameters, ListTaskFilesParameters, CreateNodeUserParameters, DeleteNodeUserParameters, ReplaceNodeUserParameters, GetNodeParameters, RebootNodeParameters, StartNodeParameters, DeallocateNodeParameters, ReimageNodeParameters, DisableNodeSchedulingParameters, EnableNodeSchedulingParameters, GetNodeRemoteLoginSettingsParameters, UploadNodeLogsParameters, ListNodesParameters, GetNodeExtensionParameters, ListNodeExtensionsParameters, DeleteNodeFileParameters, GetNodeFileParameters, GetNodeFilePropertiesParameters, ListNodeFilesParameters } from "./parameters.js";
2
+ import type { ListApplications200Response, ListApplicationsDefaultResponse, GetApplication200Response, GetApplicationDefaultResponse, ListPoolUsageMetrics200Response, ListPoolUsageMetricsDefaultResponse, CreatePool201Response, CreatePoolDefaultResponse, ListPools200Response, ListPoolsDefaultResponse, DeletePool202Response, DeletePoolDefaultResponse, PoolExists200Response, PoolExists404Response, PoolExistsDefaultResponse, GetPool200Response, GetPoolDefaultResponse, UpdatePool200Response, UpdatePoolDefaultResponse, DisablePoolAutoScale200Response, DisablePoolAutoScaleDefaultResponse, EnablePoolAutoScale200Response, EnablePoolAutoScaleDefaultResponse, EvaluatePoolAutoScale200Response, EvaluatePoolAutoScaleDefaultResponse, ResizePool202Response, ResizePoolDefaultResponse, StopPoolResize202Response, StopPoolResizeDefaultResponse, ReplacePoolProperties204Response, ReplacePoolPropertiesDefaultResponse, RemoveNodes202Response, RemoveNodesDefaultResponse, ListSupportedImages200Response, ListSupportedImagesDefaultResponse, ListPoolNodeCounts200Response, ListPoolNodeCountsDefaultResponse, DeleteJob202Response, DeleteJobDefaultResponse, GetJob200Response, GetJobDefaultResponse, UpdateJob200Response, UpdateJobDefaultResponse, ReplaceJob200Response, ReplaceJobDefaultResponse, DisableJob202Response, DisableJobDefaultResponse, EnableJob202Response, EnableJobDefaultResponse, TerminateJob202Response, TerminateJobDefaultResponse, CreateJob201Response, CreateJobDefaultResponse, ListJobs200Response, ListJobsDefaultResponse, ListJobsFromSchedule200Response, ListJobsFromScheduleDefaultResponse, ListJobPreparationAndReleaseTaskStatus200Response, ListJobPreparationAndReleaseTaskStatusDefaultResponse, GetJobTaskCounts200Response, GetJobTaskCountsDefaultResponse, CreateCertificate201Response, CreateCertificateDefaultResponse, ListCertificates200Response, ListCertificatesDefaultResponse, CancelCertificateDeletion204Response, CancelCertificateDeletionDefaultResponse, DeleteCertificate202Response, DeleteCertificateDefaultResponse, GetCertificate200Response, GetCertificateDefaultResponse, JobScheduleExists200Response, JobScheduleExists404Response, JobScheduleExistsDefaultResponse, DeleteJobSchedule202Response, DeleteJobScheduleDefaultResponse, GetJobSchedule200Response, GetJobScheduleDefaultResponse, UpdateJobSchedule200Response, UpdateJobScheduleDefaultResponse, ReplaceJobSchedule200Response, ReplaceJobScheduleDefaultResponse, DisableJobSchedule204Response, DisableJobScheduleDefaultResponse, EnableJobSchedule204Response, EnableJobScheduleDefaultResponse, TerminateJobSchedule202Response, TerminateJobScheduleDefaultResponse, CreateJobSchedule201Response, CreateJobScheduleDefaultResponse, ListJobSchedules200Response, ListJobSchedulesDefaultResponse, CreateTask201Response, CreateTaskDefaultResponse, ListTasks200Response, ListTasksDefaultResponse, CreateTaskCollection200Response, CreateTaskCollectionDefaultResponse, DeleteTask200Response, DeleteTaskDefaultResponse, GetTask200Response, GetTaskDefaultResponse, ReplaceTask200Response, ReplaceTaskDefaultResponse, ListSubTasks200Response, ListSubTasksDefaultResponse, TerminateTask204Response, TerminateTaskDefaultResponse, ReactivateTask204Response, ReactivateTaskDefaultResponse, DeleteTaskFile200Response, DeleteTaskFileDefaultResponse, GetTaskFile200Response, GetTaskFileDefaultResponse, GetTaskFileProperties200Response, GetTaskFilePropertiesDefaultResponse, ListTaskFiles200Response, ListTaskFilesDefaultResponse, CreateNodeUser201Response, CreateNodeUserDefaultResponse, DeleteNodeUser200Response, DeleteNodeUserDefaultResponse, ReplaceNodeUser200Response, ReplaceNodeUserDefaultResponse, GetNode200Response, GetNodeDefaultResponse, RebootNode202Response, RebootNodeDefaultResponse, StartNode202Response, StartNodeDefaultResponse, DeallocateNode202Response, DeallocateNodeDefaultResponse, ReimageNode202Response, ReimageNodeDefaultResponse, DisableNodeScheduling200Response, DisableNodeSchedulingDefaultResponse, EnableNodeScheduling200Response, EnableNodeSchedulingDefaultResponse, GetNodeRemoteLoginSettings200Response, GetNodeRemoteLoginSettingsDefaultResponse, UploadNodeLogs200Response, UploadNodeLogsDefaultResponse, ListNodes200Response, ListNodesDefaultResponse, GetNodeExtension200Response, GetNodeExtensionDefaultResponse, ListNodeExtensions200Response, ListNodeExtensionsDefaultResponse, DeleteNodeFile200Response, DeleteNodeFileDefaultResponse, GetNodeFile200Response, GetNodeFileDefaultResponse, GetNodeFileProperties200Response, GetNodeFilePropertiesDefaultResponse, ListNodeFiles200Response, ListNodeFilesDefaultResponse } from "./responses.js";
3
+ import type { Client, StreamableMethod } from "@azure-rest/core-client";
4
4
  export interface ListApplications {
5
5
  /**
6
6
  * This operation returns only Applications and versions that are available for
@@ -39,7 +39,7 @@ export interface CreatePool {
39
39
  * to Microsoft Support engineers.
40
40
  */
41
41
  post(options: CreatePoolParameters): StreamableMethod<CreatePool201Response | CreatePoolDefaultResponse>;
42
- /** Lists all of the Pools in the specified Account. */
42
+ /** Lists all of the Pools which be mounted. */
43
43
  get(options?: ListPoolsParameters): StreamableMethod<ListPools200Response | ListPoolsDefaultResponse>;
44
44
  }
45
45
  export interface DeletePool {
@@ -246,6 +246,40 @@ export interface GetJobTaskCounts {
246
246
  */
247
247
  get(options?: GetJobTaskCountsParameters): StreamableMethod<GetJobTaskCounts200Response | GetJobTaskCountsDefaultResponse>;
248
248
  }
249
+ export interface CreateCertificate {
250
+ /** Creates a Certificate to the specified Account. */
251
+ post(options: CreateCertificateParameters): StreamableMethod<CreateCertificate201Response | CreateCertificateDefaultResponse>;
252
+ /** Lists all of the Certificates that have been added to the specified Account. */
253
+ get(options?: ListCertificatesParameters): StreamableMethod<ListCertificates200Response | ListCertificatesDefaultResponse>;
254
+ }
255
+ export interface CancelCertificateDeletion {
256
+ /**
257
+ * If you try to delete a Certificate that is being used by a Pool or Compute
258
+ * Node, the status of the Certificate changes to deleteFailed. If you decide that
259
+ * you want to continue using the Certificate, you can use this operation to set
260
+ * the status of the Certificate back to active. If you intend to delete the
261
+ * Certificate, you do not need to run this operation after the deletion failed.
262
+ * You must make sure that the Certificate is not being used by any resources, and
263
+ * then you can try again to delete the Certificate.
264
+ */
265
+ post(options?: CancelCertificateDeletionParameters): StreamableMethod<CancelCertificateDeletion204Response | CancelCertificateDeletionDefaultResponse>;
266
+ }
267
+ export interface DeleteCertificate {
268
+ /**
269
+ * You cannot delete a Certificate if a resource (Pool or Compute Node) is using
270
+ * it. Before you can delete a Certificate, you must therefore make sure that the
271
+ * Certificate is not associated with any existing Pools, the Certificate is not
272
+ * installed on any Nodes (even if you remove a Certificate from a Pool, it is not
273
+ * removed from existing Compute Nodes in that Pool until they restart), and no
274
+ * running Tasks depend on the Certificate. If you try to delete a Certificate
275
+ * that is in use, the deletion fails. The Certificate status changes to
276
+ * deleteFailed. You can use Cancel Delete Certificate to set the status back to
277
+ * active if you decide that you want to continue using the Certificate.
278
+ */
279
+ delete(options?: DeleteCertificateParameters): StreamableMethod<DeleteCertificate202Response | DeleteCertificateDefaultResponse>;
280
+ /** Gets information about the specified Certificate. */
281
+ get(options?: GetCertificateParameters): StreamableMethod<GetCertificate200Response | GetCertificateDefaultResponse>;
282
+ }
249
283
  export interface JobScheduleExists {
250
284
  /** Checks the specified Job Schedule exists. */
251
285
  head(options?: JobScheduleExistsParameters): StreamableMethod<JobScheduleExists200Response | JobScheduleExists404Response | JobScheduleExistsDefaultResponse>;
@@ -410,6 +444,22 @@ export interface RebootNode {
410
444
  /** You can restart a Compute Node only if it is in an idle or running state. */
411
445
  post(options: RebootNodeParameters): StreamableMethod<RebootNode202Response | RebootNodeDefaultResponse>;
412
446
  }
447
+ export interface StartNode {
448
+ /** You can start a Compute Node only if it has been deallocated. */
449
+ post(options?: StartNodeParameters): StreamableMethod<StartNode202Response | StartNodeDefaultResponse>;
450
+ }
451
+ export interface DeallocateNode {
452
+ /** You can deallocate a Compute Node only if it is in an idle or running state. */
453
+ post(options: DeallocateNodeParameters): StreamableMethod<DeallocateNode202Response | DeallocateNodeDefaultResponse>;
454
+ }
455
+ export interface ReimageNode {
456
+ /**
457
+ * You can reinstall the operating system on a Compute Node only if it is in an
458
+ * idle or running state. This API can be invoked only on Pools created with the
459
+ * cloud service configuration property.
460
+ */
461
+ post(options: ReimageNodeParameters): StreamableMethod<ReimageNode202Response | ReimageNodeDefaultResponse>;
462
+ }
413
463
  export interface DisableNodeScheduling {
414
464
  /**
415
465
  * You can disable Task scheduling on a Compute Node only if its current
@@ -426,9 +476,8 @@ export interface EnableNodeScheduling {
426
476
  }
427
477
  export interface GetNodeRemoteLoginSettings {
428
478
  /**
429
- * Before you can remotely login to a Compute Node using the remote login
430
- * settings, you must create a user Account on the Compute Node. This API can be
431
- * invoked only on Pools created with the virtual machine configuration property.
479
+ * Before you can remotely login to a Compute Node using the remote login settings,
480
+ * you must create a user Account on the Compute Node.
432
481
  */
433
482
  get(options?: GetNodeRemoteLoginSettingsParameters): StreamableMethod<GetNodeRemoteLoginSettings200Response | GetNodeRemoteLoginSettingsDefaultResponse>;
434
483
  }
@@ -510,6 +559,12 @@ export interface Routes {
510
559
  (path: "/jobs/{jobId}/jobpreparationandreleasetaskstatus", jobId: string): ListJobPreparationAndReleaseTaskStatus;
511
560
  /** Resource for '/jobs/\{jobId\}/taskcounts' has methods for the following verbs: get */
512
561
  (path: "/jobs/{jobId}/taskcounts", jobId: string): GetJobTaskCounts;
562
+ /** Resource for '/certificates' has methods for the following verbs: post, get */
563
+ (path: "/certificates"): CreateCertificate;
564
+ /** Resource for '/certificates(thumbprintAlgorithm=\{thumbprintAlgorithm\},thumbprint=\{thumbprint\})/canceldelete' has methods for the following verbs: post */
565
+ (path: "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete", thumbprintAlgorithm: string, thumbprint: string): CancelCertificateDeletion;
566
+ /** Resource for '/certificates(thumbprintAlgorithm=\{thumbprintAlgorithm\},thumbprint=\{thumbprint\})' has methods for the following verbs: delete, get */
567
+ (path: "/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", thumbprintAlgorithm: string, thumbprint: string): DeleteCertificate;
513
568
  /** Resource for '/jobschedules/\{jobScheduleId\}' has methods for the following verbs: head, delete, get, patch, put */
514
569
  (path: "/jobschedules/{jobScheduleId}", jobScheduleId: string): JobScheduleExists;
515
570
  /** Resource for '/jobschedules/\{jobScheduleId\}/disable' has methods for the following verbs: post */
@@ -544,6 +599,12 @@ export interface Routes {
544
599
  (path: "/pools/{poolId}/nodes/{nodeId}", poolId: string, nodeId: string): GetNode;
545
600
  /** Resource for '/pools/\{poolId\}/nodes/\{nodeId\}/reboot' has methods for the following verbs: post */
546
601
  (path: "/pools/{poolId}/nodes/{nodeId}/reboot", poolId: string, nodeId: string): RebootNode;
602
+ /** Resource for '/pools/\{poolId\}/nodes/\{nodeId\}/start' has methods for the following verbs: post */
603
+ (path: "/pools/{poolId}/nodes/{nodeId}/start", poolId: string, nodeId: string): StartNode;
604
+ /** Resource for '/pools/\{poolId\}/nodes/\{nodeId\}/deallocate' has methods for the following verbs: post */
605
+ (path: "/pools/{poolId}/nodes/{nodeId}/deallocate", poolId: string, nodeId: string): DeallocateNode;
606
+ /** Resource for '/pools/\{poolId\}/nodes/\{nodeId\}/reimage' has methods for the following verbs: post */
607
+ (path: "/pools/{poolId}/nodes/{nodeId}/reimage", poolId: string, nodeId: string): ReimageNode;
547
608
  /** Resource for '/pools/\{poolId\}/nodes/\{nodeId\}/disablescheduling' has methods for the following verbs: post */
548
609
  (path: "/pools/{poolId}/nodes/{nodeId}/disablescheduling", poolId: string, nodeId: string): DisableNodeScheduling;
549
610
  /** Resource for '/pools/\{poolId\}/nodes/\{nodeId\}/enablescheduling' has methods for the following verbs: post */
@@ -1,4 +1,4 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  export {};
4
4
  //# sourceMappingURL=clientDefinitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientDefinitions.js","sourceRoot":"","sources":["../../src/clientDefinitions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n ListApplicationsParameters,\n GetApplicationParameters,\n ListPoolUsageMetricsParameters,\n CreatePoolParameters,\n ListPoolsParameters,\n DeletePoolParameters,\n PoolExistsParameters,\n GetPoolParameters,\n UpdatePoolParameters,\n DisablePoolAutoScaleParameters,\n EnablePoolAutoScaleParameters,\n EvaluatePoolAutoScaleParameters,\n ResizePoolParameters,\n StopPoolResizeParameters,\n ReplacePoolPropertiesParameters,\n RemoveNodesParameters,\n ListSupportedImagesParameters,\n ListPoolNodeCountsParameters,\n DeleteJobParameters,\n GetJobParameters,\n UpdateJobParameters,\n ReplaceJobParameters,\n DisableJobParameters,\n EnableJobParameters,\n TerminateJobParameters,\n CreateJobParameters,\n ListJobsParameters,\n ListJobsFromScheduleParameters,\n ListJobPreparationAndReleaseTaskStatusParameters,\n GetJobTaskCountsParameters,\n JobScheduleExistsParameters,\n DeleteJobScheduleParameters,\n GetJobScheduleParameters,\n UpdateJobScheduleParameters,\n ReplaceJobScheduleParameters,\n DisableJobScheduleParameters,\n EnableJobScheduleParameters,\n TerminateJobScheduleParameters,\n CreateJobScheduleParameters,\n ListJobSchedulesParameters,\n CreateTaskParameters,\n ListTasksParameters,\n CreateTaskCollectionParameters,\n DeleteTaskParameters,\n GetTaskParameters,\n ReplaceTaskParameters,\n ListSubTasksParameters,\n TerminateTaskParameters,\n ReactivateTaskParameters,\n DeleteTaskFileParameters,\n GetTaskFileParameters,\n GetTaskFilePropertiesParameters,\n ListTaskFilesParameters,\n CreateNodeUserParameters,\n DeleteNodeUserParameters,\n ReplaceNodeUserParameters,\n GetNodeParameters,\n RebootNodeParameters,\n DisableNodeSchedulingParameters,\n EnableNodeSchedulingParameters,\n GetNodeRemoteLoginSettingsParameters,\n UploadNodeLogsParameters,\n ListNodesParameters,\n GetNodeExtensionParameters,\n ListNodeExtensionsParameters,\n DeleteNodeFileParameters,\n GetNodeFileParameters,\n GetNodeFilePropertiesParameters,\n ListNodeFilesParameters,\n} from \"./parameters.js\";\nimport {\n ListApplications200Response,\n ListApplicationsDefaultResponse,\n GetApplication200Response,\n GetApplicationDefaultResponse,\n ListPoolUsageMetrics200Response,\n ListPoolUsageMetricsDefaultResponse,\n CreatePool201Response,\n CreatePoolDefaultResponse,\n ListPools200Response,\n ListPoolsDefaultResponse,\n DeletePool202Response,\n DeletePoolDefaultResponse,\n PoolExists200Response,\n PoolExists404Response,\n PoolExistsDefaultResponse,\n GetPool200Response,\n GetPoolDefaultResponse,\n UpdatePool200Response,\n UpdatePoolDefaultResponse,\n DisablePoolAutoScale200Response,\n DisablePoolAutoScaleDefaultResponse,\n EnablePoolAutoScale200Response,\n EnablePoolAutoScaleDefaultResponse,\n EvaluatePoolAutoScale200Response,\n EvaluatePoolAutoScaleDefaultResponse,\n ResizePool202Response,\n ResizePoolDefaultResponse,\n StopPoolResize202Response,\n StopPoolResizeDefaultResponse,\n ReplacePoolProperties204Response,\n ReplacePoolPropertiesDefaultResponse,\n RemoveNodes202Response,\n RemoveNodesDefaultResponse,\n ListSupportedImages200Response,\n ListSupportedImagesDefaultResponse,\n ListPoolNodeCounts200Response,\n ListPoolNodeCountsDefaultResponse,\n DeleteJob202Response,\n DeleteJobDefaultResponse,\n GetJob200Response,\n GetJobDefaultResponse,\n UpdateJob200Response,\n UpdateJobDefaultResponse,\n ReplaceJob200Response,\n ReplaceJobDefaultResponse,\n DisableJob202Response,\n DisableJobDefaultResponse,\n EnableJob202Response,\n EnableJobDefaultResponse,\n TerminateJob202Response,\n TerminateJobDefaultResponse,\n CreateJob201Response,\n CreateJobDefaultResponse,\n ListJobs200Response,\n ListJobsDefaultResponse,\n ListJobsFromSchedule200Response,\n ListJobsFromScheduleDefaultResponse,\n ListJobPreparationAndReleaseTaskStatus200Response,\n ListJobPreparationAndReleaseTaskStatusDefaultResponse,\n GetJobTaskCounts200Response,\n GetJobTaskCountsDefaultResponse,\n JobScheduleExists200Response,\n JobScheduleExists404Response,\n JobScheduleExistsDefaultResponse,\n DeleteJobSchedule202Response,\n DeleteJobScheduleDefaultResponse,\n GetJobSchedule200Response,\n GetJobScheduleDefaultResponse,\n UpdateJobSchedule200Response,\n UpdateJobScheduleDefaultResponse,\n ReplaceJobSchedule200Response,\n ReplaceJobScheduleDefaultResponse,\n DisableJobSchedule204Response,\n DisableJobScheduleDefaultResponse,\n EnableJobSchedule204Response,\n EnableJobScheduleDefaultResponse,\n TerminateJobSchedule202Response,\n TerminateJobScheduleDefaultResponse,\n CreateJobSchedule201Response,\n CreateJobScheduleDefaultResponse,\n ListJobSchedules200Response,\n ListJobSchedulesDefaultResponse,\n CreateTask201Response,\n CreateTaskDefaultResponse,\n ListTasks200Response,\n ListTasksDefaultResponse,\n CreateTaskCollection200Response,\n CreateTaskCollectionDefaultResponse,\n DeleteTask200Response,\n DeleteTaskDefaultResponse,\n GetTask200Response,\n GetTaskDefaultResponse,\n ReplaceTask200Response,\n ReplaceTaskDefaultResponse,\n ListSubTasks200Response,\n ListSubTasksDefaultResponse,\n TerminateTask204Response,\n TerminateTaskDefaultResponse,\n ReactivateTask204Response,\n ReactivateTaskDefaultResponse,\n DeleteTaskFile200Response,\n DeleteTaskFileDefaultResponse,\n GetTaskFile200Response,\n GetTaskFileDefaultResponse,\n GetTaskFileProperties200Response,\n GetTaskFilePropertiesDefaultResponse,\n ListTaskFiles200Response,\n ListTaskFilesDefaultResponse,\n CreateNodeUser201Response,\n CreateNodeUserDefaultResponse,\n DeleteNodeUser200Response,\n DeleteNodeUserDefaultResponse,\n ReplaceNodeUser200Response,\n ReplaceNodeUserDefaultResponse,\n GetNode200Response,\n GetNodeDefaultResponse,\n RebootNode202Response,\n RebootNodeDefaultResponse,\n DisableNodeScheduling200Response,\n DisableNodeSchedulingDefaultResponse,\n EnableNodeScheduling200Response,\n EnableNodeSchedulingDefaultResponse,\n GetNodeRemoteLoginSettings200Response,\n GetNodeRemoteLoginSettingsDefaultResponse,\n UploadNodeLogs200Response,\n UploadNodeLogsDefaultResponse,\n ListNodes200Response,\n ListNodesDefaultResponse,\n GetNodeExtension200Response,\n GetNodeExtensionDefaultResponse,\n ListNodeExtensions200Response,\n ListNodeExtensionsDefaultResponse,\n DeleteNodeFile200Response,\n DeleteNodeFileDefaultResponse,\n GetNodeFile200Response,\n GetNodeFileDefaultResponse,\n GetNodeFileProperties200Response,\n GetNodeFilePropertiesDefaultResponse,\n ListNodeFiles200Response,\n ListNodeFilesDefaultResponse,\n} from \"./responses.js\";\nimport { Client, StreamableMethod } from \"@azure-rest/core-client\";\n\nexport interface ListApplications {\n /**\n * This operation returns only Applications and versions that are available for\n * use on Compute Nodes; that is, that can be used in an Package reference. For\n * administrator information about applications and versions that are not yet\n * available to Compute Nodes, use the Azure portal or the Azure Resource Manager\n * API.\n */\n get(\n options?: ListApplicationsParameters,\n ): StreamableMethod<ListApplications200Response | ListApplicationsDefaultResponse>;\n}\n\nexport interface GetApplication {\n /**\n * This operation returns only Applications and versions that are available for\n * use on Compute Nodes; that is, that can be used in an Package reference. For\n * administrator information about Applications and versions that are not yet\n * available to Compute Nodes, use the Azure portal or the Azure Resource Manager\n * API.\n */\n get(\n options?: GetApplicationParameters,\n ): StreamableMethod<GetApplication200Response | GetApplicationDefaultResponse>;\n}\n\nexport interface ListPoolUsageMetrics {\n /**\n * If you do not specify a $filter clause including a poolId, the response\n * includes all Pools that existed in the Account in the time range of the\n * returned aggregation intervals. If you do not specify a $filter clause\n * including a startTime or endTime these filters default to the start and end\n * times of the last aggregation interval currently available; that is, only the\n * last aggregation interval is returned.\n */\n get(\n options?: ListPoolUsageMetricsParameters,\n ): StreamableMethod<ListPoolUsageMetrics200Response | ListPoolUsageMetricsDefaultResponse>;\n}\n\nexport interface CreatePool {\n /**\n * When naming Pools, avoid including sensitive information such as user names or\n * secret project names. This information may appear in telemetry logs accessible\n * to Microsoft Support engineers.\n */\n post(\n options: CreatePoolParameters,\n ): StreamableMethod<CreatePool201Response | CreatePoolDefaultResponse>;\n /** Lists all of the Pools in the specified Account. */\n get(\n options?: ListPoolsParameters,\n ): StreamableMethod<ListPools200Response | ListPoolsDefaultResponse>;\n}\n\nexport interface DeletePool {\n /**\n * When you request that a Pool be deleted, the following actions occur: the Pool\n * state is set to deleting; any ongoing resize operation on the Pool are stopped;\n * the Batch service starts resizing the Pool to zero Compute Nodes; any Tasks\n * running on existing Compute Nodes are terminated and requeued (as if a resize\n * Pool operation had been requested with the default requeue option); finally,\n * the Pool is removed from the system. Because running Tasks are requeued, the\n * user can rerun these Tasks by updating their Job to target a different Pool.\n * The Tasks can then run on the new Pool. If you want to override the requeue\n * behavior, then you should call resize Pool explicitly to shrink the Pool to\n * zero size before deleting the Pool. If you call an Update, Patch or Delete API\n * on a Pool in the deleting state, it will fail with HTTP status code 409 with\n * error code PoolBeingDeleted.\n */\n delete(\n options?: DeletePoolParameters,\n ): StreamableMethod<DeletePool202Response | DeletePoolDefaultResponse>;\n /** Gets basic properties of a Pool. */\n head(\n options?: PoolExistsParameters,\n ): StreamableMethod<PoolExists200Response | PoolExists404Response | PoolExistsDefaultResponse>;\n /** Gets information about the specified Pool. */\n get(options?: GetPoolParameters): StreamableMethod<GetPool200Response | GetPoolDefaultResponse>;\n /**\n * This only replaces the Pool properties specified in the request. For example,\n * if the Pool has a StartTask associated with it, and a request does not specify\n * a StartTask element, then the Pool keeps the existing StartTask.\n */\n patch(\n options: UpdatePoolParameters,\n ): StreamableMethod<UpdatePool200Response | UpdatePoolDefaultResponse>;\n}\n\nexport interface DisablePoolAutoScale {\n /** Disables automatic scaling for a Pool. */\n post(\n options?: DisablePoolAutoScaleParameters,\n ): StreamableMethod<DisablePoolAutoScale200Response | DisablePoolAutoScaleDefaultResponse>;\n}\n\nexport interface EnablePoolAutoScale {\n /**\n * You cannot enable automatic scaling on a Pool if a resize operation is in\n * progress on the Pool. If automatic scaling of the Pool is currently disabled,\n * you must specify a valid autoscale formula as part of the request. If automatic\n * scaling of the Pool is already enabled, you may specify a new autoscale formula\n * and/or a new evaluation interval. You cannot call this API for the same Pool\n * more than once every 30 seconds.\n */\n post(\n options: EnablePoolAutoScaleParameters,\n ): StreamableMethod<EnablePoolAutoScale200Response | EnablePoolAutoScaleDefaultResponse>;\n}\n\nexport interface EvaluatePoolAutoScale {\n /**\n * This API is primarily for validating an autoscale formula, as it simply returns\n * the result without applying the formula to the Pool. The Pool must have auto\n * scaling enabled in order to evaluate a formula.\n */\n post(\n options: EvaluatePoolAutoScaleParameters,\n ): StreamableMethod<EvaluatePoolAutoScale200Response | EvaluatePoolAutoScaleDefaultResponse>;\n}\n\nexport interface ResizePool {\n /**\n * You can only resize a Pool when its allocation state is steady. If the Pool is\n * already resizing, the request fails with status code 409. When you resize a\n * Pool, the Pool's allocation state changes from steady to resizing. You cannot\n * resize Pools which are configured for automatic scaling. If you try to do this,\n * the Batch service returns an error 409. If you resize a Pool downwards, the\n * Batch service chooses which Compute Nodes to remove. To remove specific Compute\n * Nodes, use the Pool remove Compute Nodes API instead.\n */\n post(\n options: ResizePoolParameters,\n ): StreamableMethod<ResizePool202Response | ResizePoolDefaultResponse>;\n}\n\nexport interface StopPoolResize {\n /**\n * This does not restore the Pool to its previous state before the resize\n * operation: it only stops any further changes being made, and the Pool maintains\n * its current state. After stopping, the Pool stabilizes at the number of Compute\n * Nodes it was at when the stop operation was done. During the stop operation,\n * the Pool allocation state changes first to stopping and then to steady. A\n * resize operation need not be an explicit resize Pool request; this API can also\n * be used to halt the initial sizing of the Pool when it is created.\n */\n post(\n options?: StopPoolResizeParameters,\n ): StreamableMethod<StopPoolResize202Response | StopPoolResizeDefaultResponse>;\n}\n\nexport interface ReplacePoolProperties {\n /**\n * This fully replaces all the updatable properties of the Pool. For example, if\n * the Pool has a StartTask associated with it and if StartTask is not specified\n * with this request, then the Batch service will remove the existing StartTask.\n */\n post(\n options: ReplacePoolPropertiesParameters,\n ): StreamableMethod<ReplacePoolProperties204Response | ReplacePoolPropertiesDefaultResponse>;\n}\n\nexport interface RemoveNodes {\n /**\n * This operation can only run when the allocation state of the Pool is steady.\n * When this operation runs, the allocation state changes from steady to resizing.\n * Each request may remove up to 100 nodes.\n */\n post(\n options: RemoveNodesParameters,\n ): StreamableMethod<RemoveNodes202Response | RemoveNodesDefaultResponse>;\n}\n\nexport interface ListSupportedImages {\n /** Lists all Virtual Machine Images supported by the Azure Batch service. */\n get(\n options?: ListSupportedImagesParameters,\n ): StreamableMethod<ListSupportedImages200Response | ListSupportedImagesDefaultResponse>;\n}\n\nexport interface ListPoolNodeCounts {\n /**\n * Gets the number of Compute Nodes in each state, grouped by Pool. Note that the\n * numbers returned may not always be up to date. If you need exact node counts,\n * use a list query.\n */\n get(\n options?: ListPoolNodeCountsParameters,\n ): StreamableMethod<ListPoolNodeCounts200Response | ListPoolNodeCountsDefaultResponse>;\n}\n\nexport interface DeleteJob {\n /**\n * Deleting a Job also deletes all Tasks that are part of that Job, and all Job\n * statistics. This also overrides the retention period for Task data; that is, if\n * the Job contains Tasks which are still retained on Compute Nodes, the Batch\n * services deletes those Tasks' working directories and all their contents. When\n * a Delete Job request is received, the Batch service sets the Job to the\n * deleting state. All update operations on a Job that is in deleting state will\n * fail with status code 409 (Conflict), with additional information indicating\n * that the Job is being deleted.\n */\n delete(\n options?: DeleteJobParameters,\n ): StreamableMethod<DeleteJob202Response | DeleteJobDefaultResponse>;\n /** Gets information about the specified Job. */\n get(options?: GetJobParameters): StreamableMethod<GetJob200Response | GetJobDefaultResponse>;\n /**\n * This replaces only the Job properties specified in the request. For example, if\n * the Job has constraints, and a request does not specify the constraints\n * element, then the Job keeps the existing constraints.\n */\n patch(\n options: UpdateJobParameters,\n ): StreamableMethod<UpdateJob200Response | UpdateJobDefaultResponse>;\n /**\n * This fully replaces all the updatable properties of the Job. For example, if\n * the Job has constraints associated with it and if constraints is not specified\n * with this request, then the Batch service will remove the existing constraints.\n */\n put(\n options: ReplaceJobParameters,\n ): StreamableMethod<ReplaceJob200Response | ReplaceJobDefaultResponse>;\n}\n\nexport interface DisableJob {\n /**\n * The Batch Service immediately moves the Job to the disabling state. Batch then\n * uses the disableTasks parameter to determine what to do with the currently\n * running Tasks of the Job. The Job remains in the disabling state until the\n * disable operation is completed and all Tasks have been dealt with according to\n * the disableTasks option; the Job then moves to the disabled state. No new Tasks\n * are started under the Job until it moves back to active state. If you try to\n * disable a Job that is in any state other than active, disabling, or disabled,\n * the request fails with status code 409.\n */\n post(\n options: DisableJobParameters,\n ): StreamableMethod<DisableJob202Response | DisableJobDefaultResponse>;\n}\n\nexport interface EnableJob {\n /**\n * When you call this API, the Batch service sets a disabled Job to the enabling\n * state. After the this operation is completed, the Job moves to the active\n * state, and scheduling of new Tasks under the Job resumes. The Batch service\n * does not allow a Task to remain in the active state for more than 180 days.\n * Therefore, if you enable a Job containing active Tasks which were added more\n * than 180 days ago, those Tasks will not run.\n */\n post(\n options?: EnableJobParameters,\n ): StreamableMethod<EnableJob202Response | EnableJobDefaultResponse>;\n}\n\nexport interface TerminateJob {\n /**\n * When a Terminate Job request is received, the Batch service sets the Job to the\n * terminating state. The Batch service then terminates any running Tasks\n * associated with the Job and runs any required Job release Tasks. Then the Job\n * moves into the completed state. If there are any Tasks in the Job in the active\n * state, they will remain in the active state. Once a Job is terminated, new\n * Tasks cannot be added and any remaining active Tasks will not be scheduled.\n */\n post(\n options: TerminateJobParameters,\n ): StreamableMethod<TerminateJob202Response | TerminateJobDefaultResponse>;\n}\n\nexport interface CreateJob {\n /**\n * The Batch service supports two ways to control the work done as part of a Job.\n * In the first approach, the user specifies a Job Manager Task. The Batch service\n * launches this Task when it is ready to start the Job. The Job Manager Task\n * controls all other Tasks that run under this Job, by using the Task APIs. In\n * the second approach, the user directly controls the execution of Tasks under an\n * active Job, by using the Task APIs. Also note: when naming Jobs, avoid\n * including sensitive information such as user names or secret project names.\n * This information may appear in telemetry logs accessible to Microsoft Support\n * engineers.\n */\n post(\n options: CreateJobParameters,\n ): StreamableMethod<CreateJob201Response | CreateJobDefaultResponse>;\n /** Lists all of the Jobs in the specified Account. */\n get(\n options?: ListJobsParameters,\n ): StreamableMethod<ListJobs200Response | ListJobsDefaultResponse>;\n}\n\nexport interface ListJobsFromSchedule {\n /** Lists the Jobs that have been created under the specified Job Schedule. */\n get(\n options?: ListJobsFromScheduleParameters,\n ): StreamableMethod<ListJobsFromSchedule200Response | ListJobsFromScheduleDefaultResponse>;\n}\n\nexport interface ListJobPreparationAndReleaseTaskStatus {\n /**\n * This API returns the Job Preparation and Job Release Task status on all Compute\n * Nodes that have run the Job Preparation or Job Release Task. This includes\n * Compute Nodes which have since been removed from the Pool. If this API is\n * invoked on a Job which has no Job Preparation or Job Release Task, the Batch\n * service returns HTTP status code 409 (Conflict) with an error code of\n * JobPreparationTaskNotSpecified.\n */\n get(\n options?: ListJobPreparationAndReleaseTaskStatusParameters,\n ): StreamableMethod<\n | ListJobPreparationAndReleaseTaskStatus200Response\n | ListJobPreparationAndReleaseTaskStatusDefaultResponse\n >;\n}\n\nexport interface GetJobTaskCounts {\n /**\n * Task counts provide a count of the Tasks by active, running or completed Task\n * state, and a count of Tasks which succeeded or failed. Tasks in the preparing\n * state are counted as running. Note that the numbers returned may not always be\n * up to date. If you need exact task counts, use a list query.\n */\n get(\n options?: GetJobTaskCountsParameters,\n ): StreamableMethod<GetJobTaskCounts200Response | GetJobTaskCountsDefaultResponse>;\n}\n\nexport interface JobScheduleExists {\n /** Checks the specified Job Schedule exists. */\n head(\n options?: JobScheduleExistsParameters,\n ): StreamableMethod<\n JobScheduleExists200Response | JobScheduleExists404Response | JobScheduleExistsDefaultResponse\n >;\n /**\n * When you delete a Job Schedule, this also deletes all Jobs and Tasks under that\n * schedule. When Tasks are deleted, all the files in their working directories on\n * the Compute Nodes are also deleted (the retention period is ignored). The Job\n * Schedule statistics are no longer accessible once the Job Schedule is deleted,\n * though they are still counted towards Account lifetime statistics.\n */\n delete(\n options?: DeleteJobScheduleParameters,\n ): StreamableMethod<DeleteJobSchedule202Response | DeleteJobScheduleDefaultResponse>;\n /** Gets information about the specified Job Schedule. */\n get(\n options?: GetJobScheduleParameters,\n ): StreamableMethod<GetJobSchedule200Response | GetJobScheduleDefaultResponse>;\n /**\n * This replaces only the Job Schedule properties specified in the request. For\n * example, if the schedule property is not specified with this request, then the\n * Batch service will keep the existing schedule. Changes to a Job Schedule only\n * impact Jobs created by the schedule after the update has taken place; currently\n * running Jobs are unaffected.\n */\n patch(\n options: UpdateJobScheduleParameters,\n ): StreamableMethod<UpdateJobSchedule200Response | UpdateJobScheduleDefaultResponse>;\n /**\n * This fully replaces all the updatable properties of the Job Schedule. For\n * example, if the schedule property is not specified with this request, then the\n * Batch service will remove the existing schedule. Changes to a Job Schedule only\n * impact Jobs created by the schedule after the update has taken place; currently\n * running Jobs are unaffected.\n */\n put(\n options: ReplaceJobScheduleParameters,\n ): StreamableMethod<ReplaceJobSchedule200Response | ReplaceJobScheduleDefaultResponse>;\n}\n\nexport interface DisableJobSchedule {\n /** No new Jobs will be created until the Job Schedule is enabled again. */\n post(\n options?: DisableJobScheduleParameters,\n ): StreamableMethod<DisableJobSchedule204Response | DisableJobScheduleDefaultResponse>;\n}\n\nexport interface EnableJobSchedule {\n /** Enables a Job Schedule. */\n post(\n options?: EnableJobScheduleParameters,\n ): StreamableMethod<EnableJobSchedule204Response | EnableJobScheduleDefaultResponse>;\n}\n\nexport interface TerminateJobSchedule {\n /** Terminates a Job Schedule. */\n post(\n options?: TerminateJobScheduleParameters,\n ): StreamableMethod<TerminateJobSchedule202Response | TerminateJobScheduleDefaultResponse>;\n}\n\nexport interface CreateJobSchedule {\n /** Creates a Job Schedule to the specified Account. */\n post(\n options: CreateJobScheduleParameters,\n ): StreamableMethod<CreateJobSchedule201Response | CreateJobScheduleDefaultResponse>;\n /** Lists all of the Job Schedules in the specified Account. */\n get(\n options?: ListJobSchedulesParameters,\n ): StreamableMethod<ListJobSchedules200Response | ListJobSchedulesDefaultResponse>;\n}\n\nexport interface CreateTask {\n /**\n * The maximum lifetime of a Task from addition to completion is 180 days. If a\n * Task has not completed within 180 days of being added it will be terminated by\n * the Batch service and left in whatever state it was in at that time.\n */\n post(\n options: CreateTaskParameters,\n ): StreamableMethod<CreateTask201Response | CreateTaskDefaultResponse>;\n /**\n * For multi-instance Tasks, information such as affinityId, executionInfo and\n * nodeInfo refer to the primary Task. Use the list subtasks API to retrieve\n * information about subtasks.\n */\n get(\n options?: ListTasksParameters,\n ): StreamableMethod<ListTasks200Response | ListTasksDefaultResponse>;\n}\n\nexport interface CreateTaskCollection {\n /**\n * Note that each Task must have a unique ID. The Batch service may not return the\n * results for each Task in the same order the Tasks were submitted in this\n * request. If the server times out or the connection is closed during the\n * request, the request may have been partially or fully processed, or not at all.\n * In such cases, the user should re-issue the request. Note that it is up to the\n * user to correctly handle failures when re-issuing a request. For example, you\n * should use the same Task IDs during a retry so that if the prior operation\n * succeeded, the retry will not create extra Tasks unexpectedly. If the response\n * contains any Tasks which failed to add, a client can retry the request. In a\n * retry, it is most efficient to resubmit only Tasks that failed to add, and to\n * omit Tasks that were successfully added on the first attempt. The maximum\n * lifetime of a Task from addition to completion is 180 days. If a Task has not\n * completed within 180 days of being added it will be terminated by the Batch\n * service and left in whatever state it was in at that time.\n */\n post(\n options: CreateTaskCollectionParameters,\n ): StreamableMethod<CreateTaskCollection200Response | CreateTaskCollectionDefaultResponse>;\n}\n\nexport interface DeleteTask {\n /**\n * When a Task is deleted, all of the files in its directory on the Compute Node\n * where it ran are also deleted (regardless of the retention time). For\n * multi-instance Tasks, the delete Task operation applies synchronously to the\n * primary task; subtasks and their files are then deleted asynchronously in the\n * background.\n */\n delete(\n options?: DeleteTaskParameters,\n ): StreamableMethod<DeleteTask200Response | DeleteTaskDefaultResponse>;\n /**\n * For multi-instance Tasks, information such as affinityId, executionInfo and\n * nodeInfo refer to the primary Task. Use the list subtasks API to retrieve\n * information about subtasks.\n */\n get(options?: GetTaskParameters): StreamableMethod<GetTask200Response | GetTaskDefaultResponse>;\n /** Updates the properties of the specified Task. */\n put(\n options: ReplaceTaskParameters,\n ): StreamableMethod<ReplaceTask200Response | ReplaceTaskDefaultResponse>;\n}\n\nexport interface ListSubTasks {\n /** If the Task is not a multi-instance Task then this returns an empty collection. */\n get(\n options?: ListSubTasksParameters,\n ): StreamableMethod<ListSubTasks200Response | ListSubTasksDefaultResponse>;\n}\n\nexport interface TerminateTask {\n /**\n * When the Task has been terminated, it moves to the completed state. For\n * multi-instance Tasks, the terminate Task operation applies synchronously to the\n * primary task; subtasks are then terminated asynchronously in the background.\n */\n post(\n options?: TerminateTaskParameters,\n ): StreamableMethod<TerminateTask204Response | TerminateTaskDefaultResponse>;\n}\n\nexport interface ReactivateTask {\n /**\n * Reactivation makes a Task eligible to be retried again up to its maximum retry\n * count. The Task's state is changed to active. As the Task is no longer in the\n * completed state, any previous exit code or failure information is no longer\n * available after reactivation. Each time a Task is reactivated, its retry count\n * is reset to 0. Reactivation will fail for Tasks that are not completed or that\n * previously completed successfully (with an exit code of 0). Additionally, it\n * will fail if the Job has completed (or is terminating or deleting).\n */\n post(\n options?: ReactivateTaskParameters,\n ): StreamableMethod<ReactivateTask204Response | ReactivateTaskDefaultResponse>;\n}\n\nexport interface DeleteTaskFile {\n /** Deletes the specified Task file from the Compute Node where the Task ran. */\n delete(\n options?: DeleteTaskFileParameters,\n ): StreamableMethod<DeleteTaskFile200Response | DeleteTaskFileDefaultResponse>;\n /** Returns the content of the specified Task file. */\n get(\n options?: GetTaskFileParameters,\n ): StreamableMethod<GetTaskFile200Response | GetTaskFileDefaultResponse>;\n /** Gets the properties of the specified Task file. */\n head(\n options?: GetTaskFilePropertiesParameters,\n ): StreamableMethod<GetTaskFileProperties200Response | GetTaskFilePropertiesDefaultResponse>;\n}\n\nexport interface ListTaskFiles {\n /** Lists the files in a Task's directory on its Compute Node. */\n get(\n options?: ListTaskFilesParameters,\n ): StreamableMethod<ListTaskFiles200Response | ListTaskFilesDefaultResponse>;\n}\n\nexport interface CreateNodeUser {\n /**\n * You can add a user Account to a Compute Node only when it is in the idle or\n * running state.\n */\n post(\n options: CreateNodeUserParameters,\n ): StreamableMethod<CreateNodeUser201Response | CreateNodeUserDefaultResponse>;\n}\n\nexport interface DeleteNodeUser {\n /**\n * You can delete a user Account to a Compute Node only when it is in the idle or\n * running state.\n */\n delete(\n options?: DeleteNodeUserParameters,\n ): StreamableMethod<DeleteNodeUser200Response | DeleteNodeUserDefaultResponse>;\n /**\n * This operation replaces of all the updatable properties of the Account. For\n * example, if the expiryTime element is not specified, the current value is\n * replaced with the default value, not left unmodified. You can update a user\n * Account on a Compute Node only when it is in the idle or running state.\n */\n put(\n options: ReplaceNodeUserParameters,\n ): StreamableMethod<ReplaceNodeUser200Response | ReplaceNodeUserDefaultResponse>;\n}\n\nexport interface GetNode {\n /** Gets information about the specified Compute Node. */\n get(options?: GetNodeParameters): StreamableMethod<GetNode200Response | GetNodeDefaultResponse>;\n}\n\nexport interface RebootNode {\n /** You can restart a Compute Node only if it is in an idle or running state. */\n post(\n options: RebootNodeParameters,\n ): StreamableMethod<RebootNode202Response | RebootNodeDefaultResponse>;\n}\n\nexport interface DisableNodeScheduling {\n /**\n * You can disable Task scheduling on a Compute Node only if its current\n * scheduling state is enabled.\n */\n post(\n options: DisableNodeSchedulingParameters,\n ): StreamableMethod<DisableNodeScheduling200Response | DisableNodeSchedulingDefaultResponse>;\n}\n\nexport interface EnableNodeScheduling {\n /**\n * You can enable Task scheduling on a Compute Node only if its current scheduling\n * state is disabled\n */\n post(\n options?: EnableNodeSchedulingParameters,\n ): StreamableMethod<EnableNodeScheduling200Response | EnableNodeSchedulingDefaultResponse>;\n}\n\nexport interface GetNodeRemoteLoginSettings {\n /**\n * Before you can remotely login to a Compute Node using the remote login\n * settings, you must create a user Account on the Compute Node. This API can be\n * invoked only on Pools created with the virtual machine configuration property.\n */\n get(\n options?: GetNodeRemoteLoginSettingsParameters,\n ): StreamableMethod<\n GetNodeRemoteLoginSettings200Response | GetNodeRemoteLoginSettingsDefaultResponse\n >;\n}\n\nexport interface UploadNodeLogs {\n /**\n * This is for gathering Azure Batch service log files in an automated fashion\n * from Compute Nodes if you are experiencing an error and wish to escalate to\n * Azure support. The Azure Batch service log files should be shared with Azure\n * support to aid in debugging issues with the Batch service.\n */\n post(\n options: UploadNodeLogsParameters,\n ): StreamableMethod<UploadNodeLogs200Response | UploadNodeLogsDefaultResponse>;\n}\n\nexport interface ListNodes {\n /** Lists the Compute Nodes in the specified Pool. */\n get(\n options?: ListNodesParameters,\n ): StreamableMethod<ListNodes200Response | ListNodesDefaultResponse>;\n}\n\nexport interface GetNodeExtension {\n /** Gets information about the specified Compute Node Extension. */\n get(\n options?: GetNodeExtensionParameters,\n ): StreamableMethod<GetNodeExtension200Response | GetNodeExtensionDefaultResponse>;\n}\n\nexport interface ListNodeExtensions {\n /** Lists the Compute Nodes Extensions in the specified Pool. */\n get(\n options?: ListNodeExtensionsParameters,\n ): StreamableMethod<ListNodeExtensions200Response | ListNodeExtensionsDefaultResponse>;\n}\n\nexport interface DeleteNodeFile {\n /** Deletes the specified file from the Compute Node. */\n delete(\n options?: DeleteNodeFileParameters,\n ): StreamableMethod<DeleteNodeFile200Response | DeleteNodeFileDefaultResponse>;\n /** Returns the content of the specified Compute Node file. */\n get(\n options?: GetNodeFileParameters,\n ): StreamableMethod<GetNodeFile200Response | GetNodeFileDefaultResponse>;\n /** Gets the properties of the specified Compute Node file. */\n head(\n options?: GetNodeFilePropertiesParameters,\n ): StreamableMethod<GetNodeFileProperties200Response | GetNodeFilePropertiesDefaultResponse>;\n}\n\nexport interface ListNodeFiles {\n /** Lists all of the files in Task directories on the specified Compute Node. */\n get(\n options?: ListNodeFilesParameters,\n ): StreamableMethod<ListNodeFiles200Response | ListNodeFilesDefaultResponse>;\n}\n\nexport interface Routes {\n /** Resource for '/applications' has methods for the following verbs: get */\n (path: \"/applications\"): ListApplications;\n /** Resource for '/applications/\\{applicationId\\}' has methods for the following verbs: get */\n (path: \"/applications/{applicationId}\", applicationId: string): GetApplication;\n /** Resource for '/poolusagemetrics' has methods for the following verbs: get */\n (path: \"/poolusagemetrics\"): ListPoolUsageMetrics;\n /** Resource for '/pools' has methods for the following verbs: post, get */\n (path: \"/pools\"): CreatePool;\n /** Resource for '/pools/\\{poolId\\}' has methods for the following verbs: delete, head, get, patch */\n (path: \"/pools/{poolId}\", poolId: string): DeletePool;\n /** Resource for '/pools/\\{poolId\\}/disableautoscale' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/disableautoscale\", poolId: string): DisablePoolAutoScale;\n /** Resource for '/pools/\\{poolId\\}/enableautoscale' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/enableautoscale\", poolId: string): EnablePoolAutoScale;\n /** Resource for '/pools/\\{poolId\\}/evaluateautoscale' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/evaluateautoscale\", poolId: string): EvaluatePoolAutoScale;\n /** Resource for '/pools/\\{poolId\\}/resize' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/resize\", poolId: string): ResizePool;\n /** Resource for '/pools/\\{poolId\\}/stopresize' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/stopresize\", poolId: string): StopPoolResize;\n /** Resource for '/pools/\\{poolId\\}/updateproperties' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/updateproperties\", poolId: string): ReplacePoolProperties;\n /** Resource for '/pools/\\{poolId\\}/removenodes' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/removenodes\", poolId: string): RemoveNodes;\n /** Resource for '/supportedimages' has methods for the following verbs: get */\n (path: \"/supportedimages\"): ListSupportedImages;\n /** Resource for '/nodecounts' has methods for the following verbs: get */\n (path: \"/nodecounts\"): ListPoolNodeCounts;\n /** Resource for '/jobs/\\{jobId\\}' has methods for the following verbs: delete, get, patch, put */\n (path: \"/jobs/{jobId}\", jobId: string): DeleteJob;\n /** Resource for '/jobs/\\{jobId\\}/disable' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/disable\", jobId: string): DisableJob;\n /** Resource for '/jobs/\\{jobId\\}/enable' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/enable\", jobId: string): EnableJob;\n /** Resource for '/jobs/\\{jobId\\}/terminate' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/terminate\", jobId: string): TerminateJob;\n /** Resource for '/jobs' has methods for the following verbs: post, get */\n (path: \"/jobs\"): CreateJob;\n /** Resource for '/jobschedules/\\{jobScheduleId\\}/jobs' has methods for the following verbs: get */\n (path: \"/jobschedules/{jobScheduleId}/jobs\", jobScheduleId: string): ListJobsFromSchedule;\n /** Resource for '/jobs/\\{jobId\\}/jobpreparationandreleasetaskstatus' has methods for the following verbs: get */\n (\n path: \"/jobs/{jobId}/jobpreparationandreleasetaskstatus\",\n jobId: string,\n ): ListJobPreparationAndReleaseTaskStatus;\n /** Resource for '/jobs/\\{jobId\\}/taskcounts' has methods for the following verbs: get */\n (path: \"/jobs/{jobId}/taskcounts\", jobId: string): GetJobTaskCounts;\n /** Resource for '/jobschedules/\\{jobScheduleId\\}' has methods for the following verbs: head, delete, get, patch, put */\n (path: \"/jobschedules/{jobScheduleId}\", jobScheduleId: string): JobScheduleExists;\n /** Resource for '/jobschedules/\\{jobScheduleId\\}/disable' has methods for the following verbs: post */\n (path: \"/jobschedules/{jobScheduleId}/disable\", jobScheduleId: string): DisableJobSchedule;\n /** Resource for '/jobschedules/\\{jobScheduleId\\}/enable' has methods for the following verbs: post */\n (path: \"/jobschedules/{jobScheduleId}/enable\", jobScheduleId: string): EnableJobSchedule;\n /** Resource for '/jobschedules/\\{jobScheduleId\\}/terminate' has methods for the following verbs: post */\n (path: \"/jobschedules/{jobScheduleId}/terminate\", jobScheduleId: string): TerminateJobSchedule;\n /** Resource for '/jobschedules' has methods for the following verbs: post, get */\n (path: \"/jobschedules\"): CreateJobSchedule;\n /** Resource for '/jobs/\\{jobId\\}/tasks' has methods for the following verbs: post, get */\n (path: \"/jobs/{jobId}/tasks\", jobId: string): CreateTask;\n /** Resource for '/jobs/\\{jobId\\}/addtaskcollection' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/addtaskcollection\", jobId: string): CreateTaskCollection;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}' has methods for the following verbs: delete, get, put */\n (path: \"/jobs/{jobId}/tasks/{taskId}\", jobId: string, taskId: string): DeleteTask;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}/subtasksinfo' has methods for the following verbs: get */\n (path: \"/jobs/{jobId}/tasks/{taskId}/subtasksinfo\", jobId: string, taskId: string): ListSubTasks;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}/terminate' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/tasks/{taskId}/terminate\", jobId: string, taskId: string): TerminateTask;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}/reactivate' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/tasks/{taskId}/reactivate\", jobId: string, taskId: string): ReactivateTask;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}/files/\\{filePath\\}' has methods for the following verbs: delete, get, head */\n (\n path: \"/jobs/{jobId}/tasks/{taskId}/files/{filePath}\",\n jobId: string,\n taskId: string,\n filePath: string,\n ): DeleteTaskFile;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}/files' has methods for the following verbs: get */\n (path: \"/jobs/{jobId}/tasks/{taskId}/files\", jobId: string, taskId: string): ListTaskFiles;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/users' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/nodes/{nodeId}/users\", poolId: string, nodeId: string): CreateNodeUser;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/users/\\{userName\\}' has methods for the following verbs: delete, put */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/users/{userName}\",\n poolId: string,\n nodeId: string,\n userName: string,\n ): DeleteNodeUser;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}' has methods for the following verbs: get */\n (path: \"/pools/{poolId}/nodes/{nodeId}\", poolId: string, nodeId: string): GetNode;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/reboot' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/nodes/{nodeId}/reboot\", poolId: string, nodeId: string): RebootNode;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/disablescheduling' has methods for the following verbs: post */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/disablescheduling\",\n poolId: string,\n nodeId: string,\n ): DisableNodeScheduling;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/enablescheduling' has methods for the following verbs: post */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/enablescheduling\",\n poolId: string,\n nodeId: string,\n ): EnableNodeScheduling;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/remoteloginsettings' has methods for the following verbs: get */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/remoteloginsettings\",\n poolId: string,\n nodeId: string,\n ): GetNodeRemoteLoginSettings;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/uploadbatchservicelogs' has methods for the following verbs: post */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs\",\n poolId: string,\n nodeId: string,\n ): UploadNodeLogs;\n /** Resource for '/pools/\\{poolId\\}/nodes' has methods for the following verbs: get */\n (path: \"/pools/{poolId}/nodes\", poolId: string): ListNodes;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/extensions/\\{extensionName\\}' has methods for the following verbs: get */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/extensions/{extensionName}\",\n poolId: string,\n nodeId: string,\n extensionName: string,\n ): GetNodeExtension;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/extensions' has methods for the following verbs: get */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/extensions\",\n poolId: string,\n nodeId: string,\n ): ListNodeExtensions;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/files/\\{filePath\\}' has methods for the following verbs: delete, get, head */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/files/{filePath}\",\n poolId: string,\n nodeId: string,\n filePath: string,\n ): DeleteNodeFile;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/files' has methods for the following verbs: get */\n (path: \"/pools/{poolId}/nodes/{nodeId}/files\", poolId: string, nodeId: string): ListNodeFiles;\n}\n\nexport type BatchClient = Client & {\n path: Routes;\n};\n"]}
1
+ {"version":3,"file":"clientDefinitions.js","sourceRoot":"","sources":["../../src/clientDefinitions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n ListApplicationsParameters,\n GetApplicationParameters,\n ListPoolUsageMetricsParameters,\n CreatePoolParameters,\n ListPoolsParameters,\n DeletePoolParameters,\n PoolExistsParameters,\n GetPoolParameters,\n UpdatePoolParameters,\n DisablePoolAutoScaleParameters,\n EnablePoolAutoScaleParameters,\n EvaluatePoolAutoScaleParameters,\n ResizePoolParameters,\n StopPoolResizeParameters,\n ReplacePoolPropertiesParameters,\n RemoveNodesParameters,\n ListSupportedImagesParameters,\n ListPoolNodeCountsParameters,\n DeleteJobParameters,\n GetJobParameters,\n UpdateJobParameters,\n ReplaceJobParameters,\n DisableJobParameters,\n EnableJobParameters,\n TerminateJobParameters,\n CreateJobParameters,\n ListJobsParameters,\n ListJobsFromScheduleParameters,\n ListJobPreparationAndReleaseTaskStatusParameters,\n GetJobTaskCountsParameters,\n CreateCertificateParameters,\n ListCertificatesParameters,\n CancelCertificateDeletionParameters,\n DeleteCertificateParameters,\n GetCertificateParameters,\n JobScheduleExistsParameters,\n DeleteJobScheduleParameters,\n GetJobScheduleParameters,\n UpdateJobScheduleParameters,\n ReplaceJobScheduleParameters,\n DisableJobScheduleParameters,\n EnableJobScheduleParameters,\n TerminateJobScheduleParameters,\n CreateJobScheduleParameters,\n ListJobSchedulesParameters,\n CreateTaskParameters,\n ListTasksParameters,\n CreateTaskCollectionParameters,\n DeleteTaskParameters,\n GetTaskParameters,\n ReplaceTaskParameters,\n ListSubTasksParameters,\n TerminateTaskParameters,\n ReactivateTaskParameters,\n DeleteTaskFileParameters,\n GetTaskFileParameters,\n GetTaskFilePropertiesParameters,\n ListTaskFilesParameters,\n CreateNodeUserParameters,\n DeleteNodeUserParameters,\n ReplaceNodeUserParameters,\n GetNodeParameters,\n RebootNodeParameters,\n StartNodeParameters,\n DeallocateNodeParameters,\n ReimageNodeParameters,\n DisableNodeSchedulingParameters,\n EnableNodeSchedulingParameters,\n GetNodeRemoteLoginSettingsParameters,\n UploadNodeLogsParameters,\n ListNodesParameters,\n GetNodeExtensionParameters,\n ListNodeExtensionsParameters,\n DeleteNodeFileParameters,\n GetNodeFileParameters,\n GetNodeFilePropertiesParameters,\n ListNodeFilesParameters,\n} from \"./parameters.js\";\nimport type {\n ListApplications200Response,\n ListApplicationsDefaultResponse,\n GetApplication200Response,\n GetApplicationDefaultResponse,\n ListPoolUsageMetrics200Response,\n ListPoolUsageMetricsDefaultResponse,\n CreatePool201Response,\n CreatePoolDefaultResponse,\n ListPools200Response,\n ListPoolsDefaultResponse,\n DeletePool202Response,\n DeletePoolDefaultResponse,\n PoolExists200Response,\n PoolExists404Response,\n PoolExistsDefaultResponse,\n GetPool200Response,\n GetPoolDefaultResponse,\n UpdatePool200Response,\n UpdatePoolDefaultResponse,\n DisablePoolAutoScale200Response,\n DisablePoolAutoScaleDefaultResponse,\n EnablePoolAutoScale200Response,\n EnablePoolAutoScaleDefaultResponse,\n EvaluatePoolAutoScale200Response,\n EvaluatePoolAutoScaleDefaultResponse,\n ResizePool202Response,\n ResizePoolDefaultResponse,\n StopPoolResize202Response,\n StopPoolResizeDefaultResponse,\n ReplacePoolProperties204Response,\n ReplacePoolPropertiesDefaultResponse,\n RemoveNodes202Response,\n RemoveNodesDefaultResponse,\n ListSupportedImages200Response,\n ListSupportedImagesDefaultResponse,\n ListPoolNodeCounts200Response,\n ListPoolNodeCountsDefaultResponse,\n DeleteJob202Response,\n DeleteJobDefaultResponse,\n GetJob200Response,\n GetJobDefaultResponse,\n UpdateJob200Response,\n UpdateJobDefaultResponse,\n ReplaceJob200Response,\n ReplaceJobDefaultResponse,\n DisableJob202Response,\n DisableJobDefaultResponse,\n EnableJob202Response,\n EnableJobDefaultResponse,\n TerminateJob202Response,\n TerminateJobDefaultResponse,\n CreateJob201Response,\n CreateJobDefaultResponse,\n ListJobs200Response,\n ListJobsDefaultResponse,\n ListJobsFromSchedule200Response,\n ListJobsFromScheduleDefaultResponse,\n ListJobPreparationAndReleaseTaskStatus200Response,\n ListJobPreparationAndReleaseTaskStatusDefaultResponse,\n GetJobTaskCounts200Response,\n GetJobTaskCountsDefaultResponse,\n CreateCertificate201Response,\n CreateCertificateDefaultResponse,\n ListCertificates200Response,\n ListCertificatesDefaultResponse,\n CancelCertificateDeletion204Response,\n CancelCertificateDeletionDefaultResponse,\n DeleteCertificate202Response,\n DeleteCertificateDefaultResponse,\n GetCertificate200Response,\n GetCertificateDefaultResponse,\n JobScheduleExists200Response,\n JobScheduleExists404Response,\n JobScheduleExistsDefaultResponse,\n DeleteJobSchedule202Response,\n DeleteJobScheduleDefaultResponse,\n GetJobSchedule200Response,\n GetJobScheduleDefaultResponse,\n UpdateJobSchedule200Response,\n UpdateJobScheduleDefaultResponse,\n ReplaceJobSchedule200Response,\n ReplaceJobScheduleDefaultResponse,\n DisableJobSchedule204Response,\n DisableJobScheduleDefaultResponse,\n EnableJobSchedule204Response,\n EnableJobScheduleDefaultResponse,\n TerminateJobSchedule202Response,\n TerminateJobScheduleDefaultResponse,\n CreateJobSchedule201Response,\n CreateJobScheduleDefaultResponse,\n ListJobSchedules200Response,\n ListJobSchedulesDefaultResponse,\n CreateTask201Response,\n CreateTaskDefaultResponse,\n ListTasks200Response,\n ListTasksDefaultResponse,\n CreateTaskCollection200Response,\n CreateTaskCollectionDefaultResponse,\n DeleteTask200Response,\n DeleteTaskDefaultResponse,\n GetTask200Response,\n GetTaskDefaultResponse,\n ReplaceTask200Response,\n ReplaceTaskDefaultResponse,\n ListSubTasks200Response,\n ListSubTasksDefaultResponse,\n TerminateTask204Response,\n TerminateTaskDefaultResponse,\n ReactivateTask204Response,\n ReactivateTaskDefaultResponse,\n DeleteTaskFile200Response,\n DeleteTaskFileDefaultResponse,\n GetTaskFile200Response,\n GetTaskFileDefaultResponse,\n GetTaskFileProperties200Response,\n GetTaskFilePropertiesDefaultResponse,\n ListTaskFiles200Response,\n ListTaskFilesDefaultResponse,\n CreateNodeUser201Response,\n CreateNodeUserDefaultResponse,\n DeleteNodeUser200Response,\n DeleteNodeUserDefaultResponse,\n ReplaceNodeUser200Response,\n ReplaceNodeUserDefaultResponse,\n GetNode200Response,\n GetNodeDefaultResponse,\n RebootNode202Response,\n RebootNodeDefaultResponse,\n StartNode202Response,\n StartNodeDefaultResponse,\n DeallocateNode202Response,\n DeallocateNodeDefaultResponse,\n ReimageNode202Response,\n ReimageNodeDefaultResponse,\n DisableNodeScheduling200Response,\n DisableNodeSchedulingDefaultResponse,\n EnableNodeScheduling200Response,\n EnableNodeSchedulingDefaultResponse,\n GetNodeRemoteLoginSettings200Response,\n GetNodeRemoteLoginSettingsDefaultResponse,\n UploadNodeLogs200Response,\n UploadNodeLogsDefaultResponse,\n ListNodes200Response,\n ListNodesDefaultResponse,\n GetNodeExtension200Response,\n GetNodeExtensionDefaultResponse,\n ListNodeExtensions200Response,\n ListNodeExtensionsDefaultResponse,\n DeleteNodeFile200Response,\n DeleteNodeFileDefaultResponse,\n GetNodeFile200Response,\n GetNodeFileDefaultResponse,\n GetNodeFileProperties200Response,\n GetNodeFilePropertiesDefaultResponse,\n ListNodeFiles200Response,\n ListNodeFilesDefaultResponse,\n} from \"./responses.js\";\nimport type { Client, StreamableMethod } from \"@azure-rest/core-client\";\n\nexport interface ListApplications {\n /**\n * This operation returns only Applications and versions that are available for\n * use on Compute Nodes; that is, that can be used in an Package reference. For\n * administrator information about applications and versions that are not yet\n * available to Compute Nodes, use the Azure portal or the Azure Resource Manager\n * API.\n */\n get(\n options?: ListApplicationsParameters,\n ): StreamableMethod<ListApplications200Response | ListApplicationsDefaultResponse>;\n}\n\nexport interface GetApplication {\n /**\n * This operation returns only Applications and versions that are available for\n * use on Compute Nodes; that is, that can be used in an Package reference. For\n * administrator information about Applications and versions that are not yet\n * available to Compute Nodes, use the Azure portal or the Azure Resource Manager\n * API.\n */\n get(\n options?: GetApplicationParameters,\n ): StreamableMethod<GetApplication200Response | GetApplicationDefaultResponse>;\n}\n\nexport interface ListPoolUsageMetrics {\n /**\n * If you do not specify a $filter clause including a poolId, the response\n * includes all Pools that existed in the Account in the time range of the\n * returned aggregation intervals. If you do not specify a $filter clause\n * including a startTime or endTime these filters default to the start and end\n * times of the last aggregation interval currently available; that is, only the\n * last aggregation interval is returned.\n */\n get(\n options?: ListPoolUsageMetricsParameters,\n ): StreamableMethod<ListPoolUsageMetrics200Response | ListPoolUsageMetricsDefaultResponse>;\n}\n\nexport interface CreatePool {\n /**\n * When naming Pools, avoid including sensitive information such as user names or\n * secret project names. This information may appear in telemetry logs accessible\n * to Microsoft Support engineers.\n */\n post(\n options: CreatePoolParameters,\n ): StreamableMethod<CreatePool201Response | CreatePoolDefaultResponse>;\n /** Lists all of the Pools which be mounted. */\n get(\n options?: ListPoolsParameters,\n ): StreamableMethod<ListPools200Response | ListPoolsDefaultResponse>;\n}\n\nexport interface DeletePool {\n /**\n * When you request that a Pool be deleted, the following actions occur: the Pool\n * state is set to deleting; any ongoing resize operation on the Pool are stopped;\n * the Batch service starts resizing the Pool to zero Compute Nodes; any Tasks\n * running on existing Compute Nodes are terminated and requeued (as if a resize\n * Pool operation had been requested with the default requeue option); finally,\n * the Pool is removed from the system. Because running Tasks are requeued, the\n * user can rerun these Tasks by updating their Job to target a different Pool.\n * The Tasks can then run on the new Pool. If you want to override the requeue\n * behavior, then you should call resize Pool explicitly to shrink the Pool to\n * zero size before deleting the Pool. If you call an Update, Patch or Delete API\n * on a Pool in the deleting state, it will fail with HTTP status code 409 with\n * error code PoolBeingDeleted.\n */\n delete(\n options?: DeletePoolParameters,\n ): StreamableMethod<DeletePool202Response | DeletePoolDefaultResponse>;\n /** Gets basic properties of a Pool. */\n head(\n options?: PoolExistsParameters,\n ): StreamableMethod<PoolExists200Response | PoolExists404Response | PoolExistsDefaultResponse>;\n /** Gets information about the specified Pool. */\n get(options?: GetPoolParameters): StreamableMethod<GetPool200Response | GetPoolDefaultResponse>;\n /**\n * This only replaces the Pool properties specified in the request. For example,\n * if the Pool has a StartTask associated with it, and a request does not specify\n * a StartTask element, then the Pool keeps the existing StartTask.\n */\n patch(\n options: UpdatePoolParameters,\n ): StreamableMethod<UpdatePool200Response | UpdatePoolDefaultResponse>;\n}\n\nexport interface DisablePoolAutoScale {\n /** Disables automatic scaling for a Pool. */\n post(\n options?: DisablePoolAutoScaleParameters,\n ): StreamableMethod<DisablePoolAutoScale200Response | DisablePoolAutoScaleDefaultResponse>;\n}\n\nexport interface EnablePoolAutoScale {\n /**\n * You cannot enable automatic scaling on a Pool if a resize operation is in\n * progress on the Pool. If automatic scaling of the Pool is currently disabled,\n * you must specify a valid autoscale formula as part of the request. If automatic\n * scaling of the Pool is already enabled, you may specify a new autoscale formula\n * and/or a new evaluation interval. You cannot call this API for the same Pool\n * more than once every 30 seconds.\n */\n post(\n options: EnablePoolAutoScaleParameters,\n ): StreamableMethod<EnablePoolAutoScale200Response | EnablePoolAutoScaleDefaultResponse>;\n}\n\nexport interface EvaluatePoolAutoScale {\n /**\n * This API is primarily for validating an autoscale formula, as it simply returns\n * the result without applying the formula to the Pool. The Pool must have auto\n * scaling enabled in order to evaluate a formula.\n */\n post(\n options: EvaluatePoolAutoScaleParameters,\n ): StreamableMethod<EvaluatePoolAutoScale200Response | EvaluatePoolAutoScaleDefaultResponse>;\n}\n\nexport interface ResizePool {\n /**\n * You can only resize a Pool when its allocation state is steady. If the Pool is\n * already resizing, the request fails with status code 409. When you resize a\n * Pool, the Pool's allocation state changes from steady to resizing. You cannot\n * resize Pools which are configured for automatic scaling. If you try to do this,\n * the Batch service returns an error 409. If you resize a Pool downwards, the\n * Batch service chooses which Compute Nodes to remove. To remove specific Compute\n * Nodes, use the Pool remove Compute Nodes API instead.\n */\n post(\n options: ResizePoolParameters,\n ): StreamableMethod<ResizePool202Response | ResizePoolDefaultResponse>;\n}\n\nexport interface StopPoolResize {\n /**\n * This does not restore the Pool to its previous state before the resize\n * operation: it only stops any further changes being made, and the Pool maintains\n * its current state. After stopping, the Pool stabilizes at the number of Compute\n * Nodes it was at when the stop operation was done. During the stop operation,\n * the Pool allocation state changes first to stopping and then to steady. A\n * resize operation need not be an explicit resize Pool request; this API can also\n * be used to halt the initial sizing of the Pool when it is created.\n */\n post(\n options?: StopPoolResizeParameters,\n ): StreamableMethod<StopPoolResize202Response | StopPoolResizeDefaultResponse>;\n}\n\nexport interface ReplacePoolProperties {\n /**\n * This fully replaces all the updatable properties of the Pool. For example, if\n * the Pool has a StartTask associated with it and if StartTask is not specified\n * with this request, then the Batch service will remove the existing StartTask.\n */\n post(\n options: ReplacePoolPropertiesParameters,\n ): StreamableMethod<ReplacePoolProperties204Response | ReplacePoolPropertiesDefaultResponse>;\n}\n\nexport interface RemoveNodes {\n /**\n * This operation can only run when the allocation state of the Pool is steady.\n * When this operation runs, the allocation state changes from steady to resizing.\n * Each request may remove up to 100 nodes.\n */\n post(\n options: RemoveNodesParameters,\n ): StreamableMethod<RemoveNodes202Response | RemoveNodesDefaultResponse>;\n}\n\nexport interface ListSupportedImages {\n /** Lists all Virtual Machine Images supported by the Azure Batch service. */\n get(\n options?: ListSupportedImagesParameters,\n ): StreamableMethod<ListSupportedImages200Response | ListSupportedImagesDefaultResponse>;\n}\n\nexport interface ListPoolNodeCounts {\n /**\n * Gets the number of Compute Nodes in each state, grouped by Pool. Note that the\n * numbers returned may not always be up to date. If you need exact node counts,\n * use a list query.\n */\n get(\n options?: ListPoolNodeCountsParameters,\n ): StreamableMethod<ListPoolNodeCounts200Response | ListPoolNodeCountsDefaultResponse>;\n}\n\nexport interface DeleteJob {\n /**\n * Deleting a Job also deletes all Tasks that are part of that Job, and all Job\n * statistics. This also overrides the retention period for Task data; that is, if\n * the Job contains Tasks which are still retained on Compute Nodes, the Batch\n * services deletes those Tasks' working directories and all their contents. When\n * a Delete Job request is received, the Batch service sets the Job to the\n * deleting state. All update operations on a Job that is in deleting state will\n * fail with status code 409 (Conflict), with additional information indicating\n * that the Job is being deleted.\n */\n delete(\n options?: DeleteJobParameters,\n ): StreamableMethod<DeleteJob202Response | DeleteJobDefaultResponse>;\n /** Gets information about the specified Job. */\n get(options?: GetJobParameters): StreamableMethod<GetJob200Response | GetJobDefaultResponse>;\n /**\n * This replaces only the Job properties specified in the request. For example, if\n * the Job has constraints, and a request does not specify the constraints\n * element, then the Job keeps the existing constraints.\n */\n patch(\n options: UpdateJobParameters,\n ): StreamableMethod<UpdateJob200Response | UpdateJobDefaultResponse>;\n /**\n * This fully replaces all the updatable properties of the Job. For example, if\n * the Job has constraints associated with it and if constraints is not specified\n * with this request, then the Batch service will remove the existing constraints.\n */\n put(\n options: ReplaceJobParameters,\n ): StreamableMethod<ReplaceJob200Response | ReplaceJobDefaultResponse>;\n}\n\nexport interface DisableJob {\n /**\n * The Batch Service immediately moves the Job to the disabling state. Batch then\n * uses the disableTasks parameter to determine what to do with the currently\n * running Tasks of the Job. The Job remains in the disabling state until the\n * disable operation is completed and all Tasks have been dealt with according to\n * the disableTasks option; the Job then moves to the disabled state. No new Tasks\n * are started under the Job until it moves back to active state. If you try to\n * disable a Job that is in any state other than active, disabling, or disabled,\n * the request fails with status code 409.\n */\n post(\n options: DisableJobParameters,\n ): StreamableMethod<DisableJob202Response | DisableJobDefaultResponse>;\n}\n\nexport interface EnableJob {\n /**\n * When you call this API, the Batch service sets a disabled Job to the enabling\n * state. After the this operation is completed, the Job moves to the active\n * state, and scheduling of new Tasks under the Job resumes. The Batch service\n * does not allow a Task to remain in the active state for more than 180 days.\n * Therefore, if you enable a Job containing active Tasks which were added more\n * than 180 days ago, those Tasks will not run.\n */\n post(\n options?: EnableJobParameters,\n ): StreamableMethod<EnableJob202Response | EnableJobDefaultResponse>;\n}\n\nexport interface TerminateJob {\n /**\n * When a Terminate Job request is received, the Batch service sets the Job to the\n * terminating state. The Batch service then terminates any running Tasks\n * associated with the Job and runs any required Job release Tasks. Then the Job\n * moves into the completed state. If there are any Tasks in the Job in the active\n * state, they will remain in the active state. Once a Job is terminated, new\n * Tasks cannot be added and any remaining active Tasks will not be scheduled.\n */\n post(\n options: TerminateJobParameters,\n ): StreamableMethod<TerminateJob202Response | TerminateJobDefaultResponse>;\n}\n\nexport interface CreateJob {\n /**\n * The Batch service supports two ways to control the work done as part of a Job.\n * In the first approach, the user specifies a Job Manager Task. The Batch service\n * launches this Task when it is ready to start the Job. The Job Manager Task\n * controls all other Tasks that run under this Job, by using the Task APIs. In\n * the second approach, the user directly controls the execution of Tasks under an\n * active Job, by using the Task APIs. Also note: when naming Jobs, avoid\n * including sensitive information such as user names or secret project names.\n * This information may appear in telemetry logs accessible to Microsoft Support\n * engineers.\n */\n post(\n options: CreateJobParameters,\n ): StreamableMethod<CreateJob201Response | CreateJobDefaultResponse>;\n /** Lists all of the Jobs in the specified Account. */\n get(\n options?: ListJobsParameters,\n ): StreamableMethod<ListJobs200Response | ListJobsDefaultResponse>;\n}\n\nexport interface ListJobsFromSchedule {\n /** Lists the Jobs that have been created under the specified Job Schedule. */\n get(\n options?: ListJobsFromScheduleParameters,\n ): StreamableMethod<ListJobsFromSchedule200Response | ListJobsFromScheduleDefaultResponse>;\n}\n\nexport interface ListJobPreparationAndReleaseTaskStatus {\n /**\n * This API returns the Job Preparation and Job Release Task status on all Compute\n * Nodes that have run the Job Preparation or Job Release Task. This includes\n * Compute Nodes which have since been removed from the Pool. If this API is\n * invoked on a Job which has no Job Preparation or Job Release Task, the Batch\n * service returns HTTP status code 409 (Conflict) with an error code of\n * JobPreparationTaskNotSpecified.\n */\n get(\n options?: ListJobPreparationAndReleaseTaskStatusParameters,\n ): StreamableMethod<\n | ListJobPreparationAndReleaseTaskStatus200Response\n | ListJobPreparationAndReleaseTaskStatusDefaultResponse\n >;\n}\n\nexport interface GetJobTaskCounts {\n /**\n * Task counts provide a count of the Tasks by active, running or completed Task\n * state, and a count of Tasks which succeeded or failed. Tasks in the preparing\n * state are counted as running. Note that the numbers returned may not always be\n * up to date. If you need exact task counts, use a list query.\n */\n get(\n options?: GetJobTaskCountsParameters,\n ): StreamableMethod<GetJobTaskCounts200Response | GetJobTaskCountsDefaultResponse>;\n}\n\nexport interface CreateCertificate {\n /** Creates a Certificate to the specified Account. */\n post(\n options: CreateCertificateParameters,\n ): StreamableMethod<CreateCertificate201Response | CreateCertificateDefaultResponse>;\n /** Lists all of the Certificates that have been added to the specified Account. */\n get(\n options?: ListCertificatesParameters,\n ): StreamableMethod<ListCertificates200Response | ListCertificatesDefaultResponse>;\n}\n\nexport interface CancelCertificateDeletion {\n /**\n * If you try to delete a Certificate that is being used by a Pool or Compute\n * Node, the status of the Certificate changes to deleteFailed. If you decide that\n * you want to continue using the Certificate, you can use this operation to set\n * the status of the Certificate back to active. If you intend to delete the\n * Certificate, you do not need to run this operation after the deletion failed.\n * You must make sure that the Certificate is not being used by any resources, and\n * then you can try again to delete the Certificate.\n */\n post(\n options?: CancelCertificateDeletionParameters,\n ): StreamableMethod<\n CancelCertificateDeletion204Response | CancelCertificateDeletionDefaultResponse\n >;\n}\n\nexport interface DeleteCertificate {\n /**\n * You cannot delete a Certificate if a resource (Pool or Compute Node) is using\n * it. Before you can delete a Certificate, you must therefore make sure that the\n * Certificate is not associated with any existing Pools, the Certificate is not\n * installed on any Nodes (even if you remove a Certificate from a Pool, it is not\n * removed from existing Compute Nodes in that Pool until they restart), and no\n * running Tasks depend on the Certificate. If you try to delete a Certificate\n * that is in use, the deletion fails. The Certificate status changes to\n * deleteFailed. You can use Cancel Delete Certificate to set the status back to\n * active if you decide that you want to continue using the Certificate.\n */\n delete(\n options?: DeleteCertificateParameters,\n ): StreamableMethod<DeleteCertificate202Response | DeleteCertificateDefaultResponse>;\n /** Gets information about the specified Certificate. */\n get(\n options?: GetCertificateParameters,\n ): StreamableMethod<GetCertificate200Response | GetCertificateDefaultResponse>;\n}\n\nexport interface JobScheduleExists {\n /** Checks the specified Job Schedule exists. */\n head(\n options?: JobScheduleExistsParameters,\n ): StreamableMethod<\n JobScheduleExists200Response | JobScheduleExists404Response | JobScheduleExistsDefaultResponse\n >;\n /**\n * When you delete a Job Schedule, this also deletes all Jobs and Tasks under that\n * schedule. When Tasks are deleted, all the files in their working directories on\n * the Compute Nodes are also deleted (the retention period is ignored). The Job\n * Schedule statistics are no longer accessible once the Job Schedule is deleted,\n * though they are still counted towards Account lifetime statistics.\n */\n delete(\n options?: DeleteJobScheduleParameters,\n ): StreamableMethod<DeleteJobSchedule202Response | DeleteJobScheduleDefaultResponse>;\n /** Gets information about the specified Job Schedule. */\n get(\n options?: GetJobScheduleParameters,\n ): StreamableMethod<GetJobSchedule200Response | GetJobScheduleDefaultResponse>;\n /**\n * This replaces only the Job Schedule properties specified in the request. For\n * example, if the schedule property is not specified with this request, then the\n * Batch service will keep the existing schedule. Changes to a Job Schedule only\n * impact Jobs created by the schedule after the update has taken place; currently\n * running Jobs are unaffected.\n */\n patch(\n options: UpdateJobScheduleParameters,\n ): StreamableMethod<UpdateJobSchedule200Response | UpdateJobScheduleDefaultResponse>;\n /**\n * This fully replaces all the updatable properties of the Job Schedule. For\n * example, if the schedule property is not specified with this request, then the\n * Batch service will remove the existing schedule. Changes to a Job Schedule only\n * impact Jobs created by the schedule after the update has taken place; currently\n * running Jobs are unaffected.\n */\n put(\n options: ReplaceJobScheduleParameters,\n ): StreamableMethod<ReplaceJobSchedule200Response | ReplaceJobScheduleDefaultResponse>;\n}\n\nexport interface DisableJobSchedule {\n /** No new Jobs will be created until the Job Schedule is enabled again. */\n post(\n options?: DisableJobScheduleParameters,\n ): StreamableMethod<DisableJobSchedule204Response | DisableJobScheduleDefaultResponse>;\n}\n\nexport interface EnableJobSchedule {\n /** Enables a Job Schedule. */\n post(\n options?: EnableJobScheduleParameters,\n ): StreamableMethod<EnableJobSchedule204Response | EnableJobScheduleDefaultResponse>;\n}\n\nexport interface TerminateJobSchedule {\n /** Terminates a Job Schedule. */\n post(\n options?: TerminateJobScheduleParameters,\n ): StreamableMethod<TerminateJobSchedule202Response | TerminateJobScheduleDefaultResponse>;\n}\n\nexport interface CreateJobSchedule {\n /** Creates a Job Schedule to the specified Account. */\n post(\n options: CreateJobScheduleParameters,\n ): StreamableMethod<CreateJobSchedule201Response | CreateJobScheduleDefaultResponse>;\n /** Lists all of the Job Schedules in the specified Account. */\n get(\n options?: ListJobSchedulesParameters,\n ): StreamableMethod<ListJobSchedules200Response | ListJobSchedulesDefaultResponse>;\n}\n\nexport interface CreateTask {\n /**\n * The maximum lifetime of a Task from addition to completion is 180 days. If a\n * Task has not completed within 180 days of being added it will be terminated by\n * the Batch service and left in whatever state it was in at that time.\n */\n post(\n options: CreateTaskParameters,\n ): StreamableMethod<CreateTask201Response | CreateTaskDefaultResponse>;\n /**\n * For multi-instance Tasks, information such as affinityId, executionInfo and\n * nodeInfo refer to the primary Task. Use the list subtasks API to retrieve\n * information about subtasks.\n */\n get(\n options?: ListTasksParameters,\n ): StreamableMethod<ListTasks200Response | ListTasksDefaultResponse>;\n}\n\nexport interface CreateTaskCollection {\n /**\n * Note that each Task must have a unique ID. The Batch service may not return the\n * results for each Task in the same order the Tasks were submitted in this\n * request. If the server times out or the connection is closed during the\n * request, the request may have been partially or fully processed, or not at all.\n * In such cases, the user should re-issue the request. Note that it is up to the\n * user to correctly handle failures when re-issuing a request. For example, you\n * should use the same Task IDs during a retry so that if the prior operation\n * succeeded, the retry will not create extra Tasks unexpectedly. If the response\n * contains any Tasks which failed to add, a client can retry the request. In a\n * retry, it is most efficient to resubmit only Tasks that failed to add, and to\n * omit Tasks that were successfully added on the first attempt. The maximum\n * lifetime of a Task from addition to completion is 180 days. If a Task has not\n * completed within 180 days of being added it will be terminated by the Batch\n * service and left in whatever state it was in at that time.\n */\n post(\n options: CreateTaskCollectionParameters,\n ): StreamableMethod<CreateTaskCollection200Response | CreateTaskCollectionDefaultResponse>;\n}\n\nexport interface DeleteTask {\n /**\n * When a Task is deleted, all of the files in its directory on the Compute Node\n * where it ran are also deleted (regardless of the retention time). For\n * multi-instance Tasks, the delete Task operation applies synchronously to the\n * primary task; subtasks and their files are then deleted asynchronously in the\n * background.\n */\n delete(\n options?: DeleteTaskParameters,\n ): StreamableMethod<DeleteTask200Response | DeleteTaskDefaultResponse>;\n /**\n * For multi-instance Tasks, information such as affinityId, executionInfo and\n * nodeInfo refer to the primary Task. Use the list subtasks API to retrieve\n * information about subtasks.\n */\n get(options?: GetTaskParameters): StreamableMethod<GetTask200Response | GetTaskDefaultResponse>;\n /** Updates the properties of the specified Task. */\n put(\n options: ReplaceTaskParameters,\n ): StreamableMethod<ReplaceTask200Response | ReplaceTaskDefaultResponse>;\n}\n\nexport interface ListSubTasks {\n /** If the Task is not a multi-instance Task then this returns an empty collection. */\n get(\n options?: ListSubTasksParameters,\n ): StreamableMethod<ListSubTasks200Response | ListSubTasksDefaultResponse>;\n}\n\nexport interface TerminateTask {\n /**\n * When the Task has been terminated, it moves to the completed state. For\n * multi-instance Tasks, the terminate Task operation applies synchronously to the\n * primary task; subtasks are then terminated asynchronously in the background.\n */\n post(\n options?: TerminateTaskParameters,\n ): StreamableMethod<TerminateTask204Response | TerminateTaskDefaultResponse>;\n}\n\nexport interface ReactivateTask {\n /**\n * Reactivation makes a Task eligible to be retried again up to its maximum retry\n * count. The Task's state is changed to active. As the Task is no longer in the\n * completed state, any previous exit code or failure information is no longer\n * available after reactivation. Each time a Task is reactivated, its retry count\n * is reset to 0. Reactivation will fail for Tasks that are not completed or that\n * previously completed successfully (with an exit code of 0). Additionally, it\n * will fail if the Job has completed (or is terminating or deleting).\n */\n post(\n options?: ReactivateTaskParameters,\n ): StreamableMethod<ReactivateTask204Response | ReactivateTaskDefaultResponse>;\n}\n\nexport interface DeleteTaskFile {\n /** Deletes the specified Task file from the Compute Node where the Task ran. */\n delete(\n options?: DeleteTaskFileParameters,\n ): StreamableMethod<DeleteTaskFile200Response | DeleteTaskFileDefaultResponse>;\n /** Returns the content of the specified Task file. */\n get(\n options?: GetTaskFileParameters,\n ): StreamableMethod<GetTaskFile200Response | GetTaskFileDefaultResponse>;\n /** Gets the properties of the specified Task file. */\n head(\n options?: GetTaskFilePropertiesParameters,\n ): StreamableMethod<GetTaskFileProperties200Response | GetTaskFilePropertiesDefaultResponse>;\n}\n\nexport interface ListTaskFiles {\n /** Lists the files in a Task's directory on its Compute Node. */\n get(\n options?: ListTaskFilesParameters,\n ): StreamableMethod<ListTaskFiles200Response | ListTaskFilesDefaultResponse>;\n}\n\nexport interface CreateNodeUser {\n /**\n * You can add a user Account to a Compute Node only when it is in the idle or\n * running state.\n */\n post(\n options: CreateNodeUserParameters,\n ): StreamableMethod<CreateNodeUser201Response | CreateNodeUserDefaultResponse>;\n}\n\nexport interface DeleteNodeUser {\n /**\n * You can delete a user Account to a Compute Node only when it is in the idle or\n * running state.\n */\n delete(\n options?: DeleteNodeUserParameters,\n ): StreamableMethod<DeleteNodeUser200Response | DeleteNodeUserDefaultResponse>;\n /**\n * This operation replaces of all the updatable properties of the Account. For\n * example, if the expiryTime element is not specified, the current value is\n * replaced with the default value, not left unmodified. You can update a user\n * Account on a Compute Node only when it is in the idle or running state.\n */\n put(\n options: ReplaceNodeUserParameters,\n ): StreamableMethod<ReplaceNodeUser200Response | ReplaceNodeUserDefaultResponse>;\n}\n\nexport interface GetNode {\n /** Gets information about the specified Compute Node. */\n get(options?: GetNodeParameters): StreamableMethod<GetNode200Response | GetNodeDefaultResponse>;\n}\n\nexport interface RebootNode {\n /** You can restart a Compute Node only if it is in an idle or running state. */\n post(\n options: RebootNodeParameters,\n ): StreamableMethod<RebootNode202Response | RebootNodeDefaultResponse>;\n}\n\nexport interface StartNode {\n /** You can start a Compute Node only if it has been deallocated. */\n post(\n options?: StartNodeParameters,\n ): StreamableMethod<StartNode202Response | StartNodeDefaultResponse>;\n}\n\nexport interface DeallocateNode {\n /** You can deallocate a Compute Node only if it is in an idle or running state. */\n post(\n options: DeallocateNodeParameters,\n ): StreamableMethod<DeallocateNode202Response | DeallocateNodeDefaultResponse>;\n}\n\nexport interface ReimageNode {\n /**\n * You can reinstall the operating system on a Compute Node only if it is in an\n * idle or running state. This API can be invoked only on Pools created with the\n * cloud service configuration property.\n */\n post(\n options: ReimageNodeParameters,\n ): StreamableMethod<ReimageNode202Response | ReimageNodeDefaultResponse>;\n}\n\nexport interface DisableNodeScheduling {\n /**\n * You can disable Task scheduling on a Compute Node only if its current\n * scheduling state is enabled.\n */\n post(\n options: DisableNodeSchedulingParameters,\n ): StreamableMethod<DisableNodeScheduling200Response | DisableNodeSchedulingDefaultResponse>;\n}\n\nexport interface EnableNodeScheduling {\n /**\n * You can enable Task scheduling on a Compute Node only if its current scheduling\n * state is disabled\n */\n post(\n options?: EnableNodeSchedulingParameters,\n ): StreamableMethod<EnableNodeScheduling200Response | EnableNodeSchedulingDefaultResponse>;\n}\n\nexport interface GetNodeRemoteLoginSettings {\n /**\n * Before you can remotely login to a Compute Node using the remote login settings,\n * you must create a user Account on the Compute Node.\n */\n get(\n options?: GetNodeRemoteLoginSettingsParameters,\n ): StreamableMethod<\n GetNodeRemoteLoginSettings200Response | GetNodeRemoteLoginSettingsDefaultResponse\n >;\n}\n\nexport interface UploadNodeLogs {\n /**\n * This is for gathering Azure Batch service log files in an automated fashion\n * from Compute Nodes if you are experiencing an error and wish to escalate to\n * Azure support. The Azure Batch service log files should be shared with Azure\n * support to aid in debugging issues with the Batch service.\n */\n post(\n options: UploadNodeLogsParameters,\n ): StreamableMethod<UploadNodeLogs200Response | UploadNodeLogsDefaultResponse>;\n}\n\nexport interface ListNodes {\n /** Lists the Compute Nodes in the specified Pool. */\n get(\n options?: ListNodesParameters,\n ): StreamableMethod<ListNodes200Response | ListNodesDefaultResponse>;\n}\n\nexport interface GetNodeExtension {\n /** Gets information about the specified Compute Node Extension. */\n get(\n options?: GetNodeExtensionParameters,\n ): StreamableMethod<GetNodeExtension200Response | GetNodeExtensionDefaultResponse>;\n}\n\nexport interface ListNodeExtensions {\n /** Lists the Compute Nodes Extensions in the specified Pool. */\n get(\n options?: ListNodeExtensionsParameters,\n ): StreamableMethod<ListNodeExtensions200Response | ListNodeExtensionsDefaultResponse>;\n}\n\nexport interface DeleteNodeFile {\n /** Deletes the specified file from the Compute Node. */\n delete(\n options?: DeleteNodeFileParameters,\n ): StreamableMethod<DeleteNodeFile200Response | DeleteNodeFileDefaultResponse>;\n /** Returns the content of the specified Compute Node file. */\n get(\n options?: GetNodeFileParameters,\n ): StreamableMethod<GetNodeFile200Response | GetNodeFileDefaultResponse>;\n /** Gets the properties of the specified Compute Node file. */\n head(\n options?: GetNodeFilePropertiesParameters,\n ): StreamableMethod<GetNodeFileProperties200Response | GetNodeFilePropertiesDefaultResponse>;\n}\n\nexport interface ListNodeFiles {\n /** Lists all of the files in Task directories on the specified Compute Node. */\n get(\n options?: ListNodeFilesParameters,\n ): StreamableMethod<ListNodeFiles200Response | ListNodeFilesDefaultResponse>;\n}\n\nexport interface Routes {\n /** Resource for '/applications' has methods for the following verbs: get */\n (path: \"/applications\"): ListApplications;\n /** Resource for '/applications/\\{applicationId\\}' has methods for the following verbs: get */\n (path: \"/applications/{applicationId}\", applicationId: string): GetApplication;\n /** Resource for '/poolusagemetrics' has methods for the following verbs: get */\n (path: \"/poolusagemetrics\"): ListPoolUsageMetrics;\n /** Resource for '/pools' has methods for the following verbs: post, get */\n (path: \"/pools\"): CreatePool;\n /** Resource for '/pools/\\{poolId\\}' has methods for the following verbs: delete, head, get, patch */\n (path: \"/pools/{poolId}\", poolId: string): DeletePool;\n /** Resource for '/pools/\\{poolId\\}/disableautoscale' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/disableautoscale\", poolId: string): DisablePoolAutoScale;\n /** Resource for '/pools/\\{poolId\\}/enableautoscale' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/enableautoscale\", poolId: string): EnablePoolAutoScale;\n /** Resource for '/pools/\\{poolId\\}/evaluateautoscale' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/evaluateautoscale\", poolId: string): EvaluatePoolAutoScale;\n /** Resource for '/pools/\\{poolId\\}/resize' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/resize\", poolId: string): ResizePool;\n /** Resource for '/pools/\\{poolId\\}/stopresize' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/stopresize\", poolId: string): StopPoolResize;\n /** Resource for '/pools/\\{poolId\\}/updateproperties' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/updateproperties\", poolId: string): ReplacePoolProperties;\n /** Resource for '/pools/\\{poolId\\}/removenodes' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/removenodes\", poolId: string): RemoveNodes;\n /** Resource for '/supportedimages' has methods for the following verbs: get */\n (path: \"/supportedimages\"): ListSupportedImages;\n /** Resource for '/nodecounts' has methods for the following verbs: get */\n (path: \"/nodecounts\"): ListPoolNodeCounts;\n /** Resource for '/jobs/\\{jobId\\}' has methods for the following verbs: delete, get, patch, put */\n (path: \"/jobs/{jobId}\", jobId: string): DeleteJob;\n /** Resource for '/jobs/\\{jobId\\}/disable' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/disable\", jobId: string): DisableJob;\n /** Resource for '/jobs/\\{jobId\\}/enable' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/enable\", jobId: string): EnableJob;\n /** Resource for '/jobs/\\{jobId\\}/terminate' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/terminate\", jobId: string): TerminateJob;\n /** Resource for '/jobs' has methods for the following verbs: post, get */\n (path: \"/jobs\"): CreateJob;\n /** Resource for '/jobschedules/\\{jobScheduleId\\}/jobs' has methods for the following verbs: get */\n (path: \"/jobschedules/{jobScheduleId}/jobs\", jobScheduleId: string): ListJobsFromSchedule;\n /** Resource for '/jobs/\\{jobId\\}/jobpreparationandreleasetaskstatus' has methods for the following verbs: get */\n (\n path: \"/jobs/{jobId}/jobpreparationandreleasetaskstatus\",\n jobId: string,\n ): ListJobPreparationAndReleaseTaskStatus;\n /** Resource for '/jobs/\\{jobId\\}/taskcounts' has methods for the following verbs: get */\n (path: \"/jobs/{jobId}/taskcounts\", jobId: string): GetJobTaskCounts;\n /** Resource for '/certificates' has methods for the following verbs: post, get */\n (path: \"/certificates\"): CreateCertificate;\n /** Resource for '/certificates(thumbprintAlgorithm=\\{thumbprintAlgorithm\\},thumbprint=\\{thumbprint\\})/canceldelete' has methods for the following verbs: post */\n (\n path: \"/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete\",\n thumbprintAlgorithm: string,\n thumbprint: string,\n ): CancelCertificateDeletion;\n /** Resource for '/certificates(thumbprintAlgorithm=\\{thumbprintAlgorithm\\},thumbprint=\\{thumbprint\\})' has methods for the following verbs: delete, get */\n (\n path: \"/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})\",\n thumbprintAlgorithm: string,\n thumbprint: string,\n ): DeleteCertificate;\n /** Resource for '/jobschedules/\\{jobScheduleId\\}' has methods for the following verbs: head, delete, get, patch, put */\n (path: \"/jobschedules/{jobScheduleId}\", jobScheduleId: string): JobScheduleExists;\n /** Resource for '/jobschedules/\\{jobScheduleId\\}/disable' has methods for the following verbs: post */\n (path: \"/jobschedules/{jobScheduleId}/disable\", jobScheduleId: string): DisableJobSchedule;\n /** Resource for '/jobschedules/\\{jobScheduleId\\}/enable' has methods for the following verbs: post */\n (path: \"/jobschedules/{jobScheduleId}/enable\", jobScheduleId: string): EnableJobSchedule;\n /** Resource for '/jobschedules/\\{jobScheduleId\\}/terminate' has methods for the following verbs: post */\n (path: \"/jobschedules/{jobScheduleId}/terminate\", jobScheduleId: string): TerminateJobSchedule;\n /** Resource for '/jobschedules' has methods for the following verbs: post, get */\n (path: \"/jobschedules\"): CreateJobSchedule;\n /** Resource for '/jobs/\\{jobId\\}/tasks' has methods for the following verbs: post, get */\n (path: \"/jobs/{jobId}/tasks\", jobId: string): CreateTask;\n /** Resource for '/jobs/\\{jobId\\}/addtaskcollection' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/addtaskcollection\", jobId: string): CreateTaskCollection;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}' has methods for the following verbs: delete, get, put */\n (path: \"/jobs/{jobId}/tasks/{taskId}\", jobId: string, taskId: string): DeleteTask;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}/subtasksinfo' has methods for the following verbs: get */\n (path: \"/jobs/{jobId}/tasks/{taskId}/subtasksinfo\", jobId: string, taskId: string): ListSubTasks;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}/terminate' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/tasks/{taskId}/terminate\", jobId: string, taskId: string): TerminateTask;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}/reactivate' has methods for the following verbs: post */\n (path: \"/jobs/{jobId}/tasks/{taskId}/reactivate\", jobId: string, taskId: string): ReactivateTask;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}/files/\\{filePath\\}' has methods for the following verbs: delete, get, head */\n (\n path: \"/jobs/{jobId}/tasks/{taskId}/files/{filePath}\",\n jobId: string,\n taskId: string,\n filePath: string,\n ): DeleteTaskFile;\n /** Resource for '/jobs/\\{jobId\\}/tasks/\\{taskId\\}/files' has methods for the following verbs: get */\n (path: \"/jobs/{jobId}/tasks/{taskId}/files\", jobId: string, taskId: string): ListTaskFiles;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/users' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/nodes/{nodeId}/users\", poolId: string, nodeId: string): CreateNodeUser;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/users/\\{userName\\}' has methods for the following verbs: delete, put */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/users/{userName}\",\n poolId: string,\n nodeId: string,\n userName: string,\n ): DeleteNodeUser;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}' has methods for the following verbs: get */\n (path: \"/pools/{poolId}/nodes/{nodeId}\", poolId: string, nodeId: string): GetNode;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/reboot' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/nodes/{nodeId}/reboot\", poolId: string, nodeId: string): RebootNode;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/start' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/nodes/{nodeId}/start\", poolId: string, nodeId: string): StartNode;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/deallocate' has methods for the following verbs: post */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/deallocate\",\n poolId: string,\n nodeId: string,\n ): DeallocateNode;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/reimage' has methods for the following verbs: post */\n (path: \"/pools/{poolId}/nodes/{nodeId}/reimage\", poolId: string, nodeId: string): ReimageNode;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/disablescheduling' has methods for the following verbs: post */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/disablescheduling\",\n poolId: string,\n nodeId: string,\n ): DisableNodeScheduling;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/enablescheduling' has methods for the following verbs: post */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/enablescheduling\",\n poolId: string,\n nodeId: string,\n ): EnableNodeScheduling;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/remoteloginsettings' has methods for the following verbs: get */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/remoteloginsettings\",\n poolId: string,\n nodeId: string,\n ): GetNodeRemoteLoginSettings;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/uploadbatchservicelogs' has methods for the following verbs: post */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs\",\n poolId: string,\n nodeId: string,\n ): UploadNodeLogs;\n /** Resource for '/pools/\\{poolId\\}/nodes' has methods for the following verbs: get */\n (path: \"/pools/{poolId}/nodes\", poolId: string): ListNodes;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/extensions/\\{extensionName\\}' has methods for the following verbs: get */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/extensions/{extensionName}\",\n poolId: string,\n nodeId: string,\n extensionName: string,\n ): GetNodeExtension;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/extensions' has methods for the following verbs: get */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/extensions\",\n poolId: string,\n nodeId: string,\n ): ListNodeExtensions;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/files/\\{filePath\\}' has methods for the following verbs: delete, get, head */\n (\n path: \"/pools/{poolId}/nodes/{nodeId}/files/{filePath}\",\n poolId: string,\n nodeId: string,\n filePath: string,\n ): DeleteNodeFile;\n /** Resource for '/pools/\\{poolId\\}/nodes/\\{nodeId\\}/files' has methods for the following verbs: get */\n (path: \"/pools/{poolId}/nodes/{nodeId}/files\", poolId: string, nodeId: string): ListNodeFiles;\n}\n\nexport type BatchClient = Client & {\n path: Routes;\n};\n"]}
@@ -1,4 +1,4 @@
1
1
  import { type AzureNamedKeyCredential } from "@azure/core-auth";
2
- import { PipelinePolicy } from "@azure/core-rest-pipeline";
2
+ import type { PipelinePolicy } from "@azure/core-rest-pipeline";
3
3
  export declare function createBatchSharedKeyCredentialsPolicy(credentials: AzureNamedKeyCredential): PipelinePolicy;
4
4
  //# sourceMappingURL=batchSharedKeyCredentials.d.ts.map
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  import { createHmac } from "crypto";
4
4
  export function createBatchSharedKeyCredentialsPolicy(
5
5
  // eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters
@@ -45,8 +45,7 @@ credentials) {
45
45
  * @returns The header value
46
46
  */
47
47
  function getHeaderToAppend(headers, headerName) {
48
- var _a;
49
- return ((_a = headers.get(headerName)) !== null && _a !== void 0 ? _a : "") + "\n";
48
+ return (headers.get(headerName) ?? "") + "\n";
50
49
  }
51
50
  /**
52
51
  * Get content length
@@ -1 +1 @@
1
- {"version":3,"file":"batchSharedKeyCredentials.js","sourceRoot":"","sources":["../../../src/credentials/batchSharedKeyCredentials.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { type AzureNamedKeyCredential } from \"@azure/core-auth\";\nimport { HttpHeaders, HttpMethods, PipelinePolicy } from \"@azure/core-rest-pipeline\";\nimport { createHmac } from \"crypto\";\n\nexport function createBatchSharedKeyCredentialsPolicy(\n // eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters\n credentials: AzureNamedKeyCredential,\n): PipelinePolicy {\n return {\n name: \"BatchSharedKeyCredentialsPolicy\",\n async sendRequest(request, next) {\n const accountName = credentials.name;\n const accountKey = Buffer.from(credentials.key, \"base64\");\n\n const ocpDate = request.headers.get(\"ocp-date\");\n if (!ocpDate) {\n request.headers.set(\"ocp-date\", new Date().toUTCString());\n }\n\n let stringToSign =\n `${request.method}\\n` +\n getHeaderToAppend(request.headers, \"Content-Encoding\") +\n getHeaderToAppend(request.headers, \"Content-Language\") +\n getContentLengthToAppend(request.headers, request.method, request.body) +\n getHeaderToAppend(request.headers, \"Content-MD5\") +\n getHeaderToAppend(request.headers, \"Content-Type\") +\n getHeaderToAppend(request.headers, \"Date\") +\n getHeaderToAppend(request.headers, \"If-Modified-Since\") +\n getHeaderToAppend(request.headers, \"If-Match\") +\n getHeaderToAppend(request.headers, \"If-None-Match\") +\n getHeaderToAppend(request.headers, \"If-Unmodified-Since\") +\n getHeaderToAppend(request.headers, \"Range\");\n\n // Add canonicalized headers\n stringToSign += getCanonicalizedHeaders(request.headers);\n\n // Add canonicalized resource\n stringToSign += getCanonicalizedResource(request.url, accountName);\n\n // Signed with sha256\n const signature = createHmac(\"sha256\", accountKey)\n .update(stringToSign, \"utf8\")\n .digest(\"base64\");\n\n request.headers.set(\"Authorization\", `SharedKey ${accountName}:${signature}`);\n return next(request);\n },\n };\n}\n\n/**\n * Get header value, if header without value, append a newline\n * @param headers - The pipeline headers object.\n * @param headerName - The header name\n * @returns The header value\n */\nfunction getHeaderToAppend(headers: HttpHeaders, headerName: string): string {\n return (headers.get(headerName) ?? \"\") + \"\\n\";\n}\n\n/**\n * Get content length\n * @param headers - The pipeline headers object.\n * @param method - The HTTP method\n * @param body - The request body\n * @returns The content length\n */\nfunction getContentLengthToAppend(headers: HttpHeaders, method: HttpMethods, body?: any): string {\n const contentLength = headers.get(\"Content-Length\");\n\n if (contentLength) {\n return contentLength + \"\\n\";\n }\n\n if (body) {\n return Buffer.byteLength(body) + \"\\n\";\n }\n\n // For POST verb, add 0 content-length\n if (method === \"POST\") {\n return \"0\\n\";\n }\n\n return \"\\n\";\n}\n/**\n * Constructs the Canonicalized Headers string.\n * To construct the CanonicalizedHeaders portion of the signature string,\n * follow these steps: 1. Retrieve all headers for the resource that begin\n * with ocp-, including the ocp-date header. 2. Convert each HTTP header\n * name to lowercase. 3. Sort the headers lexicographically by header name,\n * in ascending order. Each header may appear only once in the\n * string. 4. Unfold the string by replacing any breaking white space with a\n * single space. 5. Trim any white space around the colon in the header. 6.\n * Finally, append a new line character to each canonicalized header in the\n * resulting list. Construct the CanonicalizedHeaders string by\n * concatenating all headers in this list into a single string.\n *\n * @param headers - The pipeline headers object.\n * @returns The canonicalized headers.\n */\nfunction getCanonicalizedHeaders(headers: HttpHeaders): string {\n let canonicalizedHeaders = \"\";\n const canonicalizedHeadersArray = [];\n\n for (const [key] of headers) {\n const lowerCaseKey = key.toLocaleLowerCase();\n if (lowerCaseKey.startsWith(\"ocp-\")) {\n canonicalizedHeadersArray.push(lowerCaseKey);\n }\n }\n\n canonicalizedHeadersArray.sort();\n for (const currentHeader of canonicalizedHeadersArray) {\n const headerValue = headers.get(currentHeader);\n if (headerValue) {\n canonicalizedHeaders += currentHeader.toLowerCase() + \":\" + headerValue + \"\\n\";\n }\n }\n return canonicalizedHeaders;\n}\n\n/**\n * Retrieves the header's canonicalized resource string.\n * @param url - The URL of the resource.\n * @param accountName - The batch account name.\n * @returns The canonicalized resource string.\n */\nfunction getCanonicalizedResource(url: string, accountName: string): string {\n let path = \"/\";\n const urlstring = new URL(url);\n if (urlstring.pathname) {\n path = urlstring.pathname;\n }\n\n let canonicalizedResource = \"/\" + accountName + path;\n\n const queryString = urlstring.searchParams;\n const sortedQueryString = [...queryString.entries()].sort();\n for (const [key, value] of sortedQueryString) {\n canonicalizedResource += `\\n${key}:${value}`;\n }\n return canonicalizedResource;\n}\n"]}
1
+ {"version":3,"file":"batchSharedKeyCredentials.js","sourceRoot":"","sources":["../../../src/credentials/batchSharedKeyCredentials.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { type AzureNamedKeyCredential } from \"@azure/core-auth\";\nimport type { HttpHeaders, HttpMethods, PipelinePolicy } from \"@azure/core-rest-pipeline\";\nimport { createHmac } from \"crypto\";\n\nexport function createBatchSharedKeyCredentialsPolicy(\n // eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters\n credentials: AzureNamedKeyCredential,\n): PipelinePolicy {\n return {\n name: \"BatchSharedKeyCredentialsPolicy\",\n async sendRequest(request, next) {\n const accountName = credentials.name;\n const accountKey = Buffer.from(credentials.key, \"base64\");\n\n const ocpDate = request.headers.get(\"ocp-date\");\n if (!ocpDate) {\n request.headers.set(\"ocp-date\", new Date().toUTCString());\n }\n\n let stringToSign =\n `${request.method}\\n` +\n getHeaderToAppend(request.headers, \"Content-Encoding\") +\n getHeaderToAppend(request.headers, \"Content-Language\") +\n getContentLengthToAppend(request.headers, request.method, request.body) +\n getHeaderToAppend(request.headers, \"Content-MD5\") +\n getHeaderToAppend(request.headers, \"Content-Type\") +\n getHeaderToAppend(request.headers, \"Date\") +\n getHeaderToAppend(request.headers, \"If-Modified-Since\") +\n getHeaderToAppend(request.headers, \"If-Match\") +\n getHeaderToAppend(request.headers, \"If-None-Match\") +\n getHeaderToAppend(request.headers, \"If-Unmodified-Since\") +\n getHeaderToAppend(request.headers, \"Range\");\n\n // Add canonicalized headers\n stringToSign += getCanonicalizedHeaders(request.headers);\n\n // Add canonicalized resource\n stringToSign += getCanonicalizedResource(request.url, accountName);\n\n // Signed with sha256\n const signature = createHmac(\"sha256\", accountKey)\n .update(stringToSign, \"utf8\")\n .digest(\"base64\");\n\n request.headers.set(\"Authorization\", `SharedKey ${accountName}:${signature}`);\n return next(request);\n },\n };\n}\n\n/**\n * Get header value, if header without value, append a newline\n * @param headers - The pipeline headers object.\n * @param headerName - The header name\n * @returns The header value\n */\nfunction getHeaderToAppend(headers: HttpHeaders, headerName: string): string {\n return (headers.get(headerName) ?? \"\") + \"\\n\";\n}\n\n/**\n * Get content length\n * @param headers - The pipeline headers object.\n * @param method - The HTTP method\n * @param body - The request body\n * @returns The content length\n */\nfunction getContentLengthToAppend(headers: HttpHeaders, method: HttpMethods, body?: any): string {\n const contentLength = headers.get(\"Content-Length\");\n\n if (contentLength) {\n return contentLength + \"\\n\";\n }\n\n if (body) {\n return Buffer.byteLength(body) + \"\\n\";\n }\n\n // For POST verb, add 0 content-length\n if (method === \"POST\") {\n return \"0\\n\";\n }\n\n return \"\\n\";\n}\n/**\n * Constructs the Canonicalized Headers string.\n * To construct the CanonicalizedHeaders portion of the signature string,\n * follow these steps: 1. Retrieve all headers for the resource that begin\n * with ocp-, including the ocp-date header. 2. Convert each HTTP header\n * name to lowercase. 3. Sort the headers lexicographically by header name,\n * in ascending order. Each header may appear only once in the\n * string. 4. Unfold the string by replacing any breaking white space with a\n * single space. 5. Trim any white space around the colon in the header. 6.\n * Finally, append a new line character to each canonicalized header in the\n * resulting list. Construct the CanonicalizedHeaders string by\n * concatenating all headers in this list into a single string.\n *\n * @param headers - The pipeline headers object.\n * @returns The canonicalized headers.\n */\nfunction getCanonicalizedHeaders(headers: HttpHeaders): string {\n let canonicalizedHeaders = \"\";\n const canonicalizedHeadersArray = [];\n\n for (const [key] of headers) {\n const lowerCaseKey = key.toLocaleLowerCase();\n if (lowerCaseKey.startsWith(\"ocp-\")) {\n canonicalizedHeadersArray.push(lowerCaseKey);\n }\n }\n\n canonicalizedHeadersArray.sort();\n for (const currentHeader of canonicalizedHeadersArray) {\n const headerValue = headers.get(currentHeader);\n if (headerValue) {\n canonicalizedHeaders += currentHeader.toLowerCase() + \":\" + headerValue + \"\\n\";\n }\n }\n return canonicalizedHeaders;\n}\n\n/**\n * Retrieves the header's canonicalized resource string.\n * @param url - The URL of the resource.\n * @param accountName - The batch account name.\n * @returns The canonicalized resource string.\n */\nfunction getCanonicalizedResource(url: string, accountName: string): string {\n let path = \"/\";\n const urlstring = new URL(url);\n if (urlstring.pathname) {\n path = urlstring.pathname;\n }\n\n let canonicalizedResource = \"/\" + accountName + path;\n\n const queryString = urlstring.searchParams;\n const sortedQueryString = [...queryString.entries()].sort();\n for (const [key, value] of sortedQueryString) {\n canonicalizedResource += `\\n${key}:${value}`;\n }\n return canonicalizedResource;\n}\n"]}
@@ -7,6 +7,5 @@ export * from "./isUnexpected.js";
7
7
  export * from "./models.js";
8
8
  export * from "./outputModels.js";
9
9
  export * from "./paginateHelper.js";
10
- export * from "./credentials/batchSharedKeyCredentials.js";
11
10
  export default BatchClient;
12
11
  //# sourceMappingURL=index.d.ts.map
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  import BatchClient from "./batchClient.js";
4
4
  export * from "./batchClient.js";
5
5
  export * from "./parameters.js";
@@ -9,6 +9,5 @@ export * from "./isUnexpected.js";
9
9
  export * from "./models.js";
10
10
  export * from "./outputModels.js";
11
11
  export * from "./paginateHelper.js";
12
- export * from "./credentials/batchSharedKeyCredentials.js";
13
12
  export default BatchClient;
14
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4CAA4C,CAAC;AAE3D,eAAe,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport BatchClient from \"./batchClient.js\";\n\nexport * from \"./batchClient.js\";\nexport * from \"./parameters.js\";\nexport * from \"./responses.js\";\nexport * from \"./clientDefinitions.js\";\nexport * from \"./isUnexpected.js\";\nexport * from \"./models.js\";\nexport * from \"./outputModels.js\";\nexport * from \"./paginateHelper.js\";\nexport * from \"./credentials/batchSharedKeyCredentials.js\";\n\nexport default BatchClient;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,eAAe,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport BatchClient from \"./batchClient.js\";\n\nexport * from \"./batchClient.js\";\nexport * from \"./parameters.js\";\nexport * from \"./responses.js\";\nexport * from \"./clientDefinitions.js\";\nexport * from \"./isUnexpected.js\";\nexport * from \"./models.js\";\nexport * from \"./outputModels.js\";\nexport * from \"./paginateHelper.js\";\n\nexport default BatchClient;\n"]}