@azure-rest/batch 1.0.0-beta.2 → 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 (152) hide show
  1. package/LICENSE +4 -4
  2. package/README.md +4 -4
  3. package/dist/browser/batchClient.js +17 -22
  4. package/dist/browser/batchClient.js.map +1 -1
  5. package/dist/browser/clientDefinitions.d.ts +42 -2
  6. package/dist/browser/clientDefinitions.js.map +1 -1
  7. package/dist/browser/index.d.ts +0 -1
  8. package/dist/browser/index.js +0 -1
  9. package/dist/browser/index.js.map +1 -1
  10. package/dist/browser/isUnexpected.d.ts +6 -1
  11. package/dist/browser/isUnexpected.js +11 -5
  12. package/dist/browser/isUnexpected.js.map +1 -1
  13. package/dist/browser/models.d.ts +199 -114
  14. package/dist/browser/models.js.map +1 -1
  15. package/dist/browser/outputModels.d.ts +196 -93
  16. package/dist/browser/outputModels.js.map +1 -1
  17. package/dist/browser/paginateHelper.d.ts +27 -2
  18. package/dist/browser/paginateHelper.js +69 -2
  19. package/dist/browser/paginateHelper.js.map +1 -1
  20. package/dist/browser/parameters.d.ts +444 -58
  21. package/dist/browser/parameters.js.map +1 -1
  22. package/dist/browser/responses.d.ts +113 -2
  23. package/dist/browser/responses.js.map +1 -1
  24. package/dist/commonjs/batchClient.js +17 -22
  25. package/dist/commonjs/batchClient.js.map +1 -1
  26. package/dist/commonjs/clientDefinitions.d.ts +42 -2
  27. package/dist/commonjs/clientDefinitions.js.map +1 -1
  28. package/dist/commonjs/credentials/batchSharedKeyCredentials.js +1 -2
  29. package/dist/commonjs/credentials/batchSharedKeyCredentials.js.map +1 -1
  30. package/dist/commonjs/index.d.ts +0 -1
  31. package/dist/commonjs/index.js +0 -1
  32. package/dist/commonjs/index.js.map +1 -1
  33. package/dist/commonjs/isUnexpected.d.ts +6 -1
  34. package/dist/commonjs/isUnexpected.js +11 -5
  35. package/dist/commonjs/isUnexpected.js.map +1 -1
  36. package/dist/commonjs/models.d.ts +199 -114
  37. package/dist/commonjs/models.js.map +1 -1
  38. package/dist/commonjs/outputModels.d.ts +196 -93
  39. package/dist/commonjs/outputModels.js.map +1 -1
  40. package/dist/commonjs/paginateHelper.d.ts +27 -2
  41. package/dist/commonjs/paginateHelper.js +70 -3
  42. package/dist/commonjs/paginateHelper.js.map +1 -1
  43. package/dist/commonjs/parameters.d.ts +444 -58
  44. package/dist/commonjs/parameters.js.map +1 -1
  45. package/dist/commonjs/responses.d.ts +113 -2
  46. package/dist/commonjs/responses.js.map +1 -1
  47. package/dist/commonjs/tsdoc-metadata.json +11 -11
  48. package/dist/esm/batchClient.js +17 -22
  49. package/dist/esm/batchClient.js.map +1 -1
  50. package/dist/esm/clientDefinitions.d.ts +42 -2
  51. package/dist/esm/clientDefinitions.js.map +1 -1
  52. package/dist/esm/credentials/batchSharedKeyCredentials.js +1 -2
  53. package/dist/esm/credentials/batchSharedKeyCredentials.js.map +1 -1
  54. package/dist/esm/index.d.ts +0 -1
  55. package/dist/esm/index.js +0 -1
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/isUnexpected.d.ts +6 -1
  58. package/dist/esm/isUnexpected.js +11 -5
  59. package/dist/esm/isUnexpected.js.map +1 -1
  60. package/dist/esm/models.d.ts +199 -114
  61. package/dist/esm/models.js.map +1 -1
  62. package/dist/esm/outputModels.d.ts +196 -93
  63. package/dist/esm/outputModels.js.map +1 -1
  64. package/dist/esm/paginateHelper.d.ts +27 -2
  65. package/dist/esm/paginateHelper.js +69 -2
  66. package/dist/esm/paginateHelper.js.map +1 -1
  67. package/dist/esm/parameters.d.ts +444 -58
  68. package/dist/esm/parameters.js.map +1 -1
  69. package/dist/esm/responses.d.ts +113 -2
  70. package/dist/esm/responses.js.map +1 -1
  71. package/dist/react-native/batchClient.js +17 -22
  72. package/dist/react-native/batchClient.js.map +1 -1
  73. package/dist/react-native/clientDefinitions.d.ts +42 -2
  74. package/dist/react-native/clientDefinitions.js.map +1 -1
  75. package/dist/react-native/index.d.ts +0 -1
  76. package/dist/react-native/index.js +0 -1
  77. package/dist/react-native/index.js.map +1 -1
  78. package/dist/react-native/isUnexpected.d.ts +6 -1
  79. package/dist/react-native/isUnexpected.js +11 -5
  80. package/dist/react-native/isUnexpected.js.map +1 -1
  81. package/dist/react-native/models.d.ts +199 -114
  82. package/dist/react-native/models.js.map +1 -1
  83. package/dist/react-native/outputModels.d.ts +196 -93
  84. package/dist/react-native/outputModels.js.map +1 -1
  85. package/dist/react-native/paginateHelper.d.ts +27 -2
  86. package/dist/react-native/paginateHelper.js +69 -2
  87. package/dist/react-native/paginateHelper.js.map +1 -1
  88. package/dist/react-native/parameters.d.ts +444 -58
  89. package/dist/react-native/parameters.js.map +1 -1
  90. package/dist/react-native/responses.d.ts +113 -2
  91. package/dist/react-native/responses.js.map +1 -1
  92. package/package.json +26 -36
  93. package/dist/browser/batchClient.d.ts.map +0 -1
  94. package/dist/browser/clientDefinitions.d.ts.map +0 -1
  95. package/dist/browser/credentials/batchSharedKeyCredentials-browser.d.mts.map +0 -1
  96. package/dist/browser/index.d.ts.map +0 -1
  97. package/dist/browser/isUnexpected.d.ts.map +0 -1
  98. package/dist/browser/logger.d.ts.map +0 -1
  99. package/dist/browser/models.d.ts.map +0 -1
  100. package/dist/browser/outputModels.d.ts.map +0 -1
  101. package/dist/browser/paginateHelper.d.ts.map +0 -1
  102. package/dist/browser/parameters.d.ts.map +0 -1
  103. package/dist/browser/replacePoolPropertiesPolicy.d.ts +0 -11
  104. package/dist/browser/replacePoolPropertiesPolicy.d.ts.map +0 -1
  105. package/dist/browser/replacePoolPropertiesPolicy.js +0 -33
  106. package/dist/browser/replacePoolPropertiesPolicy.js.map +0 -1
  107. package/dist/browser/responses.d.ts.map +0 -1
  108. package/dist/commonjs/batchClient.d.ts.map +0 -1
  109. package/dist/commonjs/clientDefinitions.d.ts.map +0 -1
  110. package/dist/commonjs/credentials/batchSharedKeyCredentials.d.ts.map +0 -1
  111. package/dist/commonjs/index.d.ts.map +0 -1
  112. package/dist/commonjs/isUnexpected.d.ts.map +0 -1
  113. package/dist/commonjs/logger.d.ts.map +0 -1
  114. package/dist/commonjs/models.d.ts.map +0 -1
  115. package/dist/commonjs/outputModels.d.ts.map +0 -1
  116. package/dist/commonjs/paginateHelper.d.ts.map +0 -1
  117. package/dist/commonjs/parameters.d.ts.map +0 -1
  118. package/dist/commonjs/replacePoolPropertiesPolicy.d.ts +0 -11
  119. package/dist/commonjs/replacePoolPropertiesPolicy.d.ts.map +0 -1
  120. package/dist/commonjs/replacePoolPropertiesPolicy.js +0 -36
  121. package/dist/commonjs/replacePoolPropertiesPolicy.js.map +0 -1
  122. package/dist/commonjs/responses.d.ts.map +0 -1
  123. package/dist/esm/batchClient.d.ts.map +0 -1
  124. package/dist/esm/clientDefinitions.d.ts.map +0 -1
  125. package/dist/esm/credentials/batchSharedKeyCredentials.d.ts.map +0 -1
  126. package/dist/esm/index.d.ts.map +0 -1
  127. package/dist/esm/isUnexpected.d.ts.map +0 -1
  128. package/dist/esm/logger.d.ts.map +0 -1
  129. package/dist/esm/models.d.ts.map +0 -1
  130. package/dist/esm/outputModels.d.ts.map +0 -1
  131. package/dist/esm/paginateHelper.d.ts.map +0 -1
  132. package/dist/esm/parameters.d.ts.map +0 -1
  133. package/dist/esm/replacePoolPropertiesPolicy.d.ts +0 -11
  134. package/dist/esm/replacePoolPropertiesPolicy.d.ts.map +0 -1
  135. package/dist/esm/replacePoolPropertiesPolicy.js +0 -33
  136. package/dist/esm/replacePoolPropertiesPolicy.js.map +0 -1
  137. package/dist/esm/responses.d.ts.map +0 -1
  138. package/dist/react-native/batchClient.d.ts.map +0 -1
  139. package/dist/react-native/clientDefinitions.d.ts.map +0 -1
  140. package/dist/react-native/credentials/batchSharedKeyCredentials-react-native.d.mts.map +0 -1
  141. package/dist/react-native/index.d.ts.map +0 -1
  142. package/dist/react-native/isUnexpected.d.ts.map +0 -1
  143. package/dist/react-native/logger.d.ts.map +0 -1
  144. package/dist/react-native/models.d.ts.map +0 -1
  145. package/dist/react-native/outputModels.d.ts.map +0 -1
  146. package/dist/react-native/paginateHelper.d.ts.map +0 -1
  147. package/dist/react-native/parameters.d.ts.map +0 -1
  148. package/dist/react-native/replacePoolPropertiesPolicy.d.ts +0 -11
  149. package/dist/react-native/replacePoolPropertiesPolicy.d.ts.map +0 -1
  150. package/dist/react-native/replacePoolPropertiesPolicy.js +0 -33
  151. package/dist/react-native/replacePoolPropertiesPolicy.js.map +0 -1
  152. 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,7 +44,7 @@ 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
50
  /**
@@ -55,12 +62,12 @@ export interface BatchPoolCreateContent {
55
62
  */
56
63
  export interface VirtualMachineConfiguration {
57
64
  /** A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use. */
58
- imageReference: ImageReference;
65
+ imageReference: BatchVmImageReference;
59
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. */
60
67
  nodeAgentSKUId: string;
61
68
  /** Windows operating system settings on the virtual machine. This property must not be specified if the imageReference property specifies a Linux OS Image. */
62
69
  windowsConfiguration?: WindowsConfiguration;
63
- /** 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/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/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. */
64
71
  dataDisks?: Array<DataDisk>;
65
72
  /**
66
73
  * This only applies to Images that contain the Windows operating system, and
@@ -75,7 +82,7 @@ export interface VirtualMachineConfiguration {
75
82
  */
76
83
  licenseType?: string;
77
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. */
78
- containerConfiguration?: ContainerConfiguration;
85
+ containerConfiguration?: BatchContainerConfiguration;
79
86
  /** The disk encryption configuration for the pool. If specified, encryption is performed on each node in the pool during node provisioning. */
80
87
  diskEncryptionConfiguration?: DiskEncryptionConfiguration;
81
88
  /** The node placement configuration for the pool. This configuration will specify rules on how nodes in the pool will be physically allocated. */
@@ -83,7 +90,7 @@ export interface VirtualMachineConfiguration {
83
90
  /** The virtual machine extension for the pool. If specified, the extensions mentioned in this configuration will be installed on each node. */
84
91
  extensions?: Array<VMExtension>;
85
92
  /** Settings for the operating system disk of the Virtual Machine. */
86
- osDisk?: OSDisk;
93
+ osDisk?: BatchOsDisk;
87
94
  /** Specifies the security profile settings for the virtual machine or virtual machine scale set. */
88
95
  securityProfile?: SecurityProfile;
89
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} */
@@ -94,7 +101,7 @@ export interface VirtualMachineConfiguration {
94
101
  * To get the list of all Azure Marketplace Image references verified by Azure Batch, see the
95
102
  * ' List Supported Images ' operation.
96
103
  */
97
- export interface ImageReference {
104
+ export interface BatchVmImageReference {
98
105
  /** The publisher of the Azure Virtual Machines Marketplace Image. For example, Canonical or MicrosoftWindowsServer. */
99
106
  publisher?: string;
100
107
  /** The offer type of the Azure Virtual Machines Marketplace Image. For example, UbuntuServer or WindowsServer. */
@@ -103,7 +110,7 @@ export interface ImageReference {
103
110
  sku?: string;
104
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'. */
105
112
  version?: string;
106
- /** 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. */
107
114
  virtualMachineImageId?: string;
108
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. */
109
116
  sharedGalleryImageId?: string;
@@ -139,7 +146,7 @@ export interface DataDisk {
139
146
  storageAccountType?: StorageAccountType;
140
147
  }
141
148
  /** The configuration for container-enabled Pools. */
142
- export interface ContainerConfiguration {
149
+ export interface BatchContainerConfiguration {
143
150
  /**
144
151
  * The container technology to be used.
145
152
  *
@@ -188,7 +195,7 @@ export interface BatchNodePlacementConfiguration {
188
195
  /**
189
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.
190
197
  *
191
- * Possible values: "Shared", "Startup", "VfsMounts", "Task", "JobPrep", "Applications"
198
+ * Possible values: "regional", "zonal"
192
199
  */
193
200
  policy?: BatchNodePlacementPolicyType;
194
201
  }
@@ -214,9 +221,9 @@ export interface VMExtension {
214
221
  provisionAfterExtensions?: string[];
215
222
  }
216
223
  /** Settings for the operating system disk of the compute node (VM). */
217
- export interface OSDisk {
224
+ export interface BatchOsDisk {
218
225
  /** Specifies the ephemeral Disk Settings for the operating system disk used by the compute node (VM). */
219
- ephemeralOSDiskSettings?: DiffDiskSettings;
226
+ ephemeralOSDiskSettings?: BatchDiffDiskSettings;
220
227
  /**
221
228
  * Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The default values are: None for Standard storage. ReadOnly for Premium storage.
222
229
  *
@@ -234,9 +241,9 @@ export interface OSDisk {
234
241
  * Specifies the ephemeral Disk Settings for the operating system disk used by the
235
242
  * compute node (VM).
236
243
  */
237
- export interface DiffDiskSettings {
244
+ export interface BatchDiffDiskSettings {
238
245
  /**
239
- * 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/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.
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.
240
247
  *
241
248
  * Possible values: "cachedisk"
242
249
  */
@@ -251,10 +258,10 @@ export interface ManagedDisk {
251
258
  */
252
259
  storageAccountType?: StorageAccountType;
253
260
  /** Specifies the security profile settings for the managed disk. */
254
- securityProfile?: VMDiskSecurityProfile;
261
+ securityProfile?: BatchVmDiskSecurityProfile;
255
262
  }
256
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. */
257
- export interface VMDiskSecurityProfile {
264
+ export interface BatchVmDiskSecurityProfile {
258
265
  /**
259
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.
260
267
  *
@@ -265,18 +272,18 @@ export interface VMDiskSecurityProfile {
265
272
  /** Specifies the security profile settings for the virtual machine or virtual machine scale set. */
266
273
  export interface SecurityProfile {
267
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. */
268
- encryptionAtHost: boolean;
275
+ encryptionAtHost?: boolean;
269
276
  /**
270
277
  * Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings.
271
278
  *
272
279
  * Possible values: "trustedLaunch", "confidentialVM"
273
280
  */
274
- securityType: SecurityTypes;
281
+ securityType?: SecurityTypes;
275
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. */
276
- uefiSettings: UefiSettings;
283
+ uefiSettings?: BatchUefiSettings;
277
284
  }
278
285
  /** Specifies the security settings like secure boot and vTPM used while creating the virtual machine. */
279
- export interface UefiSettings {
286
+ export interface BatchUefiSettings {
280
287
  /** Specifies whether secure boot should be enabled on the virtual machine. */
281
288
  secureBootEnabled?: boolean;
282
289
  /** Specifies whether vTPM should be enabled on the virtual machine. */
@@ -292,7 +299,7 @@ export interface ServiceArtifactReference {
292
299
  }
293
300
  /** The network configuration for a Pool. */
294
301
  export interface NetworkConfiguration {
295
- /** The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. 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. 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/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 */
296
303
  subnetId?: string;
297
304
  /**
298
305
  * The scope of dynamic vnet assignment.
@@ -303,20 +310,20 @@ export interface NetworkConfiguration {
303
310
  /** The configuration for endpoints on Compute Nodes in the Batch Pool. */
304
311
  endpointConfiguration?: BatchPoolEndpointConfiguration;
305
312
  /** The Public IPAddress configuration for Compute Nodes in the Batch Pool. */
306
- publicIPAddressConfiguration?: PublicIpAddressConfiguration;
313
+ publicIPAddressConfiguration?: BatchPublicIpAddressConfiguration;
307
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. */
308
315
  enableAcceleratedNetworking?: boolean;
309
316
  }
310
317
  /** The endpoint configuration for a Pool. */
311
318
  export interface BatchPoolEndpointConfiguration {
312
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. */
313
- inboundNATPools: Array<InboundNatPool>;
320
+ inboundNATPools: Array<BatchInboundNatPool>;
314
321
  }
315
322
  /**
316
323
  * A inbound NAT Pool that can be used to address specific ports on Compute Nodes
317
324
  * in a Batch Pool externally.
318
325
  */
319
- export interface InboundNatPool {
326
+ export interface BatchInboundNatPool {
320
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. */
321
328
  name: string;
322
329
  /**
@@ -325,7 +332,7 @@ export interface InboundNatPool {
325
332
  * Possible values: "tcp", "udp"
326
333
  */
327
334
  protocol: InboundEndpointProtocol;
328
- /** 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. */
329
336
  backendPort: number;
330
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. */
331
338
  frontendPortRangeStart: number;
@@ -350,7 +357,7 @@ export interface NetworkSecurityGroupRule {
350
357
  sourcePortRanges?: string[];
351
358
  }
352
359
  /** The public IP Address configuration of the networking configuration of a Pool. */
353
- export interface PublicIpAddressConfiguration {
360
+ export interface BatchPublicIpAddressConfiguration {
354
361
  /**
355
362
  * The provisioning type for Public IP Addresses for the Pool. The default value is BatchManaged.
356
363
  *
@@ -376,7 +383,7 @@ export interface PublicIpAddressConfiguration {
376
383
  * block Batch from being able to re-run the StartTask.
377
384
  */
378
385
  export interface BatchStartTask {
379
- /** 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/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). */
380
387
  commandLine: string;
381
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. */
382
389
  containerSettings?: BatchTaskContainerSettings;
@@ -413,7 +420,7 @@ export interface ContainerHostBatchBindMountEntry {
413
420
  /**
414
421
  * The path which be mounted to container customer can select.
415
422
  *
416
- * Possible values: "regional", "zonal"
423
+ * Possible values: "Shared", "Startup", "VfsMounts", "Task", "JobPrep", "Applications"
417
424
  */
418
425
  source?: ContainerHostDataPath;
419
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. */
@@ -453,7 +460,7 @@ export interface UserIdentity {
453
460
  /** Specifies the options for the auto user that runs an Azure Batch Task. */
454
461
  export interface AutoUserSpecification {
455
462
  /**
456
- * 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.
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.
457
464
  *
458
465
  * Possible values: "task", "pool"
459
466
  */
@@ -465,6 +472,23 @@ export interface AutoUserSpecification {
465
472
  */
466
473
  elevationLevel?: ElevationLevel;
467
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
+ }
468
492
  /** A reference to an Package to be deployed to Compute Nodes. */
469
493
  export interface BatchApplicationPackageReference {
470
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}). */
@@ -523,7 +547,7 @@ export interface WindowsUserConfiguration {
523
547
  * The Batch service does not assign any meaning to this metadata; it is solely
524
548
  * for the use of user code.
525
549
  */
526
- export interface MetadataItem {
550
+ export interface BatchMetadataItem {
527
551
  /** The name of the metadata item. */
528
552
  name: string;
529
553
  /** The value of the metadata item. */
@@ -583,10 +607,10 @@ export interface CifsMountConfiguration {
583
607
  export interface AzureFileShareConfiguration {
584
608
  /** The Azure Storage account name. */
585
609
  accountName: string;
586
- /** The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'. */
587
- azureFileUrl: string;
588
610
  /** The Azure Storage account key. */
589
611
  accountKey: string;
612
+ /** The Azure Files URL. This is of the form 'https://{account}.file.core.windows.net/'. */
613
+ azureFileUrl: string;
590
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. */
591
615
  relativeMountPath: string;
592
616
  /** Additional command line options to pass to the mount command. These are 'net use' options in Windows and 'mount' options in Linux. */
@@ -641,19 +665,28 @@ export interface NameValuePair {
641
665
  value?: string;
642
666
  }
643
667
  /** Parameters for updating an Azure Batch Pool. */
644
- export interface BatchPoolUpdateContent {
668
+ export interface BatchPoolUpdateOptions {
645
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. */
646
670
  displayName?: string;
647
- /** 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://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).<br /><br />This field can be updated only when the pool is empty. */
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. */
648
672
  vmSize?: string;
649
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. */
650
674
  enableInterNodeCommunication?: boolean;
651
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. */
652
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>;
653
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. */
654
687
  applicationPackageReferences?: Array<BatchApplicationPackageReference>;
655
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. */
656
- metadata?: Array<MetadataItem>;
689
+ metadata?: Array<BatchMetadataItem>;
657
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. */
658
691
  virtualMachineConfiguration?: VirtualMachineConfiguration;
659
692
  /**
@@ -678,19 +711,19 @@ export interface BatchPoolUpdateContent {
678
711
  upgradePolicy?: UpgradePolicy;
679
712
  }
680
713
  /** Parameters for enabling automatic scaling on an Azure Batch Pool. */
681
- export interface BatchPoolEnableAutoScaleContent {
714
+ export interface BatchPoolEnableAutoScaleOptions {
682
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. */
683
716
  autoScaleFormula?: string;
684
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. */
685
718
  autoScaleEvaluationInterval?: string;
686
719
  }
687
720
  /** Parameters for evaluating an automatic scaling formula on an Azure Batch Pool. */
688
- export interface BatchPoolEvaluateAutoScaleContent {
689
- /** 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/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). */
690
723
  autoScaleFormula: string;
691
724
  }
692
725
  /** Parameters for changing the size of an Azure Batch Pool. */
693
- export interface BatchPoolResizeContent {
726
+ export interface BatchPoolResizeOptions {
694
727
  /** The desired number of dedicated Compute Nodes in the Pool. */
695
728
  targetDedicatedNodes?: number;
696
729
  /** The desired number of Spot/Low-priority Compute Nodes in the Pool. */
@@ -705,13 +738,22 @@ export interface BatchPoolResizeContent {
705
738
  nodeDeallocationOption?: BatchNodeDeallocationOption;
706
739
  }
707
740
  /** Parameters for replacing properties on an Azure Batch Pool. */
708
- export interface BatchPoolReplaceContent {
741
+ export interface BatchPoolReplaceOptions {
709
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. */
710
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>;
711
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. */
712
754
  applicationPackageReferences: Array<BatchApplicationPackageReference>;
713
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. */
714
- metadata: Array<MetadataItem>;
756
+ metadata: Array<BatchMetadataItem>;
715
757
  /**
716
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.
717
759
  *
@@ -720,7 +762,7 @@ export interface BatchPoolReplaceContent {
720
762
  targetNodeCommunicationMode?: BatchNodeCommunicationMode;
721
763
  }
722
764
  /** Parameters for removing nodes from an Azure Batch Pool. */
723
- export interface BatchNodeRemoveContent {
765
+ export interface BatchNodeRemoveOptions {
724
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. */
725
767
  nodeList: string[];
726
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). */
@@ -749,9 +791,9 @@ export interface BatchJob {
749
791
  *
750
792
  * Possible values: "noaction", "terminatejob"
751
793
  */
752
- onAllTasksComplete?: OnAllBatchTasksComplete;
794
+ onAllTasksComplete?: BatchAllTasksCompleteMode;
753
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. */
754
- metadata?: Array<MetadataItem>;
796
+ metadata?: Array<BatchMetadataItem>;
755
797
  }
756
798
  /** The execution constraints for a Job. */
757
799
  export interface BatchJobConstraints {
@@ -790,7 +832,7 @@ export interface BatchJobManagerTask {
790
832
  id: string;
791
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. */
792
834
  displayName?: string;
793
- /** 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/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). */
794
836
  commandLine: string;
795
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. */
796
838
  containerSettings?: BatchTaskContainerSettings;
@@ -848,11 +890,11 @@ export interface OutputFileBlobContainerDestination {
848
890
  containerUrl: string;
849
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. */
850
892
  identityReference?: BatchNodeIdentityReference;
851
- /** 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/rest/api/storageservices/put-blob#request-headers-all-blob-types. */
852
- 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>;
853
895
  }
854
896
  /** An HTTP header name-value pair */
855
- export interface HttpHeader {
897
+ export interface OutputFileUploadHeader {
856
898
  /** The case-insensitive name of the header to be used while uploading output files. */
857
899
  name: string;
858
900
  /** The value of the header to be used while uploading output files. */
@@ -885,7 +927,7 @@ export interface BatchTaskConstraints {
885
927
  */
886
928
  export interface AuthenticationTokenSettings {
887
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. */
888
- access?: AccessScope[];
930
+ access?: BatchAccessScope[];
889
931
  }
890
932
  /**
891
933
  * A Job Preparation Task to run before any Tasks of the Job on any given Compute Node.
@@ -918,7 +960,7 @@ export interface AuthenticationTokenSettings {
918
960
  export interface BatchJobPreparationTask {
919
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). */
920
962
  id?: string;
921
- /** 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/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). */
922
964
  commandLine: string;
923
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. */
924
966
  containerSettings?: BatchTaskContainerSettings;
@@ -956,7 +998,7 @@ export interface BatchJobPreparationTask {
956
998
  export interface BatchJobReleaseTask {
957
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). */
958
1000
  id?: string;
959
- /** 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/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). */
960
1002
  commandLine: string;
961
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. */
962
1004
  containerSettings?: BatchTaskContainerSettings;
@@ -1000,7 +1042,7 @@ export interface BatchAutoPoolSpecification {
1000
1042
  export interface BatchPoolSpecification {
1001
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. */
1002
1044
  displayName?: string;
1003
- /** 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). */
1004
1046
  vmSize: string;
1005
1047
  /** The virtual machine configuration for the Pool. This property must be specified. */
1006
1048
  virtualMachineConfiguration?: VirtualMachineConfiguration;
@@ -1028,12 +1070,18 @@ export interface BatchPoolSpecification {
1028
1070
  networkConfiguration?: NetworkConfiguration;
1029
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. */
1030
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>;
1031
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. */
1032
1080
  applicationPackageReferences?: Array<BatchApplicationPackageReference>;
1033
1081
  /** The list of user Accounts to be created on each Compute Node in the Pool. */
1034
1082
  userAccounts?: Array<UserAccount>;
1035
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. */
1036
- metadata?: Array<MetadataItem>;
1084
+ metadata?: Array<BatchMetadataItem>;
1037
1085
  /** A list of file systems to mount on each node in the pool. This supports Azure Files, NFS, CIFS/SMB, and Blobfuse. */
1038
1086
  mountConfiguration?: Array<MountConfiguration>;
1039
1087
  /**
@@ -1047,10 +1095,10 @@ export interface BatchPoolSpecification {
1047
1095
  }
1048
1096
  /** The network configuration for the Job. */
1049
1097
  export interface BatchJobNetworkConfiguration {
1050
- /** 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://docs.microsoft.com/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. */
1051
1099
  subnetId: string;
1052
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. */
1053
- skipWithdrawFromVNet: boolean;
1101
+ skipWithdrawFromVNet?: boolean;
1054
1102
  }
1055
1103
  /** Contains information about the execution of a Job in the Azure Batch service. */
1056
1104
  export interface BatchJobExecutionInfo {
@@ -1072,7 +1120,7 @@ export interface BatchJobSchedulingError {
1072
1120
  *
1073
1121
  * Possible values: "usererror", "servererror"
1074
1122
  */
1075
- category: ErrorCategory;
1123
+ category: BatchErrorSourceCategory;
1076
1124
  /** An identifier for the Job scheduling error. Codes are invariant and are intended to be consumed programmatically. */
1077
1125
  code?: string;
1078
1126
  /** A message describing the Job scheduling error, intended to be suitable for display in a user interface. */
@@ -1095,24 +1143,24 @@ export interface BatchJobStatistics {
1095
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. */
1096
1144
  wallClockTime: string;
1097
1145
  /** The total number of disk read operations made by all Tasks in the Job. */
1098
- readIOps: number;
1146
+ readIOps: string;
1099
1147
  /** The total number of disk write operations made by all Tasks in the Job. */
1100
- writeIOps: number;
1148
+ writeIOps: string;
1101
1149
  /** The total amount of data in GiB read from disk by all Tasks in the Job. */
1102
1150
  readIOGiB: number;
1103
1151
  /** The total amount of data in GiB written to disk by all Tasks in the Job. */
1104
1152
  writeIOGiB: number;
1105
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. */
1106
- numSucceededTasks: number;
1154
+ numSucceededTasks: string;
1107
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. */
1108
- numFailedTasks: number;
1156
+ numFailedTasks: string;
1109
1157
  /** The total number of retries on all the Tasks in the Job during the given time range. */
1110
- numTaskRetries: number;
1158
+ numTaskRetries: string;
1111
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. */
1112
1160
  waitTime: string;
1113
1161
  }
1114
1162
  /** Parameters for updating an Azure Batch Job. */
1115
- export interface BatchJobUpdateContent {
1163
+ export interface BatchJobUpdateOptions {
1116
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. */
1117
1165
  priority?: number;
1118
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. */
@@ -1128,14 +1176,14 @@ export interface BatchJobUpdateContent {
1128
1176
  *
1129
1177
  * Possible values: "noaction", "terminatejob"
1130
1178
  */
1131
- onAllTasksComplete?: OnAllBatchTasksComplete;
1179
+ onAllTasksComplete?: BatchAllTasksCompleteMode;
1132
1180
  /** A list of name-value pairs associated with the Job as metadata. If omitted, the existing Job metadata is left unchanged. */
1133
- metadata?: Array<MetadataItem>;
1181
+ metadata?: Array<BatchMetadataItem>;
1134
1182
  /** The network configuration for the Job. */
1135
1183
  networkConfiguration?: BatchJobNetworkConfiguration;
1136
1184
  }
1137
1185
  /** Parameters for disabling an Azure Batch Job. */
1138
- export interface BatchJobDisableContent {
1186
+ export interface BatchJobDisableOptions {
1139
1187
  /**
1140
1188
  * What to do with active Tasks associated with the Job.
1141
1189
  *
@@ -1144,12 +1192,12 @@ export interface BatchJobDisableContent {
1144
1192
  disableTasks: DisableBatchJobOption;
1145
1193
  }
1146
1194
  /** Parameters for terminating an Azure Batch Job. */
1147
- export interface BatchJobTerminateContent {
1195
+ export interface BatchJobTerminateOptions {
1148
1196
  /** The text you want to appear as the Job's TerminationReason. The default is 'UserTerminate'. */
1149
1197
  terminateReason?: string;
1150
1198
  }
1151
1199
  /** Parameters for creating an Azure Batch Job. */
1152
- export interface BatchJobCreateContent {
1200
+ export interface BatchJobCreateOptions {
1153
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). */
1154
1202
  id: string;
1155
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. */
@@ -1179,17 +1227,17 @@ export interface BatchJobCreateContent {
1179
1227
  *
1180
1228
  * Possible values: "noaction", "terminatejob"
1181
1229
  */
1182
- onAllTasksComplete?: OnAllBatchTasksComplete;
1230
+ onAllTasksComplete?: BatchAllTasksCompleteMode;
1183
1231
  /**
1184
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.
1185
1233
  *
1186
1234
  * Possible values: "noaction", "performexitoptionsjobaction"
1187
1235
  */
1188
- onTaskFailure?: OnBatchTaskFailure;
1236
+ onTaskFailure?: BatchTaskFailureMode;
1189
1237
  /** The network configuration for the Job. */
1190
1238
  networkConfiguration?: BatchJobNetworkConfiguration;
1191
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. */
1192
- metadata?: Array<MetadataItem>;
1240
+ metadata?: Array<BatchMetadataItem>;
1193
1241
  }
1194
1242
  /** Contains information about the container which a Task is executing. */
1195
1243
  export interface BatchTaskContainerExecutionInfo {
@@ -1207,7 +1255,7 @@ export interface BatchTaskFailureInfo {
1207
1255
  *
1208
1256
  * Possible values: "usererror", "servererror"
1209
1257
  */
1210
- category: ErrorCategory;
1258
+ category: BatchErrorSourceCategory;
1211
1259
  /** An identifier for the Task error. Codes are invariant and are intended to be consumed programmatically. */
1212
1260
  code?: string;
1213
1261
  /** A message describing the Task error, intended to be suitable for display in a user interface. */
@@ -1215,6 +1263,35 @@ export interface BatchTaskFailureInfo {
1215
1263
  /** A list of additional details related to the error. */
1216
1264
  details?: Array<NameValuePair>;
1217
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
+ }
1218
1295
  /**
1219
1296
  * A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a
1220
1297
  * specification used to create each Job.
@@ -1225,7 +1302,7 @@ export interface BatchJobSchedule {
1225
1302
  /** The details of the Jobs to be created on this schedule. */
1226
1303
  jobSpecification: BatchJobSpecification;
1227
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. */
1228
- metadata?: Array<MetadataItem>;
1305
+ metadata?: Array<BatchMetadataItem>;
1229
1306
  }
1230
1307
  /**
1231
1308
  * The schedule according to which Jobs will be created. All times are fixed
@@ -1258,13 +1335,13 @@ export interface BatchJobSpecification {
1258
1335
  *
1259
1336
  * Possible values: "noaction", "terminatejob"
1260
1337
  */
1261
- onAllTasksComplete?: OnAllBatchTasksComplete;
1338
+ onAllTasksComplete?: BatchAllTasksCompleteMode;
1262
1339
  /**
1263
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.
1264
1341
  *
1265
1342
  * Possible values: "noaction", "performexitoptionsjobaction"
1266
1343
  */
1267
- onTaskFailure?: OnBatchTaskFailure;
1344
+ onTaskFailure?: BatchTaskFailureMode;
1268
1345
  /** The network configuration for the Job. */
1269
1346
  networkConfiguration?: BatchJobNetworkConfiguration;
1270
1347
  /** The execution constraints for Jobs created under this schedule. */
@@ -1280,7 +1357,7 @@ export interface BatchJobSpecification {
1280
1357
  /** The Pool on which the Batch service runs the Tasks of Jobs created under this schedule. */
1281
1358
  poolInfo: BatchPoolInfo;
1282
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. */
1283
- metadata?: Array<MetadataItem>;
1360
+ metadata?: Array<BatchMetadataItem>;
1284
1361
  }
1285
1362
  /**
1286
1363
  * Contains information about Jobs that have been and will be run under a Job
@@ -1316,33 +1393,33 @@ export interface BatchJobScheduleStatistics {
1316
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. */
1317
1394
  wallClockTime: string;
1318
1395
  /** The total number of disk read operations made by all Tasks in all Jobs created under the schedule. */
1319
- readIOps: number;
1396
+ readIOps: string;
1320
1397
  /** The total number of disk write operations made by all Tasks in all Jobs created under the schedule. */
1321
- writeIOps: number;
1398
+ writeIOps: string;
1322
1399
  /** The total gibibytes read from disk by all Tasks in all Jobs created under the schedule. */
1323
1400
  readIOGiB: number;
1324
1401
  /** The total gibibytes written to disk by all Tasks in all Jobs created under the schedule. */
1325
1402
  writeIOGiB: number;
1326
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. */
1327
- numSucceededTasks: number;
1404
+ numSucceededTasks: string;
1328
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. */
1329
- numFailedTasks: number;
1406
+ numFailedTasks: string;
1330
1407
  /** The total number of retries during the given time range on all Tasks in all Jobs created under the schedule. */
1331
- numTaskRetries: number;
1408
+ numTaskRetries: string;
1332
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. */
1333
1410
  waitTime: string;
1334
1411
  }
1335
1412
  /** Parameters for updating an Azure Batch Job Schedule. */
1336
- export interface BatchJobScheduleUpdateContent {
1413
+ export interface BatchJobScheduleUpdateOptions {
1337
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. */
1338
1415
  schedule?: BatchJobScheduleConfiguration;
1339
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. */
1340
1417
  jobSpecification?: BatchJobSpecification;
1341
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. */
1342
- metadata?: Array<MetadataItem>;
1419
+ metadata?: Array<BatchMetadataItem>;
1343
1420
  }
1344
1421
  /** Parameters for creating an Azure Batch Job Schedule */
1345
- export interface BatchJobScheduleCreateContent {
1422
+ export interface BatchJobScheduleCreateOptions {
1346
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). */
1347
1424
  id: string;
1348
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. */
@@ -1352,17 +1429,17 @@ export interface BatchJobScheduleCreateContent {
1352
1429
  /** The details of the Jobs to be created on this schedule. */
1353
1430
  jobSpecification: BatchJobSpecification;
1354
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. */
1355
- metadata?: Array<MetadataItem>;
1432
+ metadata?: Array<BatchMetadataItem>;
1356
1433
  }
1357
1434
  /** Parameters for creating an Azure Batch Task. */
1358
- export interface BatchTaskCreateContent {
1435
+ export interface BatchTaskCreateOptions {
1359
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). */
1360
1437
  id: string;
1361
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. */
1362
1439
  displayName?: string;
1363
1440
  /** How the Batch service should respond when the Task completes. */
1364
1441
  exitConditions?: ExitConditions;
1365
- /** 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). */
1366
1443
  commandLine: string;
1367
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. */
1368
1445
  containerSettings?: BatchTaskContainerSettings;
@@ -1373,7 +1450,7 @@ export interface BatchTaskCreateContent {
1373
1450
  /** A list of environment variable settings for the Task. */
1374
1451
  environmentSettings?: Array<EnvironmentSetting>;
1375
1452
  /** A locality hint that can be used by the Batch service to select a Compute Node on which to start the new Task. */
1376
- affinityInfo?: AffinityInfo;
1453
+ affinityInfo?: BatchAffinityInfo;
1377
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. */
1378
1455
  constraints?: BatchTaskConstraints;
1379
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. */
@@ -1419,7 +1496,7 @@ export interface ExitOptions {
1419
1496
  *
1420
1497
  * Possible values: "none", "disable", "terminate"
1421
1498
  */
1422
- jobAction?: BatchJobAction;
1499
+ jobAction?: BatchJobActionKind;
1423
1500
  /**
1424
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.
1425
1502
  *
@@ -1443,7 +1520,7 @@ export interface ExitCodeRangeMapping {
1443
1520
  * A locality hint that can be used by the Batch service to select a Compute Node
1444
1521
  * on which to start a Task.
1445
1522
  */
1446
- export interface AffinityInfo {
1523
+ export interface BatchAffinityInfo {
1447
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. */
1448
1525
  affinityId: string;
1449
1526
  }
@@ -1554,9 +1631,9 @@ export interface BatchTaskStatistics {
1554
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. */
1555
1632
  wallClockTime: string;
1556
1633
  /** The total number of disk read operations made by the Task. */
1557
- readIOps: number;
1634
+ readIOps: string;
1558
1635
  /** The total number of disk write operations made by the Task. */
1559
- writeIOps: number;
1636
+ writeIOps: string;
1560
1637
  /** The total gibibytes read from disk by the Task. */
1561
1638
  readIOGiB: number;
1562
1639
  /** The total gibibytes written to disk by the Task. */
@@ -1567,10 +1644,10 @@ export interface BatchTaskStatistics {
1567
1644
  /** A collection of Azure Batch Tasks to add. */
1568
1645
  export interface BatchTaskGroup {
1569
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. */
1570
- value: Array<BatchTaskCreateContent>;
1647
+ value: Array<BatchTaskCreateOptions>;
1571
1648
  }
1572
1649
  /** Parameters for creating a user account for RDP or SSH access on an Azure Batch Compute Node. */
1573
- export interface BatchNodeUserCreateContent {
1650
+ export interface BatchNodeUserCreateOptions {
1574
1651
  /** The user name of the Account. */
1575
1652
  name: string;
1576
1653
  /** Whether the Account should be an administrator on the Compute Node. The default value is false. */
@@ -1583,7 +1660,7 @@ export interface BatchNodeUserCreateContent {
1583
1660
  sshPublicKey?: string;
1584
1661
  }
1585
1662
  /** Parameters for updating a user account for RDP or SSH access on an Azure Batch Compute Node. */
1586
- export interface BatchNodeUserUpdateContent {
1663
+ export interface BatchNodeUserUpdateOptions {
1587
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. */
1588
1665
  password?: string;
1589
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. */
@@ -1592,16 +1669,16 @@ export interface BatchNodeUserUpdateContent {
1592
1669
  sshPublicKey?: string;
1593
1670
  }
1594
1671
  /** Parameters for rebooting an Azure Batch Compute Node. */
1595
- export interface BatchNodeRebootContent {
1672
+ export interface BatchNodeRebootOptions {
1596
1673
  /**
1597
1674
  * When to reboot the Compute Node and what to do with currently running Tasks. The default value is requeue.
1598
1675
  *
1599
1676
  * Possible values: "requeue", "terminate", "taskcompletion", "retaineddata"
1600
1677
  */
1601
- nodeRebootOption?: BatchNodeRebootOption;
1678
+ nodeRebootOption?: BatchNodeRebootKind;
1602
1679
  }
1603
1680
  /** Options for deallocating a Compute Node. */
1604
- export interface BatchNodeDeallocateContent {
1681
+ export interface BatchNodeDeallocateOptions {
1605
1682
  /**
1606
1683
  * When to deallocate the Compute Node and what to do with currently running Tasks. The default value is requeue.
1607
1684
  *
@@ -1610,7 +1687,7 @@ export interface BatchNodeDeallocateContent {
1610
1687
  nodeDeallocateOption?: BatchNodeDeallocateOption;
1611
1688
  }
1612
1689
  /** Parameters for reimaging an Azure Batch Compute Node. */
1613
- export interface BatchNodeReimageContent {
1690
+ export interface BatchNodeReimageOptions {
1614
1691
  /**
1615
1692
  * When to reimage the Compute Node and what to do with currently running Tasks. The default value is requeue.
1616
1693
  *
@@ -1619,7 +1696,7 @@ export interface BatchNodeReimageContent {
1619
1696
  nodeReimageOption?: BatchNodeReimageOption;
1620
1697
  }
1621
1698
  /** Parameters for disabling scheduling on an Azure Batch Compute Node. */
1622
- export interface BatchNodeDisableSchedulingContent {
1699
+ export interface BatchNodeDisableSchedulingOptions {
1623
1700
  /**
1624
1701
  * What to do with currently running Tasks when disabling Task scheduling on the Compute Node. The default value is requeue.
1625
1702
  *
@@ -1628,7 +1705,7 @@ export interface BatchNodeDisableSchedulingContent {
1628
1705
  nodeDisableSchedulingOption?: BatchNodeDisableSchedulingOption;
1629
1706
  }
1630
1707
  /** The Azure Batch service log files upload parameters for a Compute Node. */
1631
- export interface UploadBatchServiceLogsContent {
1708
+ export interface UploadBatchServiceLogsOptions {
1632
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. */
1633
1710
  containerUrl: string;
1634
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. */
@@ -1670,6 +1747,10 @@ export type ContainerHostDataPath = string;
1670
1747
  export type AutoUserScope = string;
1671
1748
  /** Alias for ElevationLevel */
1672
1749
  export type ElevationLevel = string;
1750
+ /** Alias for BatchCertificateStoreLocation */
1751
+ export type BatchCertificateStoreLocation = string;
1752
+ /** Alias for BatchCertificateVisibility */
1753
+ export type BatchCertificateVisibility = string;
1673
1754
  /** Alias for BatchNodeFillType */
1674
1755
  export type BatchNodeFillType = string;
1675
1756
  /** Alias for LoginMode */
@@ -1684,30 +1765,34 @@ export type BatchNodeDeallocationOption = string;
1684
1765
  export type BatchJobState = string;
1685
1766
  /** Alias for OutputFileUploadCondition */
1686
1767
  export type OutputFileUploadCondition = string;
1687
- /** Alias for AccessScope */
1688
- export type AccessScope = string;
1768
+ /** Alias for BatchAccessScope */
1769
+ export type BatchAccessScope = string;
1689
1770
  /** Alias for BatchPoolLifetimeOption */
1690
1771
  export type BatchPoolLifetimeOption = string;
1691
- /** Alias for OnAllBatchTasksComplete */
1692
- export type OnAllBatchTasksComplete = string;
1693
- /** Alias for OnBatchTaskFailure */
1694
- export type OnBatchTaskFailure = string;
1695
- /** Alias for ErrorCategory */
1696
- 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;
1697
1778
  /** Alias for DisableBatchJobOption */
1698
1779
  export type DisableBatchJobOption = string;
1699
1780
  /** Alias for BatchTaskExecutionResult */
1700
1781
  export type BatchTaskExecutionResult = string;
1782
+ /** Alias for BatchCertificateState */
1783
+ export type BatchCertificateState = string;
1784
+ /** Alias for BatchCertificateFormat */
1785
+ export type BatchCertificateFormat = string;
1701
1786
  /** Alias for BatchJobScheduleState */
1702
1787
  export type BatchJobScheduleState = string;
1703
- /** Alias for BatchJobAction */
1704
- export type BatchJobAction = string;
1788
+ /** Alias for BatchJobActionKind */
1789
+ export type BatchJobActionKind = string;
1705
1790
  /** Alias for DependencyAction */
1706
1791
  export type DependencyAction = string;
1707
1792
  /** Alias for BatchTaskState */
1708
1793
  export type BatchTaskState = string;
1709
- /** Alias for BatchNodeRebootOption */
1710
- export type BatchNodeRebootOption = string;
1794
+ /** Alias for BatchNodeRebootKind */
1795
+ export type BatchNodeRebootKind = string;
1711
1796
  /** Alias for BatchNodeDeallocateOption */
1712
1797
  export type BatchNodeDeallocateOption = string;
1713
1798
  /** Alias for BatchNodeReimageOption */