@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,10 +1,10 @@
1
1
  /** Parameters for creating an Azure Batch Pool. */
2
- export interface BatchPoolCreateContent {
2
+ export interface BatchPoolCreateOptions {
3
3
  /** A string that uniquely identifies the Pool within the Account. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two Pool IDs within an Account that differ only by case). */
4
4
  id: string;
5
5
  /** The display name for the Pool. The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. */
6
6
  displayName?: string;
7
- /** The size of virtual machines in the Pool. All virtual machines in a Pool are the same size. For information about available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration), see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). */
7
+ /** The size of virtual machines in the Pool. All virtual machines in a Pool are the same size. For information about available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration), see Sizes for Virtual Machines in Azure (https://learn.microsoft.com/azure/virtual-machines/sizes/overview). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). */
8
8
  vmSize: string;
9
9
  /** The virtual machine configuration for the Pool. This property must be specified. */
10
10
  virtualMachineConfiguration?: VirtualMachineConfiguration;
@@ -18,7 +18,7 @@ export interface BatchPoolCreateContent {
18
18
  targetLowPriorityNodes?: number;
19
19
  /** Whether the Pool size should automatically adjust over time. If false, at least one of targetDedicatedNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the Pool automatically resizes according to the formula. The default value is false. */
20
20
  enableAutoScale?: boolean;
21
- /** A formula for the desired number of Compute Nodes in the Pool. This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale Compute Nodes in an Azure Batch Pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/). */
21
+ /** A formula for the desired number of Compute Nodes in the Pool. This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the Pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale Compute Nodes in an Azure Batch Pool' (https://learn.microsoft.com/azure/batch/batch-automatic-scaling). */
22
22
  autoScaleFormula?: string;
23
23
  /** The time interval at which to automatically adjust the Pool size according to the autoscale formula. The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
24
24
  autoScaleEvaluationInterval?: string;
@@ -28,6 +28,13 @@ export interface BatchPoolCreateContent {
28
28
  networkConfiguration?: NetworkConfiguration;
29
29
  /** A Task specified to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted. */
30
30
  startTask?: BatchStartTask;
31
+ /**
32
+ * For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location.
33
+ * For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location.
34
+ * For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.
35
+ * Warning: This property is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.
36
+ */
37
+ certificateReferences?: Array<BatchCertificateReference>;
31
38
  /** The list of Packages to be installed on each Compute Node in the Pool. When creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool. */
32
39
  applicationPackageReferences?: Array<BatchApplicationPackageReference>;
33
40
  /** The number of task slots that can be used to run concurrent tasks on a single compute node in the pool. The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256. */
@@ -37,10 +44,14 @@ export interface BatchPoolCreateContent {
37
44
  /** The list of user Accounts to be created on each Compute Node in the Pool. */
38
45
  userAccounts?: Array<UserAccount>;
39
46
  /** A list of name-value pairs associated with the Pool as metadata. The Batch service does not assign any meaning to metadata; it is solely for the use of user code. */
40
- metadata?: Array<MetadataItem>;
47
+ metadata?: Array<BatchMetadataItem>;
41
48
  /** Mount storage using specified file system for the entire lifetime of the pool. Mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system. */
42
49
  mountConfiguration?: Array<MountConfiguration>;
43
- /** The desired node communication mode for the pool. If omitted, the default value is Default. */
50
+ /**
51
+ * The desired node communication mode for the pool. If omitted, the default value is Default.
52
+ *
53
+ * Possible values: "default", "classic", "simplified"
54
+ */
44
55
  targetNodeCommunicationMode?: BatchNodeCommunicationMode;
45
56
  /** The upgrade policy for the Pool. Describes an upgrade policy - automatic, manual, or rolling. */
46
57
  upgradePolicy?: UpgradePolicy;
@@ -51,12 +62,12 @@ export interface BatchPoolCreateContent {
51
62
  */
52
63
  export interface VirtualMachineConfiguration {
53
64
  /** A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use. */
54
- imageReference: ImageReference;
65
+ imageReference: BatchVmImageReference;
55
66
  /** The SKU of the Batch Compute Node agent to be provisioned on Compute Nodes in the Pool. The Batch Compute Node agent is a program that runs on each Compute Node in the Pool, and provides the command-and-control interface between the Compute Node and the Batch service. There are different implementations of the Compute Node agent, known as SKUs, for different operating systems. You must specify a Compute Node agent SKU which matches the selected Image reference. To get the list of supported Compute Node agent SKUs along with their list of verified Image references, see the 'List supported Compute Node agent SKUs' operation. */
56
67
  nodeAgentSKUId: string;
57
68
  /** Windows operating system settings on the virtual machine. This property must not be specified if the imageReference property specifies a Linux OS Image. */
58
69
  windowsConfiguration?: WindowsConfiguration;
59
- /** The configuration for data disks attached to the Compute Nodes in the Pool. This property must be specified if the Compute Nodes in the Pool need to have empty data disks attached to them. This cannot be updated. Each Compute Node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the Compute Node is removed from the Pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine. */
70
+ /** The configuration for data disks attached to the Compute Nodes in the Pool. This property must be specified if the Compute Nodes in the Pool need to have empty data disks attached to them. This cannot be updated. Each Compute Node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the Compute Node is removed from the Pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://learn.microsoft.com/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://learn.microsoft.com/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine. */
60
71
  dataDisks?: Array<DataDisk>;
61
72
  /**
62
73
  * This only applies to Images that contain the Windows operating system, and
@@ -71,7 +82,7 @@ export interface VirtualMachineConfiguration {
71
82
  */
72
83
  licenseType?: string;
73
84
  /** The container configuration for the Pool. If specified, setup is performed on each Compute Node in the Pool to allow Tasks to run in containers. All regular Tasks and Job manager Tasks run on this Pool must specify the containerSettings property, and all other Tasks may specify it. */
74
- containerConfiguration?: ContainerConfiguration;
85
+ containerConfiguration?: BatchContainerConfiguration;
75
86
  /** The disk encryption configuration for the pool. If specified, encryption is performed on each node in the pool during node provisioning. */
76
87
  diskEncryptionConfiguration?: DiskEncryptionConfiguration;
77
88
  /** The node placement configuration for the pool. This configuration will specify rules on how nodes in the pool will be physically allocated. */
@@ -79,7 +90,7 @@ export interface VirtualMachineConfiguration {
79
90
  /** The virtual machine extension for the pool. If specified, the extensions mentioned in this configuration will be installed on each node. */
80
91
  extensions?: Array<VMExtension>;
81
92
  /** Settings for the operating system disk of the Virtual Machine. */
82
- osDisk?: OSDisk;
93
+ osDisk?: BatchOsDisk;
83
94
  /** Specifies the security profile settings for the virtual machine or virtual machine scale set. */
84
95
  securityProfile?: SecurityProfile;
85
96
  /** Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version. The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} */
@@ -90,7 +101,7 @@ export interface VirtualMachineConfiguration {
90
101
  * To get the list of all Azure Marketplace Image references verified by Azure Batch, see the
91
102
  * ' List Supported Images ' operation.
92
103
  */
93
- export interface ImageReference {
104
+ export interface BatchVmImageReference {
94
105
  /** The publisher of the Azure Virtual Machines Marketplace Image. For example, Canonical or MicrosoftWindowsServer. */
95
106
  publisher?: string;
96
107
  /** The offer type of the Azure Virtual Machines Marketplace Image. For example, UbuntuServer or WindowsServer. */
@@ -99,8 +110,12 @@ export interface ImageReference {
99
110
  sku?: string;
100
111
  /** The version of the Azure Virtual Machines Marketplace Image. A value of 'latest' can be specified to select the latest version of an Image. If omitted, the default is 'latest'. */
101
112
  version?: string;
102
- /** The ARM resource identifier of the Azure Compute Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{VersionId} or /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName} for always defaulting to the latest image version. This property is mutually exclusive with other ImageReference properties. The Azure Compute Gallery Image must have replicas in the same region and must be in the same subscription as the Azure Batch account. If the image version is not specified in the imageId, the latest version will be used. For information about the firewall settings for the Batch Compute Node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. */
113
+ /** The ARM resource identifier of the Azure Compute Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{VersionId} or /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName} for always defaulting to the latest image version. This property is mutually exclusive with other ImageReference properties. The Azure Compute Gallery Image must have replicas in the same region and must be in the same subscription as the Azure Batch account. If the image version is not specified in the imageId, the latest version will be used. For information about the firewall settings for the Batch Compute Node agent to communicate with the Batch service see https://learn.microsoft.com/azure/batch/nodes-and-pools#virtual-network-vnet-and-firewall-configuration. */
103
114
  virtualMachineImageId?: string;
115
+ /** The shared gallery image unique identifier. This property is mutually exclusive with other properties and can be fetched from shared gallery image GET call. */
116
+ sharedGalleryImageId?: string;
117
+ /** The community gallery image unique identifier. This property is mutually exclusive with other properties and can be fetched from community gallery image GET call. */
118
+ communityGalleryImageId?: string;
104
119
  }
105
120
  /** Windows operating system settings to apply to the virtual machine. */
106
121
  export interface WindowsConfiguration {
@@ -115,16 +130,28 @@ export interface WindowsConfiguration {
115
130
  export interface DataDisk {
116
131
  /** The logical unit number. The logicalUnitNumber is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct logicalUnitNumber. The value must be between 0 and 63, inclusive. */
117
132
  lun: number;
118
- /** The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. */
133
+ /**
134
+ * The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
135
+ *
136
+ * Possible values: "none", "readonly", "readwrite"
137
+ */
119
138
  caching?: CachingType;
120
139
  /** The initial disk size in gigabytes. */
121
140
  diskSizeGB: number;
122
- /** The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". */
141
+ /**
142
+ * The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs".
143
+ *
144
+ * Possible values: "standard_lrs", "premium_lrs", "standardssd_lrs"
145
+ */
123
146
  storageAccountType?: StorageAccountType;
124
147
  }
125
148
  /** The configuration for container-enabled Pools. */
126
- export interface ContainerConfiguration {
127
- /** The container technology to be used. */
149
+ export interface BatchContainerConfiguration {
150
+ /**
151
+ * The container technology to be used.
152
+ *
153
+ * Possible values: "dockerCompatible", "criCompatible"
154
+ */
128
155
  type: ContainerType;
129
156
  /** The collection of container Image names. This is the full Image reference, as would be specified to "docker pull". An Image will be sourced from the default Docker registry unless the Image is fully qualified with an alternative registry. */
130
157
  containerImageNames?: string[];
@@ -156,7 +183,7 @@ export interface BatchNodeIdentityReference {
156
183
  * Azure Compute Gallery Image.
157
184
  */
158
185
  export interface DiskEncryptionConfiguration {
159
- /** The list of disk targets Batch Service will encrypt on the compute node. If omitted, no disks on the compute nodes in the pool will be encrypted. On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified. */
186
+ /** The list of disk targets Batch Service will encrypt on the compute node. The list of disk targets Batch Service will encrypt on the compute node. */
160
187
  targets?: DiskEncryptionTarget[];
161
188
  }
162
189
  /**
@@ -165,7 +192,11 @@ export interface DiskEncryptionConfiguration {
165
192
  * with best effort balancing.
166
193
  */
167
194
  export interface BatchNodePlacementConfiguration {
168
- /** Node placement Policy type on Batch Pools. Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy. */
195
+ /**
196
+ * Node placement Policy type on Batch Pools. Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy.
197
+ *
198
+ * Possible values: "regional", "zonal"
199
+ */
169
200
  policy?: BatchNodePlacementPolicyType;
170
201
  }
171
202
  /** The configuration for virtual machine extensions. */
@@ -190,10 +221,14 @@ export interface VMExtension {
190
221
  provisionAfterExtensions?: string[];
191
222
  }
192
223
  /** Settings for the operating system disk of the compute node (VM). */
193
- export interface OSDisk {
224
+ export interface BatchOsDisk {
194
225
  /** Specifies the ephemeral Disk Settings for the operating system disk used by the compute node (VM). */
195
- ephemeralOSDiskSettings?: DiffDiskSettings;
196
- /** Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The default values are: None for Standard storage. ReadOnly for Premium storage. */
226
+ ephemeralOSDiskSettings?: BatchDiffDiskSettings;
227
+ /**
228
+ * Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The default values are: None for Standard storage. ReadOnly for Premium storage.
229
+ *
230
+ * Possible values: "none", "readonly", "readwrite"
231
+ */
197
232
  caching?: CachingType;
198
233
  /** The initial disk size in GB when creating new OS disk. */
199
234
  diskSizeGB?: number;
@@ -206,26 +241,49 @@ export interface OSDisk {
206
241
  * Specifies the ephemeral Disk Settings for the operating system disk used by the
207
242
  * compute node (VM).
208
243
  */
209
- export interface DiffDiskSettings {
210
- /** Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose the location e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. */
244
+ export interface BatchDiffDiskSettings {
245
+ /**
246
+ * Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose the location e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://learn.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://learn.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.
247
+ *
248
+ * Possible values: "cachedisk"
249
+ */
211
250
  placement?: DiffDiskPlacement;
212
251
  }
213
252
  /** The managed disk parameters. */
214
253
  export interface ManagedDisk {
215
- /** The storage account type for managed disk. */
216
- storageAccountType: StorageAccountType;
254
+ /**
255
+ * The storage account type for managed disk.
256
+ *
257
+ * Possible values: "standard_lrs", "premium_lrs", "standardssd_lrs"
258
+ */
259
+ storageAccountType?: StorageAccountType;
260
+ /** Specifies the security profile settings for the managed disk. */
261
+ securityProfile?: BatchVmDiskSecurityProfile;
262
+ }
263
+ /** Specifies the security profile settings for the managed disk. **Note**: It can only be set for Confidential VMs and required when using Confidential VMs. */
264
+ export interface BatchVmDiskSecurityProfile {
265
+ /**
266
+ * Specifies the EncryptionType of the managed disk. It is set to VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the VMGuestState blob. **Note**: It can be set for only Confidential VMs and is required when using Confidential VMs.
267
+ *
268
+ * Possible values: "NonPersistedTPM", "VMGuestStateOnly"
269
+ */
270
+ securityEncryptionType?: SecurityEncryptionTypes;
217
271
  }
218
272
  /** Specifies the security profile settings for the virtual machine or virtual machine scale set. */
219
273
  export interface SecurityProfile {
220
- /** This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. */
221
- encryptionAtHost: boolean;
222
- /** Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. */
223
- securityType: SecurityTypes;
274
+ /** This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. For more information on encryption at host requirements, please refer to https://learn.microsoft.com/azure/virtual-machines/disk-encryption#supported-vm-sizes. */
275
+ encryptionAtHost?: boolean;
276
+ /**
277
+ * Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings.
278
+ *
279
+ * Possible values: "trustedLaunch", "confidentialVM"
280
+ */
281
+ securityType?: SecurityTypes;
224
282
  /** Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Specifies the security settings like secure boot and vTPM used while creating the virtual machine. */
225
- uefiSettings: UefiSettings;
283
+ uefiSettings?: BatchUefiSettings;
226
284
  }
227
285
  /** Specifies the security settings like secure boot and vTPM used while creating the virtual machine. */
228
- export interface UefiSettings {
286
+ export interface BatchUefiSettings {
229
287
  /** Specifies whether secure boot should be enabled on the virtual machine. */
230
288
  secureBootEnabled?: boolean;
231
289
  /** Specifies whether vTPM should be enabled on the virtual machine. */
@@ -241,32 +299,40 @@ export interface ServiceArtifactReference {
241
299
  }
242
300
  /** The network configuration for a Pool. */
243
301
  export interface NetworkConfiguration {
244
- /** The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. For Pools created with virtualMachineConfiguration only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For Pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. */
302
+ /** The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. Only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication, including ports 29876 and 29877. Also enable outbound connections to Azure Storage on port 443. For more details see: https://learn.microsoft.com/azure/batch/nodes-and-pools#virtual-network-vnet-and-firewall-configuration */
245
303
  subnetId?: string;
246
- /** The scope of dynamic vnet assignment. */
304
+ /**
305
+ * The scope of dynamic vnet assignment.
306
+ *
307
+ * Possible values: "none", "job"
308
+ */
247
309
  dynamicVNetAssignmentScope?: DynamicVNetAssignmentScope;
248
- /** The configuration for endpoints on Compute Nodes in the Batch Pool. Pool endpoint configuration is only supported on Pools with the virtualMachineConfiguration property. */
310
+ /** The configuration for endpoints on Compute Nodes in the Batch Pool. */
249
311
  endpointConfiguration?: BatchPoolEndpointConfiguration;
250
- /** The Public IPAddress configuration for Compute Nodes in the Batch Pool. Public IP configuration property is only supported on Pools with the virtualMachineConfiguration property. */
251
- publicIPAddressConfiguration?: PublicIpAddressConfiguration;
312
+ /** The Public IPAddress configuration for Compute Nodes in the Batch Pool. */
313
+ publicIPAddressConfiguration?: BatchPublicIpAddressConfiguration;
252
314
  /** Whether this pool should enable accelerated networking. Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, which may lead to improved networking performance. For more details, see: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview. */
253
315
  enableAcceleratedNetworking?: boolean;
254
316
  }
255
317
  /** The endpoint configuration for a Pool. */
256
318
  export interface BatchPoolEndpointConfiguration {
257
319
  /** A list of inbound NAT Pools that can be used to address specific ports on an individual Compute Node externally. The maximum number of inbound NAT Pools per Batch Pool is 5. If the maximum number of inbound NAT Pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses. */
258
- inboundNATPools: Array<InboundNatPool>;
320
+ inboundNATPools: Array<BatchInboundNatPool>;
259
321
  }
260
322
  /**
261
323
  * A inbound NAT Pool that can be used to address specific ports on Compute Nodes
262
324
  * in a Batch Pool externally.
263
325
  */
264
- export interface InboundNatPool {
326
+ export interface BatchInboundNatPool {
265
327
  /** The name of the endpoint. The name must be unique within a Batch Pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400. */
266
328
  name: string;
267
- /** The protocol of the endpoint. */
329
+ /**
330
+ * The protocol of the endpoint.
331
+ *
332
+ * Possible values: "tcp", "udp"
333
+ */
268
334
  protocol: InboundEndpointProtocol;
269
- /** The port number on the Compute Node. This must be unique within a Batch Pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400. */
335
+ /** The port number on the Compute Node. This must be unique within a Batch Pool. Acceptable values are between 1 and 65535 except for 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400. */
270
336
  backendPort: number;
271
337
  /** The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual Compute Nodes. Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a Pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400. */
272
338
  frontendPortRangeStart: number;
@@ -279,7 +345,11 @@ export interface InboundNatPool {
279
345
  export interface NetworkSecurityGroupRule {
280
346
  /** The priority for this rule. Priorities within a Pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400. */
281
347
  priority: number;
282
- /** The action that should be taken for a specified IP address, subnet range or tag. */
348
+ /**
349
+ * The action that should be taken for a specified IP address, subnet range or tag.
350
+ *
351
+ * Possible values: "allow", "deny"
352
+ */
283
353
  access: NetworkSecurityGroupRuleAccess;
284
354
  /** The source address prefix or tag to match for the rule. Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400. */
285
355
  sourceAddressPrefix: string;
@@ -287,8 +357,12 @@ export interface NetworkSecurityGroupRule {
287
357
  sourcePortRanges?: string[];
288
358
  }
289
359
  /** The public IP Address configuration of the networking configuration of a Pool. */
290
- export interface PublicIpAddressConfiguration {
291
- /** The provisioning type for Public IP Addresses for the Pool. The default value is BatchManaged. */
360
+ export interface BatchPublicIpAddressConfiguration {
361
+ /**
362
+ * The provisioning type for Public IP Addresses for the Pool. The default value is BatchManaged.
363
+ *
364
+ * Possible values: "batchmanaged", "usermanaged", "nopublicipaddresses"
365
+ */
292
366
  provision?: IpAddressProvisioningType;
293
367
  /** The list of public IPs which the Batch service will use when provisioning Compute Nodes. The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 Spot/Low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. */
294
368
  ipAddressIds?: string[];
@@ -309,7 +383,7 @@ export interface PublicIpAddressConfiguration {
309
383
  * block Batch from being able to re-run the StartTask.
310
384
  */
311
385
  export interface BatchStartTask {
312
- /** The command line of the StartTask. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
386
+ /** The command line of the StartTask. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). */
313
387
  commandLine: string;
314
388
  /** The settings for the container under which the StartTask runs. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files. */
315
389
  containerSettings?: BatchTaskContainerSettings;
@@ -332,8 +406,25 @@ export interface BatchTaskContainerSettings {
332
406
  imageName: string;
333
407
  /** The private registry which contains the container Image. This setting can be omitted if was already provided at Pool creation. */
334
408
  registry?: ContainerRegistryReference;
335
- /** The location of the container Task working directory. The default is 'taskWorkingDirectory'. */
409
+ /**
410
+ * The location of the container Task working directory. The default is 'taskWorkingDirectory'.
411
+ *
412
+ * Possible values: "taskWorkingDirectory", "containerImageDefault"
413
+ */
336
414
  workingDirectory?: ContainerWorkingDirectory;
415
+ /** The paths you want to mounted to container task. If this array is null or be not present, container task will mount entire temporary disk drive in windows (or AZ_BATCH_NODE_ROOT_DIR in Linux). It won't' mount any data paths into container if this array is set as empty. */
416
+ containerHostBatchBindMounts?: Array<ContainerHostBatchBindMountEntry>;
417
+ }
418
+ /** The entry of path and mount mode you want to mount into task container. */
419
+ export interface ContainerHostBatchBindMountEntry {
420
+ /**
421
+ * The path which be mounted to container customer can select.
422
+ *
423
+ * Possible values: "Shared", "Startup", "VfsMounts", "Task", "JobPrep", "Applications"
424
+ */
425
+ source?: ContainerHostDataPath;
426
+ /** Mount this source path as read-only mode or not. Default value is false (read/write mode). For Linux, if you mount this path as a read/write mode, this does not mean that all users in container have the read/write access for the path, it depends on the access in host VM. If this path is mounted read-only, all users within the container will not be able to modify the path. */
427
+ isReadOnly?: boolean;
337
428
  }
338
429
  /** A single file or multiple files to be downloaded to a Compute Node. */
339
430
  export interface ResourceFile {
@@ -368,11 +459,36 @@ export interface UserIdentity {
368
459
  }
369
460
  /** Specifies the options for the auto user that runs an Azure Batch Task. */
370
461
  export interface AutoUserSpecification {
371
- /** The scope for the auto user. The default value is pool. If the pool is running Windows, a value of Task should be specified if stricter isolation between tasks is required, such as if the task mutates the registry in a way which could impact other tasks. */
462
+ /**
463
+ * The scope for the auto user. The default value is pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by StartTasks.
464
+ *
465
+ * Possible values: "task", "pool"
466
+ */
372
467
  scope?: AutoUserScope;
373
- /** The elevation level of the auto user. The default value is nonAdmin. */
468
+ /**
469
+ * The elevation level of the auto user. The default value is nonAdmin.
470
+ *
471
+ * Possible values: "nonadmin", "admin"
472
+ */
374
473
  elevationLevel?: ElevationLevel;
375
474
  }
475
+ /** A reference to a Certificate to be installed on Compute Nodes in a Pool. Warning: This object is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead. */
476
+ export interface BatchCertificateReference {
477
+ /** The thumbprint of the Certificate. */
478
+ thumbprint: string;
479
+ /** The algorithm with which the thumbprint is associated. This must be sha1. */
480
+ thumbprintAlgorithm: string;
481
+ /**
482
+ * The location of the Certificate store on the Compute Node into which to install the Certificate. The default value is currentuser. This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.
483
+ *
484
+ * Possible values: "currentuser", "localmachine"
485
+ */
486
+ storeLocation?: BatchCertificateStoreLocation;
487
+ /** The name of the Certificate store on the Compute Node into which to install the Certificate. This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My. */
488
+ storeName?: string;
489
+ /** Which user Accounts on the Compute Node should have access to the private data of the Certificate. You can specify more than one visibility in this collection. The default is all Accounts. */
490
+ visibility?: BatchCertificateVisibility[];
491
+ }
376
492
  /** A reference to an Package to be deployed to Compute Nodes. */
377
493
  export interface BatchApplicationPackageReference {
378
494
  /** The ID of the application to deploy. When creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). */
@@ -382,7 +498,11 @@ export interface BatchApplicationPackageReference {
382
498
  }
383
499
  /** Specifies how Tasks should be distributed across Compute Nodes. */
384
500
  export interface BatchTaskSchedulingPolicy {
385
- /** How Tasks are distributed across Compute Nodes in a Pool. If not specified, the default is spread. */
501
+ /**
502
+ * How Tasks are distributed across Compute Nodes in a Pool. If not specified, the default is spread.
503
+ *
504
+ * Possible values: "spread", "pack"
505
+ */
386
506
  nodeFillType: BatchNodeFillType;
387
507
  }
388
508
  /**
@@ -394,7 +514,11 @@ export interface UserAccount {
394
514
  name: string;
395
515
  /** The password for the user Account. */
396
516
  password: string;
397
- /** The elevation level of the user Account. The default value is nonAdmin. */
517
+ /**
518
+ * The elevation level of the user Account. The default value is nonAdmin.
519
+ *
520
+ * Possible values: "nonadmin", "admin"
521
+ */
398
522
  elevationLevel?: ElevationLevel;
399
523
  /** The Linux-specific user configuration for the user Account. This property is ignored if specified on a Windows Pool. If not specified, the user is created with the default options. */
400
524
  linuxUserConfiguration?: LinuxUserConfiguration;
@@ -412,14 +536,18 @@ export interface LinuxUserConfiguration {
412
536
  }
413
537
  /** Properties used to create a user Account on a Windows Compute Node. */
414
538
  export interface WindowsUserConfiguration {
415
- /** The login mode for the user. The default value for VirtualMachineConfiguration Pools is 'batch'. */
539
+ /**
540
+ * The login mode for the user. The default is 'batch'.
541
+ *
542
+ * Possible values: "batch", "interactive"
543
+ */
416
544
  loginMode?: LoginMode;
417
545
  }
418
546
  /**
419
547
  * The Batch service does not assign any meaning to this metadata; it is solely
420
548
  * for the use of user code.
421
549
  */
422
- export interface MetadataItem {
550
+ export interface BatchMetadataItem {
423
551
  /** The name of the metadata item. */
424
552
  name: string;
425
553
  /** The value of the metadata item. */
@@ -479,10 +607,10 @@ export interface CifsMountConfiguration {
479
607
  export interface AzureFileShareConfiguration {
480
608
  /** The Azure Storage account name. */
481
609
  accountName: string;
482
- /** The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'. */
483
- azureFileUrl: string;
484
610
  /** The Azure Storage account key. */
485
611
  accountKey: string;
612
+ /** The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'. */
613
+ azureFileUrl: string;
486
614
  /** The relative path on the compute node where the file system will be mounted. All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. */
487
615
  relativeMountPath: string;
488
616
  /** Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux. */
@@ -490,18 +618,22 @@ export interface AzureFileShareConfiguration {
490
618
  }
491
619
  /** Describes an upgrade policy - automatic, manual, or rolling. */
492
620
  export interface UpgradePolicy {
493
- /** Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time.<br /><br /> **Rolling** - Scale set performs updates in batches with an optional pause time in between. */
621
+ /**
622
+ * Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time.<br /><br /> **Rolling** - Scale set performs updates in batches with an optional pause time in between.
623
+ *
624
+ * Possible values: "automatic", "manual", "rolling"
625
+ */
494
626
  mode: UpgradeMode;
495
627
  /** Configuration parameters used for performing automatic OS Upgrade. The configuration parameters used for performing automatic OS upgrade. */
496
628
  automaticOSUpgradePolicy?: AutomaticOsUpgradePolicy;
497
- /** The configuration parameters used while performing a rolling upgrade. This property is only supported on Pools with the virtualMachineConfiguration property. */
629
+ /** The configuration parameters used while performing a rolling upgrade. */
498
630
  rollingUpgradePolicy?: RollingUpgradePolicy;
499
631
  }
500
632
  /** The configuration parameters used for performing automatic OS upgrade. */
501
633
  export interface AutomaticOsUpgradePolicy {
502
634
  /** Whether OS image rollback feature should be disabled. */
503
635
  disableAutomaticRollback?: boolean;
504
- /** Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. <br /><br /> If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchservice/pool/add?tabs=HTTP#windowsconfiguration) cannot be set to true. */
636
+ /** Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. <br /><br /> If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchservice/pool/add?tabs=HTTP#windowsconfiguration) cannot be set to true. */
505
637
  enableAutomaticOSUpgrade?: boolean;
506
638
  /** Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. */
507
639
  useRollingUpgradePolicy?: boolean;
@@ -533,57 +665,113 @@ export interface NameValuePair {
533
665
  value?: string;
534
666
  }
535
667
  /** Parameters for updating an Azure Batch Pool. */
536
- export interface BatchPoolUpdateContent {
668
+ export interface BatchPoolUpdateOptions {
669
+ /** The display name for the Pool. The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. This field can be updated only when the pool is empty. */
670
+ displayName?: string;
671
+ /** The size of virtual machines in the Pool. For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://learn.microsoft.com/azure/batch/batch-pool-vm-sizes).<br /><br />This field can be updated only when the pool is empty. */
672
+ vmSize?: string;
673
+ /** Whether the Pool permits direct communication between Compute Nodes. Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false.<br /><br />This field can be updated only when the pool is empty. */
674
+ enableInterNodeCommunication?: boolean;
537
675
  /** A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted. If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is left unchanged. */
538
676
  startTask?: BatchStartTask;
677
+ /**
678
+ * If this element is present, it replaces any existing Certificate references configured on the Pool.
679
+ * If omitted, any existing Certificate references are left unchanged.
680
+ * For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location.
681
+ * For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location.
682
+ * For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.
683
+ * Warning: This property is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.
684
+ */
685
+ certificateReferences?: Array<BatchCertificateReference>;
539
686
  /** A list of Packages to be installed on each Compute Node in the Pool. Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. If this element is present, it replaces any existing Package references. If you specify an empty collection, then all Package references are removed from the Pool. If omitted, any existing Package references are left unchanged. */
540
687
  applicationPackageReferences?: Array<BatchApplicationPackageReference>;
541
688
  /** A list of name-value pairs associated with the Pool as metadata. If this element is present, it replaces any existing metadata configured on the Pool. If you specify an empty collection, any metadata is removed from the Pool. If omitted, any existing metadata is left unchanged. */
542
- metadata?: Array<MetadataItem>;
543
- /** The desired node communication mode for the pool. If this element is present, it replaces the existing targetNodeCommunicationMode configured on the Pool. If omitted, any existing metadata is left unchanged. */
689
+ metadata?: Array<BatchMetadataItem>;
690
+ /** The virtual machine configuration for the Pool. This property must be specified.<br /><br />This field can be updated only when the pool is empty. */
691
+ virtualMachineConfiguration?: VirtualMachineConfiguration;
692
+ /**
693
+ * The desired node communication mode for the pool. If this element is present, it replaces the existing targetNodeCommunicationMode configured on the Pool. If omitted, any existing metadata is left unchanged.
694
+ *
695
+ * Possible values: "default", "classic", "simplified"
696
+ */
544
697
  targetNodeCommunicationMode?: BatchNodeCommunicationMode;
698
+ /** The number of task slots that can be used to run concurrent tasks on a single compute node in the pool. The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256.<br /><br />This field can be updated only when the pool is empty. */
699
+ taskSlotsPerNode?: number;
700
+ /** How Tasks are distributed across Compute Nodes in a Pool. If not specified, the default is spread.<br /><br />This field can be updated only when the pool is empty. */
701
+ taskSchedulingPolicy?: BatchTaskSchedulingPolicy;
702
+ /** The network configuration for the Pool. This field can be updated only when the pool is empty. */
703
+ networkConfiguration?: NetworkConfiguration;
704
+ /** The user-specified tags associated with the pool. The user-defined tags to be associated with the Azure Batch Pool. When specified, these tags are propagated to the backing Azure resources associated with the pool. This property can only be specified when the Batch account was created with the poolAllocationMode property set to 'UserSubscription'.<br /><br />This field can be updated only when the pool is empty. */
705
+ resourceTags?: Record<string, string>;
706
+ /** The list of user Accounts to be created on each Compute Node in the Pool. This field can be updated only when the pool is empty. */
707
+ userAccounts?: Array<UserAccount>;
708
+ /** Mount storage using specified file system for the entire lifetime of the pool. Mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system.<br /><br />This field can be updated only when the pool is empty. */
709
+ mountConfiguration?: Array<MountConfiguration>;
710
+ /** The upgrade policy for the Pool. Describes an upgrade policy - automatic, manual, or rolling.<br /><br />This field can be updated only when the pool is empty. */
711
+ upgradePolicy?: UpgradePolicy;
545
712
  }
546
713
  /** Parameters for enabling automatic scaling on an Azure Batch Pool. */
547
- export interface BatchPoolEnableAutoScaleContent {
548
- /** The formula for the desired number of Compute Nodes in the Pool. The formula is checked for validity before it is applied to the Pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). */
714
+ export interface BatchPoolEnableAutoScaleOptions {
715
+ /** The formula for the desired number of Compute Nodes in the Pool. The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued. */
549
716
  autoScaleFormula?: string;
550
717
  /** The time interval at which to automatically adjust the Pool size according to the autoscale formula. The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued. */
551
718
  autoScaleEvaluationInterval?: string;
552
719
  }
553
720
  /** Parameters for evaluating an automatic scaling formula on an Azure Batch Pool. */
554
- export interface BatchPoolEvaluateAutoScaleContent {
555
- /** The formula for the desired number of Compute Nodes in the Pool. The formula is validated and its results calculated, but it is not applied to the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a Pool'. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). */
721
+ export interface BatchPoolEvaluateAutoScaleOptions {
722
+ /** The formula for the desired number of Compute Nodes in the Pool. The formula is validated and its results calculated, but it is not applied to the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a Pool'. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://learn.microsoft.com/azure/batch/batch-automatic-scaling). */
556
723
  autoScaleFormula: string;
557
724
  }
558
725
  /** Parameters for changing the size of an Azure Batch Pool. */
559
- export interface BatchPoolResizeContent {
726
+ export interface BatchPoolResizeOptions {
560
727
  /** The desired number of dedicated Compute Nodes in the Pool. */
561
728
  targetDedicatedNodes?: number;
562
729
  /** The desired number of Spot/Low-priority Compute Nodes in the Pool. */
563
730
  targetLowPriorityNodes?: number;
564
731
  /** The timeout for allocation of Nodes to the Pool or removal of Compute Nodes from the Pool. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
565
732
  resizeTimeout?: string;
566
- /** Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing. The default value is requeue. */
733
+ /**
734
+ * Determines what to do with a Compute Node and its running task(s) if the Pool size is decreasing. The default value is requeue.
735
+ *
736
+ * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
737
+ */
567
738
  nodeDeallocationOption?: BatchNodeDeallocationOption;
568
739
  }
569
740
  /** Parameters for replacing properties on an Azure Batch Pool. */
570
- export interface BatchPoolReplaceContent {
741
+ export interface BatchPoolReplaceOptions {
571
742
  /** A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted. If this element is present, it overwrites any existing StartTask. If omitted, any existing StartTask is removed from the Pool. */
572
743
  startTask?: BatchStartTask;
744
+ /**
745
+ * This list replaces any existing Certificate references configured on the Pool.
746
+ * If you specify an empty collection, any existing Certificate references are removed from the Pool.
747
+ * For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location.
748
+ * For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location.
749
+ * For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.
750
+ * Warning: This property is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.
751
+ */
752
+ certificateReferences: Array<BatchCertificateReference>;
573
753
  /** The list of Application Packages to be installed on each Compute Node in the Pool. The list replaces any existing Application Package references on the Pool. Changes to Application Package references affect all new Compute Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Application Package references on any given Pool. If omitted, or if you specify an empty collection, any existing Application Packages references are removed from the Pool. A maximum of 10 references may be specified on a given Pool. */
574
754
  applicationPackageReferences: Array<BatchApplicationPackageReference>;
575
755
  /** A list of name-value pairs associated with the Pool as metadata. This list replaces any existing metadata configured on the Pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the Pool. */
576
- metadata: Array<MetadataItem>;
577
- /** The desired node communication mode for the pool. This setting replaces any existing targetNodeCommunication setting on the Pool. If omitted, the existing setting is default. */
756
+ metadata: Array<BatchMetadataItem>;
757
+ /**
758
+ * The desired node communication mode for the pool. This setting replaces any existing targetNodeCommunication setting on the Pool. If omitted, the existing setting is default.
759
+ *
760
+ * Possible values: "default", "classic", "simplified"
761
+ */
578
762
  targetNodeCommunicationMode?: BatchNodeCommunicationMode;
579
763
  }
580
764
  /** Parameters for removing nodes from an Azure Batch Pool. */
581
- export interface BatchNodeRemoveContent {
765
+ export interface BatchNodeRemoveOptions {
582
766
  /** A list containing the IDs of the Compute Nodes to be removed from the specified Pool. A maximum of 100 nodes may be removed per request. */
583
767
  nodeList: string[];
584
768
  /** The timeout for removal of Compute Nodes to the Pool. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
585
769
  resizeTimeout?: string;
586
- /** Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation. The default value is requeue. */
770
+ /**
771
+ * Determines what to do with a Compute Node and its running task(s) after it has been selected for deallocation. The default value is requeue.
772
+ *
773
+ * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
774
+ */
587
775
  nodeDeallocationOption?: BatchNodeDeallocationOption;
588
776
  }
589
777
  /** An Azure Batch Job. */
@@ -598,10 +786,14 @@ export interface BatchJob {
598
786
  constraints?: BatchJobConstraints;
599
787
  /** The Pool settings associated with the Job. */
600
788
  poolInfo: BatchPoolInfo;
601
- /** The action the Batch service should take when all Tasks in the Job are in the completed state. The default is noaction. */
602
- onAllTasksComplete?: OnAllBatchTasksComplete;
789
+ /**
790
+ * The action the Batch service should take when all Tasks in the Job are in the completed state. The default is noaction.
791
+ *
792
+ * Possible values: "noaction", "terminatejob"
793
+ */
794
+ onAllTasksComplete?: BatchAllTasksCompleteMode;
603
795
  /** A list of name-value pairs associated with the Job as metadata. The Batch service does not assign any meaning to metadata; it is solely for the use of user code. */
604
- metadata?: Array<MetadataItem>;
796
+ metadata?: Array<BatchMetadataItem>;
605
797
  }
606
798
  /** The execution constraints for a Job. */
607
799
  export interface BatchJobConstraints {
@@ -640,7 +832,7 @@ export interface BatchJobManagerTask {
640
832
  id: string;
641
833
  /** The display name of the Job Manager Task. It need not be unique and can contain any Unicode characters up to a maximum length of 1024. */
642
834
  displayName?: string;
643
- /** The command line of the Job Manager Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
835
+ /** The command line of the Job Manager Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). */
644
836
  commandLine: string;
645
837
  /** The settings for the container under which the Job Manager Task runs. If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files. */
646
838
  containerSettings?: BatchTaskContainerSettings;
@@ -698,11 +890,11 @@ export interface OutputFileBlobContainerDestination {
698
890
  containerUrl: string;
699
891
  /** The reference to the user assigned identity to use to access Azure Blob Storage specified by containerUrl. The identity must have write access to the Azure Blob Storage container. */
700
892
  identityReference?: BatchNodeIdentityReference;
701
- /** A list of name-value pairs for headers to be used in uploading output files. These headers will be specified when uploading files to Azure Storage. Official document on allowed headers when uploading blobs: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types. */
702
- uploadHeaders?: Array<HttpHeader>;
893
+ /** A list of name-value pairs for headers to be used in uploading output files. These headers will be specified when uploading files to Azure Storage. Official document on allowed headers when uploading blobs: https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types. */
894
+ uploadHeaders?: Array<OutputFileUploadHeader>;
703
895
  }
704
896
  /** An HTTP header name-value pair */
705
- export interface HttpHeader {
897
+ export interface OutputFileUploadHeader {
706
898
  /** The case-insensitive name of the header to be used while uploading output files. */
707
899
  name: string;
708
900
  /** The value of the header to be used while uploading output files. */
@@ -713,7 +905,11 @@ export interface HttpHeader {
713
905
  * to perform the upload.
714
906
  */
715
907
  export interface OutputFileUploadConfig {
716
- /** The conditions under which the Task output file or set of files should be uploaded. The default is taskcompletion. */
908
+ /**
909
+ * The conditions under which the Task output file or set of files should be uploaded. The default is taskcompletion.
910
+ *
911
+ * Possible values: "tasksuccess", "taskfailure", "taskcompletion"
912
+ */
717
913
  uploadCondition: OutputFileUploadCondition;
718
914
  }
719
915
  /** Execution constraints to apply to a Task. */
@@ -731,7 +927,7 @@ export interface BatchTaskConstraints {
731
927
  */
732
928
  export interface AuthenticationTokenSettings {
733
929
  /** The Batch resources to which the token grants access. The authentication token grants access to a limited set of Batch service operations. Currently the only supported value for the access property is 'job', which grants access to all operations related to the Job which contains the Task. */
734
- access?: AccessScope[];
930
+ access?: BatchAccessScope[];
735
931
  }
736
932
  /**
737
933
  * A Job Preparation Task to run before any Tasks of the Job on any given Compute Node.
@@ -764,7 +960,7 @@ export interface AuthenticationTokenSettings {
764
960
  export interface BatchJobPreparationTask {
765
961
  /** A string that uniquely identifies the Job Preparation Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other Task in the Job can have the same ID as the Job Preparation Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). */
766
962
  id?: string;
767
- /** The command line of the Job Preparation Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
963
+ /** The command line of the Job Preparation Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). */
768
964
  commandLine: string;
769
965
  /** The settings for the container under which the Job Preparation Task runs. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files. */
770
966
  containerSettings?: BatchTaskContainerSettings;
@@ -802,7 +998,7 @@ export interface BatchJobPreparationTask {
802
998
  export interface BatchJobReleaseTask {
803
999
  /** A string that uniquely identifies the Job Release Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other Task in the Job can have the same ID as the Job Release Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). */
804
1000
  id?: string;
805
- /** The command line of the Job Release Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
1001
+ /** The command line of the Job Release Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). */
806
1002
  commandLine: string;
807
1003
  /** The settings for the container under which the Job Release Task runs. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files. */
808
1004
  containerSettings?: BatchTaskContainerSettings;
@@ -831,7 +1027,11 @@ export interface BatchPoolInfo {
831
1027
  export interface BatchAutoPoolSpecification {
832
1028
  /** A prefix to be added to the unique identifier when a Pool is automatically created. The Batch service assigns each auto Pool a unique identifier on creation. To distinguish between Pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long. */
833
1029
  autoPoolIdPrefix?: string;
834
- /** The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are assigned to Pools. */
1030
+ /**
1031
+ * The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are assigned to Pools.
1032
+ *
1033
+ * Possible values: "jobschedule", "job"
1034
+ */
835
1035
  poolLifetimeOption: BatchPoolLifetimeOption;
836
1036
  /** Whether to keep an auto Pool alive after its lifetime expires. If false, the Batch service deletes the Pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the Job or Job Schedule completes. If true, the Batch service does not delete the Pool automatically. It is up to the user to delete auto Pools created with this option. */
837
1037
  keepAlive?: boolean;
@@ -842,9 +1042,9 @@ export interface BatchAutoPoolSpecification {
842
1042
  export interface BatchPoolSpecification {
843
1043
  /** The display name for the Pool. The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. */
844
1044
  displayName?: string;
845
- /** The size of the virtual machines in the Pool. All virtual machines in a Pool are the same size. For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes). */
1045
+ /** The size of the virtual machines in the Pool. All virtual machines in a Pool are the same size. For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://learn.microsoft.com/azure/batch/batch-pool-vm-sizes). */
846
1046
  vmSize: string;
847
- /** The virtual machine configuration for the Pool. This property must be specified if the Pool needs to be created with Azure IaaS VMs. If it is not specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
1047
+ /** The virtual machine configuration for the Pool. This property must be specified. */
848
1048
  virtualMachineConfiguration?: VirtualMachineConfiguration;
849
1049
  /** The number of task slots that can be used to run concurrent tasks on a single compute node in the pool. The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256. */
850
1050
  taskSlotsPerNode?: number;
@@ -870,23 +1070,35 @@ export interface BatchPoolSpecification {
870
1070
  networkConfiguration?: NetworkConfiguration;
871
1071
  /** A Task to run on each Compute Node as it joins the Pool. The Task runs when the Compute Node is added to the Pool or when the Compute Node is restarted. */
872
1072
  startTask?: BatchStartTask;
1073
+ /**
1074
+ * For Windows Nodes, the Batch service installs the Certificates to the specified Certificate store and location. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.
1075
+ * Warning: This property is deprecated and will be removed after February, 2024.
1076
+ * Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.
1077
+ */
1078
+ certificateReferences?: Array<BatchCertificateReference>;
873
1079
  /** The list of Packages to be installed on each Compute Node in the Pool. When creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool. */
874
1080
  applicationPackageReferences?: Array<BatchApplicationPackageReference>;
875
1081
  /** The list of user Accounts to be created on each Compute Node in the Pool. */
876
1082
  userAccounts?: Array<UserAccount>;
877
1083
  /** A list of name-value pairs associated with the Pool as metadata. The Batch service does not assign any meaning to metadata; it is solely for the use of user code. */
878
- metadata?: Array<MetadataItem>;
1084
+ metadata?: Array<BatchMetadataItem>;
879
1085
  /** A list of file systems to mount on each node in the pool. This supports Azure Files, NFS, CIFS/SMB, and Blobfuse. */
880
1086
  mountConfiguration?: Array<MountConfiguration>;
881
- /** The desired node communication mode for the pool. If omitted, the default value is Default. */
1087
+ /**
1088
+ * The desired node communication mode for the pool. If omitted, the default value is Default.
1089
+ *
1090
+ * Possible values: "default", "classic", "simplified"
1091
+ */
882
1092
  targetNodeCommunicationMode?: BatchNodeCommunicationMode;
883
1093
  /** The upgrade policy for the Pool. Describes an upgrade policy - automatic, manual, or rolling. */
884
1094
  upgradePolicy?: UpgradePolicy;
885
1095
  }
886
1096
  /** The network configuration for the Job. */
887
1097
  export interface BatchJobNetworkConfiguration {
888
- /** The ARM resource identifier of the virtual network subnet which Compute Nodes running Tasks from the Job will join for the duration of the Task. This will only work with a VirtualMachineConfiguration Pool. The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes which will run Tasks from the Job. This can be up to the number of Compute Nodes in the Pool. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet so that Azure Batch service can schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication from the Azure Batch service. For Pools created with a Virtual Machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Port 443 is also required to be open for outbound connections for communications to Azure Storage. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. */
1098
+ /** The ARM resource identifier of the virtual network subnet which Compute Nodes running Tasks from the Job will join for the duration of the Task. The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes which will run Tasks from the Job. This can be up to the number of Compute Nodes in the Pool. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet so that Azure Batch service can schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication from the Azure Batch service. For Pools created with a Virtual Machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Port 443 is also required to be open for outbound connections for communications to Azure Storage. For more details see: https://learn.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. */
889
1099
  subnetId: string;
1100
+ /** Whether to withdraw Compute Nodes from the virtual network to DNC when the job is terminated or deleted. If true, nodes will remain joined to the virtual network to DNC. If false, nodes will automatically withdraw when the job ends. Defaults to false. */
1101
+ skipWithdrawFromVNet?: boolean;
890
1102
  }
891
1103
  /** Contains information about the execution of a Job in the Azure Batch service. */
892
1104
  export interface BatchJobExecutionInfo {
@@ -903,8 +1115,12 @@ export interface BatchJobExecutionInfo {
903
1115
  }
904
1116
  /** An error encountered by the Batch service when scheduling a Job. */
905
1117
  export interface BatchJobSchedulingError {
906
- /** The category of the Job scheduling error. */
907
- category: ErrorCategory;
1118
+ /**
1119
+ * The category of the Job scheduling error.
1120
+ *
1121
+ * Possible values: "usererror", "servererror"
1122
+ */
1123
+ category: BatchErrorSourceCategory;
908
1124
  /** An identifier for the Job scheduling error. Codes are invariant and are intended to be consumed programmatically. */
909
1125
  code?: string;
910
1126
  /** A message describing the Job scheduling error, intended to be suitable for display in a user interface. */
@@ -927,24 +1143,24 @@ export interface BatchJobStatistics {
927
1143
  /** The total wall clock time of all Tasks in the Job. The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If a Task was retried, this includes the wall clock time of all the Task retries. */
928
1144
  wallClockTime: string;
929
1145
  /** The total number of disk read operations made by all Tasks in the Job. */
930
- readIOps: number;
1146
+ readIOps: string;
931
1147
  /** The total number of disk write operations made by all Tasks in the Job. */
932
- writeIOps: number;
1148
+ writeIOps: string;
933
1149
  /** The total amount of data in GiB read from disk by all Tasks in the Job. */
934
1150
  readIOGiB: number;
935
1151
  /** The total amount of data in GiB written to disk by all Tasks in the Job. */
936
1152
  writeIOGiB: number;
937
1153
  /** The total number of Tasks successfully completed in the Job during the given time range. A Task completes successfully if it returns exit code 0. */
938
- numSucceededTasks: number;
1154
+ numSucceededTasks: string;
939
1155
  /** The total number of Tasks in the Job that failed during the given time range. A Task fails if it exhausts its maximum retry count without returning exit code 0. */
940
- numFailedTasks: number;
1156
+ numFailedTasks: string;
941
1157
  /** The total number of retries on all the Tasks in the Job during the given time range. */
942
- numTaskRetries: number;
1158
+ numTaskRetries: string;
943
1159
  /** The total wait time of all Tasks in the Job. The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.) This value is only reported in the Account lifetime statistics; it is not included in the Job statistics. */
944
1160
  waitTime: string;
945
1161
  }
946
1162
  /** Parameters for updating an Azure Batch Job. */
947
- export interface BatchJobUpdateContent {
1163
+ export interface BatchJobUpdateOptions {
948
1164
  /** The priority of the Job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the Job is left unchanged. */
949
1165
  priority?: number;
950
1166
  /** Whether Tasks in this job can be preempted by other high priority jobs. If the value is set to True, other high priority jobs submitted to the system will take precedence and will be able requeue tasks from this job. You can update a job's allowTaskPreemption after it has been created using the update job API. */
@@ -955,23 +1171,33 @@ export interface BatchJobUpdateContent {
955
1171
  constraints?: BatchJobConstraints;
956
1172
  /** The Pool on which the Batch service runs the Job's Tasks. You may change the Pool for a Job only when the Job is disabled. The Patch Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal). If omitted, the Job continues to run on its current Pool. */
957
1173
  poolInfo?: BatchPoolInfo;
958
- /** The action the Batch service should take when all Tasks in the Job are in the completed state. If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
959
- onAllTasksComplete?: OnAllBatchTasksComplete;
1174
+ /**
1175
+ * The action the Batch service should take when all Tasks in the Job are in the completed state. If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic Job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
1176
+ *
1177
+ * Possible values: "noaction", "terminatejob"
1178
+ */
1179
+ onAllTasksComplete?: BatchAllTasksCompleteMode;
960
1180
  /** A list of name-value pairs associated with the Job as metadata. If omitted, the existing Job metadata is left unchanged. */
961
- metadata?: Array<MetadataItem>;
1181
+ metadata?: Array<BatchMetadataItem>;
1182
+ /** The network configuration for the Job. */
1183
+ networkConfiguration?: BatchJobNetworkConfiguration;
962
1184
  }
963
1185
  /** Parameters for disabling an Azure Batch Job. */
964
- export interface BatchJobDisableContent {
965
- /** What to do with active Tasks associated with the Job. */
1186
+ export interface BatchJobDisableOptions {
1187
+ /**
1188
+ * What to do with active Tasks associated with the Job.
1189
+ *
1190
+ * Possible values: "requeue", "terminate", "wait"
1191
+ */
966
1192
  disableTasks: DisableBatchJobOption;
967
1193
  }
968
1194
  /** Parameters for terminating an Azure Batch Job. */
969
- export interface BatchJobTerminateContent {
1195
+ export interface BatchJobTerminateOptions {
970
1196
  /** The text you want to appear as the Job's TerminationReason. The default is 'UserTerminate'. */
971
1197
  terminateReason?: string;
972
1198
  }
973
1199
  /** Parameters for creating an Azure Batch Job. */
974
- export interface BatchJobCreateContent {
1200
+ export interface BatchJobCreateOptions {
975
1201
  /** A string that uniquely identifies the Job within the Account. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case). */
976
1202
  id: string;
977
1203
  /** The display name for the Job. The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. */
@@ -996,14 +1222,22 @@ export interface BatchJobCreateContent {
996
1222
  commonEnvironmentSettings?: Array<EnvironmentSetting>;
997
1223
  /** The Pool on which the Batch service runs the Job's Tasks. */
998
1224
  poolInfo: BatchPoolInfo;
999
- /** The action the Batch service should take when all Tasks in the Job are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction. */
1000
- onAllTasksComplete?: OnAllBatchTasksComplete;
1001
- /** The action the Batch service should take when any Task in the Job fails. A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction. */
1002
- onTaskFailure?: OnBatchTaskFailure;
1225
+ /**
1226
+ * The action the Batch service should take when all Tasks in the Job are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.
1227
+ *
1228
+ * Possible values: "noaction", "terminatejob"
1229
+ */
1230
+ onAllTasksComplete?: BatchAllTasksCompleteMode;
1231
+ /**
1232
+ * The action the Batch service should take when any Task in the Job fails. A Task is considered to have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.
1233
+ *
1234
+ * Possible values: "noaction", "performexitoptionsjobaction"
1235
+ */
1236
+ onTaskFailure?: BatchTaskFailureMode;
1003
1237
  /** The network configuration for the Job. */
1004
1238
  networkConfiguration?: BatchJobNetworkConfiguration;
1005
1239
  /** A list of name-value pairs associated with the Job as metadata. The Batch service does not assign any meaning to metadata; it is solely for the use of user code. */
1006
- metadata?: Array<MetadataItem>;
1240
+ metadata?: Array<BatchMetadataItem>;
1007
1241
  }
1008
1242
  /** Contains information about the container which a Task is executing. */
1009
1243
  export interface BatchTaskContainerExecutionInfo {
@@ -1016,8 +1250,12 @@ export interface BatchTaskContainerExecutionInfo {
1016
1250
  }
1017
1251
  /** Information about a Task failure. */
1018
1252
  export interface BatchTaskFailureInfo {
1019
- /** The category of the Task error. */
1020
- category: ErrorCategory;
1253
+ /**
1254
+ * The category of the Task error.
1255
+ *
1256
+ * Possible values: "usererror", "servererror"
1257
+ */
1258
+ category: BatchErrorSourceCategory;
1021
1259
  /** An identifier for the Task error. Codes are invariant and are intended to be consumed programmatically. */
1022
1260
  code?: string;
1023
1261
  /** A message describing the Task error, intended to be suitable for display in a user interface. */
@@ -1025,6 +1263,35 @@ export interface BatchTaskFailureInfo {
1025
1263
  /** A list of additional details related to the error. */
1026
1264
  details?: Array<NameValuePair>;
1027
1265
  }
1266
+ /**
1267
+ * A Certificate that can be installed on Compute Nodes and can be used to
1268
+ * authenticate operations on the machine.
1269
+ */
1270
+ export interface BatchCertificate {
1271
+ /** The X.509 thumbprint of the Certificate. This is a sequence of up to 40 hex digits (it may include spaces but these are removed). */
1272
+ thumbprint: string;
1273
+ /** The algorithm used to derive the thumbprint. This must be sha1. */
1274
+ thumbprintAlgorithm: string;
1275
+ /** The base64-encoded contents of the Certificate. The maximum size is 10KB. */
1276
+ data: string;
1277
+ /**
1278
+ * The format of the Certificate data.
1279
+ *
1280
+ * Possible values: "pfx", "cer"
1281
+ */
1282
+ certificateFormat?: BatchCertificateFormat;
1283
+ /** The password to access the Certificate's private key. This must be omitted if the Certificate format is cer. */
1284
+ password?: string;
1285
+ }
1286
+ /** An error encountered by the Batch service when deleting a Certificate. */
1287
+ export interface BatchCertificateDeleteError {
1288
+ /** An identifier for the Certificate deletion error. Codes are invariant and are intended to be consumed programmatically. */
1289
+ code?: string;
1290
+ /** A message describing the Certificate deletion error, intended to be suitable for display in a user interface. */
1291
+ message?: string;
1292
+ /** A list of additional error details related to the Certificate deletion error. This list includes details such as the active Pools and Compute Nodes referencing this Certificate. However, if a large number of resources reference the Certificate, the list contains only about the first hundred. */
1293
+ values?: Array<NameValuePair>;
1294
+ }
1028
1295
  /**
1029
1296
  * A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a
1030
1297
  * specification used to create each Job.
@@ -1035,7 +1302,7 @@ export interface BatchJobSchedule {
1035
1302
  /** The details of the Jobs to be created on this schedule. */
1036
1303
  jobSpecification: BatchJobSpecification;
1037
1304
  /** A list of name-value pairs associated with the schedule as metadata. The Batch service does not assign any meaning to metadata; it is solely for the use of user code. */
1038
- metadata?: Array<MetadataItem>;
1305
+ metadata?: Array<BatchMetadataItem>;
1039
1306
  }
1040
1307
  /**
1041
1308
  * The schedule according to which Jobs will be created. All times are fixed
@@ -1063,10 +1330,18 @@ export interface BatchJobSpecification {
1063
1330
  displayName?: string;
1064
1331
  /** Whether Tasks in the Job can define dependencies on each other. The default is false. */
1065
1332
  usesTaskDependencies?: boolean;
1066
- /** The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction. */
1067
- onAllTasksComplete?: OnAllBatchTasksComplete;
1068
- /** The action the Batch service should take when any Task fails in a Job created under this schedule. A Task is considered to have failed if it have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction. */
1069
- onTaskFailure?: OnBatchTaskFailure;
1333
+ /**
1334
+ * The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.
1335
+ *
1336
+ * Possible values: "noaction", "terminatejob"
1337
+ */
1338
+ onAllTasksComplete?: BatchAllTasksCompleteMode;
1339
+ /**
1340
+ * The action the Batch service should take when any Task fails in a Job created under this schedule. A Task is considered to have failed if it have failed if has a failureInfo. A failureInfo is set if the Task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the Task, for example due to a resource file download error. The default is noaction.
1341
+ *
1342
+ * Possible values: "noaction", "performexitoptionsjobaction"
1343
+ */
1344
+ onTaskFailure?: BatchTaskFailureMode;
1070
1345
  /** The network configuration for the Job. */
1071
1346
  networkConfiguration?: BatchJobNetworkConfiguration;
1072
1347
  /** The execution constraints for Jobs created under this schedule. */
@@ -1082,7 +1357,7 @@ export interface BatchJobSpecification {
1082
1357
  /** The Pool on which the Batch service runs the Tasks of Jobs created under this schedule. */
1083
1358
  poolInfo: BatchPoolInfo;
1084
1359
  /** A list of name-value pairs associated with each Job created under this schedule as metadata. The Batch service does not assign any meaning to metadata; it is solely for the use of user code. */
1085
- metadata?: Array<MetadataItem>;
1360
+ metadata?: Array<BatchMetadataItem>;
1086
1361
  }
1087
1362
  /**
1088
1363
  * Contains information about Jobs that have been and will be run under a Job
@@ -1118,33 +1393,33 @@ export interface BatchJobScheduleStatistics {
1118
1393
  /** The total wall clock time of all the Tasks in all the Jobs created under the schedule. The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If a Task was retried, this includes the wall clock time of all the Task retries. */
1119
1394
  wallClockTime: string;
1120
1395
  /** The total number of disk read operations made by all Tasks in all Jobs created under the schedule. */
1121
- readIOps: number;
1396
+ readIOps: string;
1122
1397
  /** The total number of disk write operations made by all Tasks in all Jobs created under the schedule. */
1123
- writeIOps: number;
1398
+ writeIOps: string;
1124
1399
  /** The total gibibytes read from disk by all Tasks in all Jobs created under the schedule. */
1125
1400
  readIOGiB: number;
1126
1401
  /** The total gibibytes written to disk by all Tasks in all Jobs created under the schedule. */
1127
1402
  writeIOGiB: number;
1128
1403
  /** The total number of Tasks successfully completed during the given time range in Jobs created under the schedule. A Task completes successfully if it returns exit code 0. */
1129
- numSucceededTasks: number;
1404
+ numSucceededTasks: string;
1130
1405
  /** The total number of Tasks that failed during the given time range in Jobs created under the schedule. A Task fails if it exhausts its maximum retry count without returning exit code 0. */
1131
- numFailedTasks: number;
1406
+ numFailedTasks: string;
1132
1407
  /** The total number of retries during the given time range on all Tasks in all Jobs created under the schedule. */
1133
- numTaskRetries: number;
1408
+ numTaskRetries: string;
1134
1409
  /** The total wait time of all Tasks in all Jobs created under the schedule. The wait time for a Task is defined as the elapsed time between the creation of the Task and the start of Task execution. (If the Task is retried due to failures, the wait time is the time to the most recent Task execution.). This value is only reported in the Account lifetime statistics; it is not included in the Job statistics. */
1135
1410
  waitTime: string;
1136
1411
  }
1137
1412
  /** Parameters for updating an Azure Batch Job Schedule. */
1138
- export interface BatchJobScheduleUpdateContent {
1413
+ export interface BatchJobScheduleUpdateOptions {
1139
1414
  /** The schedule according to which Jobs will be created. All times are fixed respective to UTC and are not impacted by daylight saving time. If you do not specify this element, the existing schedule is left unchanged. */
1140
1415
  schedule?: BatchJobScheduleConfiguration;
1141
1416
  /** The details of the Jobs to be created on this schedule. Updates affect only Jobs that are started after the update has taken place. Any currently active Job continues with the older specification. */
1142
1417
  jobSpecification?: BatchJobSpecification;
1143
1418
  /** A list of name-value pairs associated with the Job Schedule as metadata. If you do not specify this element, existing metadata is left unchanged. */
1144
- metadata?: Array<MetadataItem>;
1419
+ metadata?: Array<BatchMetadataItem>;
1145
1420
  }
1146
1421
  /** Parameters for creating an Azure Batch Job Schedule */
1147
- export interface BatchJobScheduleCreateContent {
1422
+ export interface BatchJobScheduleCreateOptions {
1148
1423
  /** A string that uniquely identifies the schedule within the Account. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case). */
1149
1424
  id: string;
1150
1425
  /** The display name for the schedule. The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. */
@@ -1154,17 +1429,17 @@ export interface BatchJobScheduleCreateContent {
1154
1429
  /** The details of the Jobs to be created on this schedule. */
1155
1430
  jobSpecification: BatchJobSpecification;
1156
1431
  /** A list of name-value pairs associated with the schedule as metadata. The Batch service does not assign any meaning to metadata; it is solely for the use of user code. */
1157
- metadata?: Array<MetadataItem>;
1432
+ metadata?: Array<BatchMetadataItem>;
1158
1433
  }
1159
1434
  /** Parameters for creating an Azure Batch Task. */
1160
- export interface BatchTaskCreateContent {
1435
+ export interface BatchTaskCreateOptions {
1161
1436
  /** A string that uniquely identifies the Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a Job that differ only by case). */
1162
1437
  id: string;
1163
1438
  /** A display name for the Task. The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. */
1164
1439
  displayName?: string;
1165
1440
  /** How the Batch service should respond when the Task completes. */
1166
1441
  exitConditions?: ExitConditions;
1167
- /** The command line of the Task. For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
1442
+ /** The command line of the Task. For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). */
1168
1443
  commandLine: string;
1169
1444
  /** The settings for the container under which the Task runs. If the Pool that will run this Task has containerConfiguration set, this must be set as well. If the Pool that will run this Task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all Task environment variables are mapped into the container, and the Task command line is executed in the container. Files produced in the container outside of AZ_BATCH_NODE_ROOT_DIR might not be reflected to the host disk, meaning that Batch file APIs will not be able to access those files. */
1170
1445
  containerSettings?: BatchTaskContainerSettings;
@@ -1175,7 +1450,7 @@ export interface BatchTaskCreateContent {
1175
1450
  /** A list of environment variable settings for the Task. */
1176
1451
  environmentSettings?: Array<EnvironmentSetting>;
1177
1452
  /** A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task. */
1178
- affinityInfo?: AffinityInfo;
1453
+ affinityInfo?: BatchAffinityInfo;
1179
1454
  /** The execution constraints that apply to this Task. If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount specified for the Job, the maxWallClockTime is infinite, and the retentionTime is 7 days. */
1180
1455
  constraints?: BatchTaskConstraints;
1181
1456
  /** The number of scheduling slots that the Task required to run. The default is 1. A Task can only be scheduled to run on a compute node if the node has enough free scheduling slots available. For multi-instance Tasks, this must be 1. */
@@ -1216,9 +1491,17 @@ export interface ExitCodeMapping {
1216
1491
  }
1217
1492
  /** Specifies how the Batch service responds to a particular exit condition. */
1218
1493
  export interface ExitOptions {
1219
- /** An action to take on the Job containing the Task, if the Task completes with the given exit condition and the Job's onTaskFailed property is 'performExitOptionsJobAction'. The default is none for exit code 0 and terminate for all other exit conditions. If the Job's onTaskFailed property is noaction, then specifying this property returns an error and the add Task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
1220
- jobAction?: BatchJobAction;
1221
- /** An action that the Batch service performs on Tasks that depend on this Task. Possible values are 'satisfy' (allowing dependent tasks to progress) and 'block' (dependent tasks continue to wait). Batch does not yet support cancellation of dependent tasks. */
1494
+ /**
1495
+ * An action to take on the Job containing the Task, if the Task completes with the given exit condition and the Job's onTaskFailed property is 'performExitOptionsJobAction'. The default is none for exit code 0 and terminate for all other exit conditions. If the Job's onTaskFailed property is noaction, then specifying this property returns an error and the add Task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
1496
+ *
1497
+ * Possible values: "none", "disable", "terminate"
1498
+ */
1499
+ jobAction?: BatchJobActionKind;
1500
+ /**
1501
+ * An action that the Batch service performs on Tasks that depend on this Task. Possible values are 'satisfy' (allowing dependent tasks to progress) and 'block' (dependent tasks continue to wait). Batch does not yet support cancellation of dependent tasks.
1502
+ *
1503
+ * Possible values: "satisfy", "block"
1504
+ */
1222
1505
  dependencyAction?: DependencyAction;
1223
1506
  }
1224
1507
  /**
@@ -1237,7 +1520,7 @@ export interface ExitCodeRangeMapping {
1237
1520
  * A locality hint that can be used by the Batch service to select a Compute Node
1238
1521
  * on which to start a Task.
1239
1522
  */
1240
- export interface AffinityInfo {
1523
+ export interface BatchAffinityInfo {
1241
1524
  /** An opaque string representing the location of a Compute Node or a Task that has run previously. You can pass the affinityId of a Node to indicate that this Task needs to run on that Compute Node. Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere. */
1242
1525
  affinityId: string;
1243
1526
  }
@@ -1311,7 +1594,11 @@ export interface BatchTaskExecutionInfo {
1311
1594
  requeueCount: number;
1312
1595
  /** The most recent time at which the Task has been requeued by the Batch service as the result of a user request. This property is set only if the requeueCount is nonzero. */
1313
1596
  lastRequeueTime?: Date | string;
1314
- /** The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property. */
1597
+ /**
1598
+ * The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property.
1599
+ *
1600
+ * Possible values: "success", "failure"
1601
+ */
1315
1602
  result?: BatchTaskExecutionResult;
1316
1603
  }
1317
1604
  /** Information about the Compute Node on which a Task ran. */
@@ -1344,9 +1631,9 @@ export interface BatchTaskStatistics {
1344
1631
  /** The total wall clock time of the Task. The wall clock time is the elapsed time from when the Task started running on a Compute Node to when it finished (or to the last time the statistics were updated, if the Task had not finished by then). If the Task was retried, this includes the wall clock time of all the Task retries. */
1345
1632
  wallClockTime: string;
1346
1633
  /** The total number of disk read operations made by the Task. */
1347
- readIOps: number;
1634
+ readIOps: string;
1348
1635
  /** The total number of disk write operations made by the Task. */
1349
- writeIOps: number;
1636
+ writeIOps: string;
1350
1637
  /** The total gibibytes read from disk by the Task. */
1351
1638
  readIOGiB: number;
1352
1639
  /** The total gibibytes written to disk by the Task. */
@@ -1357,24 +1644,24 @@ export interface BatchTaskStatistics {
1357
1644
  /** A collection of Azure Batch Tasks to add. */
1358
1645
  export interface BatchTaskGroup {
1359
1646
  /** The collection of Tasks to add. The maximum count of Tasks is 100. The total serialized size of this collection must be less than 1MB. If it is greater than 1MB (for example if each Task has 100's of resource files or environment variables), the request will fail with code 'RequestBodyTooLarge' and should be retried again with fewer Tasks. */
1360
- value: Array<BatchTaskCreateContent>;
1647
+ value: Array<BatchTaskCreateOptions>;
1361
1648
  }
1362
1649
  /** Parameters for creating a user account for RDP or SSH access on an Azure Batch Compute Node. */
1363
- export interface BatchNodeUserCreateContent {
1650
+ export interface BatchNodeUserCreateOptions {
1364
1651
  /** The user name of the Account. */
1365
1652
  name: string;
1366
1653
  /** Whether the Account should be an administrator on the Compute Node. The default value is false. */
1367
1654
  isAdmin?: boolean;
1368
1655
  /** The time at which the Account should expire. If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day. */
1369
1656
  expiryTime?: Date | string;
1370
- /** The password of the Account. The password is required for Windows Compute Nodes (those created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. */
1657
+ /** The password of the Account. The password is required for Windows Compute Nodes. For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. */
1371
1658
  password?: string;
1372
1659
  /** The SSH public key that can be used for remote login to the Compute Node. The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux Compute Nodes. If this is specified for a Windows Compute Node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
1373
1660
  sshPublicKey?: string;
1374
1661
  }
1375
1662
  /** Parameters for updating a user account for RDP or SSH access on an Azure Batch Compute Node. */
1376
- export interface BatchNodeUserUpdateContent {
1377
- /** The password of the Account. The password is required for Windows Compute Nodes (those created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed. */
1663
+ export interface BatchNodeUserUpdateOptions {
1664
+ /** The password of the Account. The password is required for Windows Compute Nodes. For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed. */
1378
1665
  password?: string;
1379
1666
  /** The time at which the Account should expire. If omitted, the default is 1 day from the current time. For Linux Compute Nodes, the expiryTime has a precision up to a day. */
1380
1667
  expiryTime?: Date | string;
@@ -1382,17 +1669,43 @@ export interface BatchNodeUserUpdateContent {
1382
1669
  sshPublicKey?: string;
1383
1670
  }
1384
1671
  /** Parameters for rebooting an Azure Batch Compute Node. */
1385
- export interface BatchNodeRebootContent {
1386
- /** When to reboot the Compute Node and what to do with currently running Tasks. The default value is requeue. */
1387
- nodeRebootOption?: BatchNodeRebootOption;
1672
+ export interface BatchNodeRebootOptions {
1673
+ /**
1674
+ * When to reboot the Compute Node and what to do with currently running Tasks. The default value is requeue.
1675
+ *
1676
+ * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
1677
+ */
1678
+ nodeRebootOption?: BatchNodeRebootKind;
1679
+ }
1680
+ /** Options for deallocating a Compute Node. */
1681
+ export interface BatchNodeDeallocateOptions {
1682
+ /**
1683
+ * When to deallocate the Compute Node and what to do with currently running Tasks. The default value is requeue.
1684
+ *
1685
+ * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
1686
+ */
1687
+ nodeDeallocateOption?: BatchNodeDeallocateOption;
1688
+ }
1689
+ /** Parameters for reimaging an Azure Batch Compute Node. */
1690
+ export interface BatchNodeReimageOptions {
1691
+ /**
1692
+ * When to reimage the Compute Node and what to do with currently running Tasks. The default value is requeue.
1693
+ *
1694
+ * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
1695
+ */
1696
+ nodeReimageOption?: BatchNodeReimageOption;
1388
1697
  }
1389
1698
  /** Parameters for disabling scheduling on an Azure Batch Compute Node. */
1390
- export interface BatchNodeDisableSchedulingContent {
1391
- /** What to do with currently running Tasks when disabling Task scheduling on the Compute Node. The default value is requeue. */
1699
+ export interface BatchNodeDisableSchedulingOptions {
1700
+ /**
1701
+ * What to do with currently running Tasks when disabling Task scheduling on the Compute Node. The default value is requeue.
1702
+ *
1703
+ * Possible values: "requeue", "terminate", "taskcompletion"
1704
+ */
1392
1705
  nodeDisableSchedulingOption?: BatchNodeDisableSchedulingOption;
1393
1706
  }
1394
1707
  /** The Azure Batch service log files upload parameters for a Compute Node. */
1395
- export interface UploadBatchServiceLogsContent {
1708
+ export interface UploadBatchServiceLogsOptions {
1396
1709
  /** The URL of the container within Azure Blob Storage to which to upload the Batch Service log file(s). If a user assigned managed identity is not being used, the URL must include a Shared Access Signature (SAS) granting write permissions to the container. The SAS duration must allow enough time for the upload to finish. The start time for SAS is optional and recommended to not be specified. */
1397
1710
  containerUrl: string;
1398
1711
  /** The start of the time range from which to upload Batch Service log file(s). Any log file containing a log message in the time range will be uploaded. This means that the operation might retrieve more logs than have been requested since the entire log file is always uploaded, but the operation should not retrieve fewer logs than have been requested. */
@@ -1414,6 +1727,8 @@ export type DiskEncryptionTarget = string;
1414
1727
  export type BatchNodePlacementPolicyType = string;
1415
1728
  /** Alias for DiffDiskPlacement */
1416
1729
  export type DiffDiskPlacement = string;
1730
+ /** Alias for SecurityEncryptionTypes */
1731
+ export type SecurityEncryptionTypes = string;
1417
1732
  /** Alias for SecurityTypes */
1418
1733
  export type SecurityTypes = string;
1419
1734
  /** Alias for DynamicVNetAssignmentScope */
@@ -1426,10 +1741,16 @@ export type NetworkSecurityGroupRuleAccess = string;
1426
1741
  export type IpAddressProvisioningType = string;
1427
1742
  /** Alias for ContainerWorkingDirectory */
1428
1743
  export type ContainerWorkingDirectory = string;
1744
+ /** Alias for ContainerHostDataPath */
1745
+ export type ContainerHostDataPath = string;
1429
1746
  /** Alias for AutoUserScope */
1430
1747
  export type AutoUserScope = string;
1431
1748
  /** Alias for ElevationLevel */
1432
1749
  export type ElevationLevel = string;
1750
+ /** Alias for BatchCertificateStoreLocation */
1751
+ export type BatchCertificateStoreLocation = string;
1752
+ /** Alias for BatchCertificateVisibility */
1753
+ export type BatchCertificateVisibility = string;
1433
1754
  /** Alias for BatchNodeFillType */
1434
1755
  export type BatchNodeFillType = string;
1435
1756
  /** Alias for LoginMode */
@@ -1444,30 +1765,38 @@ export type BatchNodeDeallocationOption = string;
1444
1765
  export type BatchJobState = string;
1445
1766
  /** Alias for OutputFileUploadCondition */
1446
1767
  export type OutputFileUploadCondition = string;
1447
- /** Alias for AccessScope */
1448
- export type AccessScope = string;
1768
+ /** Alias for BatchAccessScope */
1769
+ export type BatchAccessScope = string;
1449
1770
  /** Alias for BatchPoolLifetimeOption */
1450
1771
  export type BatchPoolLifetimeOption = string;
1451
- /** Alias for OnAllBatchTasksComplete */
1452
- export type OnAllBatchTasksComplete = string;
1453
- /** Alias for OnBatchTaskFailure */
1454
- export type OnBatchTaskFailure = string;
1455
- /** Alias for ErrorCategory */
1456
- export type ErrorCategory = string;
1772
+ /** Alias for BatchAllTasksCompleteMode */
1773
+ export type BatchAllTasksCompleteMode = string;
1774
+ /** Alias for BatchTaskFailureMode */
1775
+ export type BatchTaskFailureMode = string;
1776
+ /** Alias for BatchErrorSourceCategory */
1777
+ export type BatchErrorSourceCategory = string;
1457
1778
  /** Alias for DisableBatchJobOption */
1458
1779
  export type DisableBatchJobOption = string;
1459
1780
  /** Alias for BatchTaskExecutionResult */
1460
1781
  export type BatchTaskExecutionResult = string;
1782
+ /** Alias for BatchCertificateState */
1783
+ export type BatchCertificateState = string;
1784
+ /** Alias for BatchCertificateFormat */
1785
+ export type BatchCertificateFormat = string;
1461
1786
  /** Alias for BatchJobScheduleState */
1462
1787
  export type BatchJobScheduleState = string;
1463
- /** Alias for BatchJobAction */
1464
- export type BatchJobAction = string;
1788
+ /** Alias for BatchJobActionKind */
1789
+ export type BatchJobActionKind = string;
1465
1790
  /** Alias for DependencyAction */
1466
1791
  export type DependencyAction = string;
1467
1792
  /** Alias for BatchTaskState */
1468
1793
  export type BatchTaskState = string;
1469
- /** Alias for BatchNodeRebootOption */
1470
- export type BatchNodeRebootOption = string;
1794
+ /** Alias for BatchNodeRebootKind */
1795
+ export type BatchNodeRebootKind = string;
1796
+ /** Alias for BatchNodeDeallocateOption */
1797
+ export type BatchNodeDeallocateOption = string;
1798
+ /** Alias for BatchNodeReimageOption */
1799
+ export type BatchNodeReimageOption = string;
1471
1800
  /** Alias for BatchNodeDisableSchedulingOption */
1472
1801
  export type BatchNodeDisableSchedulingOption = string;
1473
1802
  //# sourceMappingURL=models.d.ts.map