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

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 (176) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -1
  3. package/dist/browser/batchClient.d.ts +3 -3
  4. package/dist/browser/batchClient.d.ts.map +1 -1
  5. package/dist/browser/batchClient.js +5 -4
  6. package/dist/browser/batchClient.js.map +1 -1
  7. package/dist/browser/clientDefinitions.d.ts +28 -7
  8. package/dist/browser/clientDefinitions.d.ts.map +1 -1
  9. package/dist/browser/clientDefinitions.js +1 -1
  10. package/dist/browser/clientDefinitions.js.map +1 -1
  11. package/dist/browser/credentials/batchSharedKeyCredentials-browser.mjs.map +1 -1
  12. package/dist/browser/credentials/batchSharedKeyCredentials.js +1 -1
  13. package/dist/browser/index.js +1 -1
  14. package/dist/browser/index.js.map +1 -1
  15. package/dist/browser/isUnexpected.d.ts +4 -1
  16. package/dist/browser/isUnexpected.d.ts.map +1 -1
  17. package/dist/browser/isUnexpected.js +4 -1
  18. package/dist/browser/isUnexpected.js.map +1 -1
  19. package/dist/browser/logger.js +1 -1
  20. package/dist/browser/logger.js.map +1 -1
  21. package/dist/browser/models.d.ts +305 -61
  22. package/dist/browser/models.d.ts.map +1 -1
  23. package/dist/browser/models.js +1 -1
  24. package/dist/browser/models.js.map +1 -1
  25. package/dist/browser/outputModels.d.ts +353 -79
  26. package/dist/browser/outputModels.d.ts.map +1 -1
  27. package/dist/browser/outputModels.js +1 -1
  28. package/dist/browser/outputModels.js.map +1 -1
  29. package/dist/browser/paginateHelper.d.ts +2 -2
  30. package/dist/browser/paginateHelper.d.ts.map +1 -1
  31. package/dist/browser/paginateHelper.js +1 -1
  32. package/dist/browser/paginateHelper.js.map +1 -1
  33. package/dist/browser/parameters.d.ts +117 -15
  34. package/dist/browser/parameters.d.ts.map +1 -1
  35. package/dist/browser/parameters.js +1 -1
  36. package/dist/browser/parameters.js.map +1 -1
  37. package/dist/browser/replacePoolPropertiesPolicy.d.ts +1 -1
  38. package/dist/browser/replacePoolPropertiesPolicy.d.ts.map +1 -1
  39. package/dist/browser/replacePoolPropertiesPolicy.js +1 -1
  40. package/dist/browser/replacePoolPropertiesPolicy.js.map +1 -1
  41. package/dist/browser/responses.d.ts +66 -3
  42. package/dist/browser/responses.d.ts.map +1 -1
  43. package/dist/browser/responses.js +1 -1
  44. package/dist/browser/responses.js.map +1 -1
  45. package/dist/commonjs/batchClient.d.ts +3 -3
  46. package/dist/commonjs/batchClient.d.ts.map +1 -1
  47. package/dist/commonjs/batchClient.js +5 -4
  48. package/dist/commonjs/batchClient.js.map +1 -1
  49. package/dist/commonjs/clientDefinitions.d.ts +28 -7
  50. package/dist/commonjs/clientDefinitions.d.ts.map +1 -1
  51. package/dist/commonjs/clientDefinitions.js +1 -1
  52. package/dist/commonjs/clientDefinitions.js.map +1 -1
  53. package/dist/commonjs/credentials/batchSharedKeyCredentials.d.ts +1 -1
  54. package/dist/commonjs/credentials/batchSharedKeyCredentials.d.ts.map +1 -1
  55. package/dist/commonjs/credentials/batchSharedKeyCredentials.js +1 -1
  56. package/dist/commonjs/credentials/batchSharedKeyCredentials.js.map +1 -1
  57. package/dist/commonjs/index.js +1 -1
  58. package/dist/commonjs/index.js.map +1 -1
  59. package/dist/commonjs/isUnexpected.d.ts +4 -1
  60. package/dist/commonjs/isUnexpected.d.ts.map +1 -1
  61. package/dist/commonjs/isUnexpected.js +4 -1
  62. package/dist/commonjs/isUnexpected.js.map +1 -1
  63. package/dist/commonjs/logger.js +1 -1
  64. package/dist/commonjs/logger.js.map +1 -1
  65. package/dist/commonjs/models.d.ts +305 -61
  66. package/dist/commonjs/models.d.ts.map +1 -1
  67. package/dist/commonjs/models.js +1 -1
  68. package/dist/commonjs/models.js.map +1 -1
  69. package/dist/commonjs/outputModels.d.ts +353 -79
  70. package/dist/commonjs/outputModels.d.ts.map +1 -1
  71. package/dist/commonjs/outputModels.js +1 -1
  72. package/dist/commonjs/outputModels.js.map +1 -1
  73. package/dist/commonjs/paginateHelper.d.ts +2 -2
  74. package/dist/commonjs/paginateHelper.d.ts.map +1 -1
  75. package/dist/commonjs/paginateHelper.js +1 -1
  76. package/dist/commonjs/paginateHelper.js.map +1 -1
  77. package/dist/commonjs/parameters.d.ts +117 -15
  78. package/dist/commonjs/parameters.d.ts.map +1 -1
  79. package/dist/commonjs/parameters.js +1 -1
  80. package/dist/commonjs/parameters.js.map +1 -1
  81. package/dist/commonjs/replacePoolPropertiesPolicy.d.ts +1 -1
  82. package/dist/commonjs/replacePoolPropertiesPolicy.d.ts.map +1 -1
  83. package/dist/commonjs/replacePoolPropertiesPolicy.js +1 -1
  84. package/dist/commonjs/replacePoolPropertiesPolicy.js.map +1 -1
  85. package/dist/commonjs/responses.d.ts +66 -3
  86. package/dist/commonjs/responses.d.ts.map +1 -1
  87. package/dist/commonjs/responses.js +1 -1
  88. package/dist/commonjs/responses.js.map +1 -1
  89. package/dist/commonjs/tsdoc-metadata.json +1 -1
  90. package/dist/esm/batchClient.d.ts +3 -3
  91. package/dist/esm/batchClient.d.ts.map +1 -1
  92. package/dist/esm/batchClient.js +5 -4
  93. package/dist/esm/batchClient.js.map +1 -1
  94. package/dist/esm/clientDefinitions.d.ts +28 -7
  95. package/dist/esm/clientDefinitions.d.ts.map +1 -1
  96. package/dist/esm/clientDefinitions.js +1 -1
  97. package/dist/esm/clientDefinitions.js.map +1 -1
  98. package/dist/esm/credentials/batchSharedKeyCredentials.d.ts +1 -1
  99. package/dist/esm/credentials/batchSharedKeyCredentials.d.ts.map +1 -1
  100. package/dist/esm/credentials/batchSharedKeyCredentials.js +1 -1
  101. package/dist/esm/credentials/batchSharedKeyCredentials.js.map +1 -1
  102. package/dist/esm/index.js +1 -1
  103. package/dist/esm/index.js.map +1 -1
  104. package/dist/esm/isUnexpected.d.ts +4 -1
  105. package/dist/esm/isUnexpected.d.ts.map +1 -1
  106. package/dist/esm/isUnexpected.js +4 -1
  107. package/dist/esm/isUnexpected.js.map +1 -1
  108. package/dist/esm/logger.js +1 -1
  109. package/dist/esm/logger.js.map +1 -1
  110. package/dist/esm/models.d.ts +305 -61
  111. package/dist/esm/models.d.ts.map +1 -1
  112. package/dist/esm/models.js +1 -1
  113. package/dist/esm/models.js.map +1 -1
  114. package/dist/esm/outputModels.d.ts +353 -79
  115. package/dist/esm/outputModels.d.ts.map +1 -1
  116. package/dist/esm/outputModels.js +1 -1
  117. package/dist/esm/outputModels.js.map +1 -1
  118. package/dist/esm/paginateHelper.d.ts +2 -2
  119. package/dist/esm/paginateHelper.d.ts.map +1 -1
  120. package/dist/esm/paginateHelper.js +1 -1
  121. package/dist/esm/paginateHelper.js.map +1 -1
  122. package/dist/esm/parameters.d.ts +117 -15
  123. package/dist/esm/parameters.d.ts.map +1 -1
  124. package/dist/esm/parameters.js +1 -1
  125. package/dist/esm/parameters.js.map +1 -1
  126. package/dist/esm/replacePoolPropertiesPolicy.d.ts +1 -1
  127. package/dist/esm/replacePoolPropertiesPolicy.d.ts.map +1 -1
  128. package/dist/esm/replacePoolPropertiesPolicy.js +1 -1
  129. package/dist/esm/replacePoolPropertiesPolicy.js.map +1 -1
  130. package/dist/esm/responses.d.ts +66 -3
  131. package/dist/esm/responses.d.ts.map +1 -1
  132. package/dist/esm/responses.js +1 -1
  133. package/dist/esm/responses.js.map +1 -1
  134. package/dist/react-native/batchClient.d.ts +3 -3
  135. package/dist/react-native/batchClient.d.ts.map +1 -1
  136. package/dist/react-native/batchClient.js +5 -4
  137. package/dist/react-native/batchClient.js.map +1 -1
  138. package/dist/react-native/clientDefinitions.d.ts +28 -7
  139. package/dist/react-native/clientDefinitions.d.ts.map +1 -1
  140. package/dist/react-native/clientDefinitions.js +1 -1
  141. package/dist/react-native/clientDefinitions.js.map +1 -1
  142. package/dist/react-native/credentials/batchSharedKeyCredentials-react-native.mjs.map +1 -1
  143. package/dist/react-native/credentials/batchSharedKeyCredentials.js +1 -1
  144. package/dist/react-native/index.js +1 -1
  145. package/dist/react-native/index.js.map +1 -1
  146. package/dist/react-native/isUnexpected.d.ts +4 -1
  147. package/dist/react-native/isUnexpected.d.ts.map +1 -1
  148. package/dist/react-native/isUnexpected.js +4 -1
  149. package/dist/react-native/isUnexpected.js.map +1 -1
  150. package/dist/react-native/logger.js +1 -1
  151. package/dist/react-native/logger.js.map +1 -1
  152. package/dist/react-native/models.d.ts +305 -61
  153. package/dist/react-native/models.d.ts.map +1 -1
  154. package/dist/react-native/models.js +1 -1
  155. package/dist/react-native/models.js.map +1 -1
  156. package/dist/react-native/outputModels.d.ts +353 -79
  157. package/dist/react-native/outputModels.d.ts.map +1 -1
  158. package/dist/react-native/outputModels.js +1 -1
  159. package/dist/react-native/outputModels.js.map +1 -1
  160. package/dist/react-native/paginateHelper.d.ts +2 -2
  161. package/dist/react-native/paginateHelper.d.ts.map +1 -1
  162. package/dist/react-native/paginateHelper.js +1 -1
  163. package/dist/react-native/paginateHelper.js.map +1 -1
  164. package/dist/react-native/parameters.d.ts +117 -15
  165. package/dist/react-native/parameters.d.ts.map +1 -1
  166. package/dist/react-native/parameters.js +1 -1
  167. package/dist/react-native/parameters.js.map +1 -1
  168. package/dist/react-native/replacePoolPropertiesPolicy.d.ts +1 -1
  169. package/dist/react-native/replacePoolPropertiesPolicy.d.ts.map +1 -1
  170. package/dist/react-native/replacePoolPropertiesPolicy.js +1 -1
  171. package/dist/react-native/replacePoolPropertiesPolicy.js.map +1 -1
  172. package/dist/react-native/responses.d.ts +66 -3
  173. package/dist/react-native/responses.d.ts.map +1 -1
  174. package/dist/react-native/responses.js +1 -1
  175. package/dist/react-native/responses.js.map +1 -1
  176. package/package.json +33 -41
@@ -68,7 +68,7 @@ export interface VirtualMachineConfigurationOutput {
68
68
  nodeAgentSKUId: string;
69
69
  /** Windows operating system settings on the virtual machine. This property must not be specified if the imageReference property specifies a Linux OS Image. */
70
70
  windowsConfiguration?: WindowsConfigurationOutput;
71
- /** The configuration for data disks attached to the Compute Nodes in the Pool. This property must be specified if the Compute Nodes in the Pool need to have empty data disks attached to them. This cannot be updated. Each Compute Node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the Compute Node is removed from the Pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine. */
71
+ /** 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. */
72
72
  dataDisks?: Array<DataDiskOutput>;
73
73
  /**
74
74
  * This only applies to Images that contain the Windows operating system, and
@@ -115,6 +115,10 @@ export interface ImageReferenceOutput {
115
115
  virtualMachineImageId?: string;
116
116
  /** The specific version of the platform image or marketplace image used to create the node. This read-only field differs from 'version' only if the value specified for 'version' when the pool was created was 'latest'. */
117
117
  readonly exactVersion?: string;
118
+ /** The shared gallery image unique identifier. This property is mutually exclusive with other properties and can be fetched from shared gallery image GET call. */
119
+ sharedGalleryImageId?: string;
120
+ /** The community gallery image unique identifier. This property is mutually exclusive with other properties and can be fetched from community gallery image GET call. */
121
+ communityGalleryImageId?: string;
118
122
  }
119
123
  /** Windows operating system settings to apply to the virtual machine. */
120
124
  export interface WindowsConfigurationOutput {
@@ -129,16 +133,28 @@ export interface WindowsConfigurationOutput {
129
133
  export interface DataDiskOutput {
130
134
  /** The logical unit number. The logicalUnitNumber is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct logicalUnitNumber. The value must be between 0 and 63, inclusive. */
131
135
  lun: number;
132
- /** The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. */
136
+ /**
137
+ * The type of caching to be enabled for the data disks. The default value for caching is readwrite. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
138
+ *
139
+ * Possible values: "none", "readonly", "readwrite"
140
+ */
133
141
  caching?: CachingTypeOutput;
134
142
  /** The initial disk size in gigabytes. */
135
143
  diskSizeGB: number;
136
- /** The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs". */
144
+ /**
145
+ * The storage Account type to be used for the data disk. If omitted, the default is "standard_lrs".
146
+ *
147
+ * Possible values: "standard_lrs", "premium_lrs", "standardssd_lrs"
148
+ */
137
149
  storageAccountType?: StorageAccountTypeOutput;
138
150
  }
139
151
  /** The configuration for container-enabled Pools. */
140
152
  export interface ContainerConfigurationOutput {
141
- /** The container technology to be used. */
153
+ /**
154
+ * The container technology to be used.
155
+ *
156
+ * Possible values: "dockerCompatible", "criCompatible"
157
+ */
142
158
  type: ContainerTypeOutput;
143
159
  /** The collection of container Image names. This is the full Image reference, as would be specified to "docker pull". An Image will be sourced from the default Docker registry unless the Image is fully qualified with an alternative registry. */
144
160
  containerImageNames?: string[];
@@ -170,7 +186,7 @@ export interface BatchNodeIdentityReferenceOutput {
170
186
  * Azure Compute Gallery Image.
171
187
  */
172
188
  export interface DiskEncryptionConfigurationOutput {
173
- /** The list of disk targets Batch Service will encrypt on the compute node. If omitted, no disks on the compute nodes in the pool will be encrypted. On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified. */
189
+ /** The list of disk targets Batch Service will encrypt on the compute node. The list of disk targets Batch Service will encrypt on the compute node. */
174
190
  targets?: DiskEncryptionTargetOutput[];
175
191
  }
176
192
  /**
@@ -179,7 +195,11 @@ export interface DiskEncryptionConfigurationOutput {
179
195
  * with best effort balancing.
180
196
  */
181
197
  export interface BatchNodePlacementConfigurationOutput {
182
- /** 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. */
198
+ /**
199
+ * 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.
200
+ *
201
+ * Possible values: "Shared", "Startup", "VfsMounts", "Task", "JobPrep", "Applications"
202
+ */
183
203
  policy?: BatchNodePlacementPolicyTypeOutput;
184
204
  }
185
205
  /** The configuration for virtual machine extensions. */
@@ -207,7 +227,11 @@ export interface VMExtensionOutput {
207
227
  export interface OSDiskOutput {
208
228
  /** Specifies the ephemeral Disk Settings for the operating system disk used by the compute node (VM). */
209
229
  ephemeralOSDiskSettings?: DiffDiskSettingsOutput;
210
- /** Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The default values are: None for Standard storage. ReadOnly for Premium storage. */
230
+ /**
231
+ * Specifies the caching requirements. Possible values are: None, ReadOnly, ReadWrite. The default values are: None for Standard storage. ReadOnly for Premium storage.
232
+ *
233
+ * Possible values: "none", "readonly", "readwrite"
234
+ */
211
235
  caching?: CachingTypeOutput;
212
236
  /** The initial disk size in GB when creating new OS disk. */
213
237
  diskSizeGB?: number;
@@ -221,19 +245,42 @@ export interface OSDiskOutput {
221
245
  * compute node (VM).
222
246
  */
223
247
  export interface DiffDiskSettingsOutput {
224
- /** Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose the location e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements. */
248
+ /**
249
+ * 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.
250
+ *
251
+ * Possible values: "cachedisk"
252
+ */
225
253
  placement?: DiffDiskPlacementOutput;
226
254
  }
227
255
  /** The managed disk parameters. */
228
256
  export interface ManagedDiskOutput {
229
- /** The storage account type for managed disk. */
230
- storageAccountType: StorageAccountTypeOutput;
257
+ /**
258
+ * The storage account type for managed disk.
259
+ *
260
+ * Possible values: "standard_lrs", "premium_lrs", "standardssd_lrs"
261
+ */
262
+ storageAccountType?: StorageAccountTypeOutput;
263
+ /** Specifies the security profile settings for the managed disk. */
264
+ securityProfile?: VMDiskSecurityProfileOutput;
265
+ }
266
+ /** Specifies the security profile settings for the managed disk. **Note**: It can only be set for Confidential VMs and required when using Confidential VMs. */
267
+ export interface VMDiskSecurityProfileOutput {
268
+ /**
269
+ * 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.
270
+ *
271
+ * Possible values: "NonPersistedTPM", "VMGuestStateOnly"
272
+ */
273
+ securityEncryptionType?: SecurityEncryptionTypesOutput;
231
274
  }
232
275
  /** Specifies the security profile settings for the virtual machine or virtual machine scale set. */
233
276
  export interface SecurityProfileOutput {
234
- /** 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. */
277
+ /** 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. */
235
278
  encryptionAtHost: boolean;
236
- /** Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings. */
279
+ /**
280
+ * Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings.
281
+ *
282
+ * Possible values: "trustedLaunch", "confidentialVM"
283
+ */
237
284
  securityType: SecurityTypesOutput;
238
285
  /** 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. */
239
286
  uefiSettings: UefiSettingsOutput;
@@ -255,13 +302,17 @@ export interface ServiceArtifactReferenceOutput {
255
302
  }
256
303
  /** The network configuration for a Pool. */
257
304
  export interface NetworkConfigurationOutput {
258
- /** The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. For Pools created with virtualMachineConfiguration only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For Pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. */
305
+ /** 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. */
259
306
  subnetId?: string;
260
- /** The scope of dynamic vnet assignment. */
307
+ /**
308
+ * The scope of dynamic vnet assignment.
309
+ *
310
+ * Possible values: "none", "job"
311
+ */
261
312
  dynamicVNetAssignmentScope?: DynamicVNetAssignmentScopeOutput;
262
- /** The configuration for endpoints on Compute Nodes in the Batch Pool. Pool endpoint configuration is only supported on Pools with the virtualMachineConfiguration property. */
313
+ /** The configuration for endpoints on Compute Nodes in the Batch Pool. */
263
314
  endpointConfiguration?: BatchPoolEndpointConfigurationOutput;
264
- /** The Public IPAddress configuration for Compute Nodes in the Batch Pool. Public IP configuration property is only supported on Pools with the virtualMachineConfiguration property. */
315
+ /** The Public IPAddress configuration for Compute Nodes in the Batch Pool. */
265
316
  publicIPAddressConfiguration?: PublicIpAddressConfigurationOutput;
266
317
  /** 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. */
267
318
  enableAcceleratedNetworking?: boolean;
@@ -278,7 +329,11 @@ export interface BatchPoolEndpointConfigurationOutput {
278
329
  export interface InboundNatPoolOutput {
279
330
  /** 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. */
280
331
  name: string;
281
- /** The protocol of the endpoint. */
332
+ /**
333
+ * The protocol of the endpoint.
334
+ *
335
+ * Possible values: "tcp", "udp"
336
+ */
282
337
  protocol: InboundEndpointProtocolOutput;
283
338
  /** 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. */
284
339
  backendPort: number;
@@ -293,7 +348,11 @@ export interface InboundNatPoolOutput {
293
348
  export interface NetworkSecurityGroupRuleOutput {
294
349
  /** The priority for this rule. Priorities within a Pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400. */
295
350
  priority: number;
296
- /** The action that should be taken for a specified IP address, subnet range or tag. */
351
+ /**
352
+ * The action that should be taken for a specified IP address, subnet range or tag.
353
+ *
354
+ * Possible values: "allow", "deny"
355
+ */
297
356
  access: NetworkSecurityGroupRuleAccessOutput;
298
357
  /** The source address prefix or tag to match for the rule. Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400. */
299
358
  sourceAddressPrefix: string;
@@ -302,7 +361,11 @@ export interface NetworkSecurityGroupRuleOutput {
302
361
  }
303
362
  /** The public IP Address configuration of the networking configuration of a Pool. */
304
363
  export interface PublicIpAddressConfigurationOutput {
305
- /** The provisioning type for Public IP Addresses for the Pool. The default value is BatchManaged. */
364
+ /**
365
+ * The provisioning type for Public IP Addresses for the Pool. The default value is BatchManaged.
366
+ *
367
+ * Possible values: "batchmanaged", "usermanaged", "nopublicipaddresses"
368
+ */
306
369
  provision?: IpAddressProvisioningTypeOutput;
307
370
  /** The list of public IPs which the Batch service will use when provisioning Compute Nodes. The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 Spot/Low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. */
308
371
  ipAddressIds?: string[];
@@ -323,7 +386,7 @@ export interface PublicIpAddressConfigurationOutput {
323
386
  * block Batch from being able to re-run the StartTask.
324
387
  */
325
388
  export interface BatchStartTaskOutput {
326
- /** The command line of the StartTask. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
389
+ /** 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). */
327
390
  commandLine: string;
328
391
  /** 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. */
329
392
  containerSettings?: BatchTaskContainerSettingsOutput;
@@ -346,8 +409,25 @@ export interface BatchTaskContainerSettingsOutput {
346
409
  imageName: string;
347
410
  /** The private registry which contains the container Image. This setting can be omitted if was already provided at Pool creation. */
348
411
  registry?: ContainerRegistryReferenceOutput;
349
- /** The location of the container Task working directory. The default is 'taskWorkingDirectory'. */
412
+ /**
413
+ * The location of the container Task working directory. The default is 'taskWorkingDirectory'.
414
+ *
415
+ * Possible values: "taskWorkingDirectory", "containerImageDefault"
416
+ */
350
417
  workingDirectory?: ContainerWorkingDirectoryOutput;
418
+ /** The paths you want to mounted to container task. If this array is null or be not present, container task will mount entire temporary disk drive in windows (or AZ_BATCH_NODE_ROOT_DIR in Linux). It won't' mount any data paths into container if this array is set as empty. */
419
+ containerHostBatchBindMounts?: Array<ContainerHostBatchBindMountEntryOutput>;
420
+ }
421
+ /** The entry of path and mount mode you want to mount into task container. */
422
+ export interface ContainerHostBatchBindMountEntryOutput {
423
+ /**
424
+ * The path which be mounted to container customer can select.
425
+ *
426
+ * Possible values: "regional", "zonal"
427
+ */
428
+ source?: ContainerHostDataPathOutput;
429
+ /** 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. */
430
+ isReadOnly?: boolean;
351
431
  }
352
432
  /** A single file or multiple files to be downloaded to a Compute Node. */
353
433
  export interface ResourceFileOutput {
@@ -382,9 +462,17 @@ export interface UserIdentityOutput {
382
462
  }
383
463
  /** Specifies the options for the auto user that runs an Azure Batch Task. */
384
464
  export interface AutoUserSpecificationOutput {
385
- /** 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. */
465
+ /**
466
+ * 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.
467
+ *
468
+ * Possible values: "task", "pool"
469
+ */
386
470
  scope?: AutoUserScopeOutput;
387
- /** The elevation level of the auto user. The default value is nonAdmin. */
471
+ /**
472
+ * The elevation level of the auto user. The default value is nonAdmin.
473
+ *
474
+ * Possible values: "nonadmin", "admin"
475
+ */
388
476
  elevationLevel?: ElevationLevelOutput;
389
477
  }
390
478
  /** A reference to an Package to be deployed to Compute Nodes. */
@@ -396,7 +484,11 @@ export interface BatchApplicationPackageReferenceOutput {
396
484
  }
397
485
  /** Specifies how Tasks should be distributed across Compute Nodes. */
398
486
  export interface BatchTaskSchedulingPolicyOutput {
399
- /** How Tasks are distributed across Compute Nodes in a Pool. If not specified, the default is spread. */
487
+ /**
488
+ * How Tasks are distributed across Compute Nodes in a Pool. If not specified, the default is spread.
489
+ *
490
+ * Possible values: "spread", "pack"
491
+ */
400
492
  nodeFillType: BatchNodeFillTypeOutput;
401
493
  }
402
494
  /**
@@ -408,7 +500,11 @@ export interface UserAccountOutput {
408
500
  name: string;
409
501
  /** The password for the user Account. */
410
502
  password: string;
411
- /** The elevation level of the user Account. The default value is nonAdmin. */
503
+ /**
504
+ * The elevation level of the user Account. The default value is nonAdmin.
505
+ *
506
+ * Possible values: "nonadmin", "admin"
507
+ */
412
508
  elevationLevel?: ElevationLevelOutput;
413
509
  /** The Linux-specific user configuration for the user Account. This property is ignored if specified on a Windows Pool. If not specified, the user is created with the default options. */
414
510
  linuxUserConfiguration?: LinuxUserConfigurationOutput;
@@ -426,7 +522,11 @@ export interface LinuxUserConfigurationOutput {
426
522
  }
427
523
  /** Properties used to create a user Account on a Windows Compute Node. */
428
524
  export interface WindowsUserConfigurationOutput {
429
- /** The login mode for the user. The default value for VirtualMachineConfiguration Pools is 'batch'. */
525
+ /**
526
+ * The login mode for the user. The default is 'batch'.
527
+ *
528
+ * Possible values: "batch", "interactive"
529
+ */
430
530
  loginMode?: LoginModeOutput;
431
531
  }
432
532
  /**
@@ -504,18 +604,22 @@ export interface AzureFileShareConfigurationOutput {
504
604
  }
505
605
  /** Describes an upgrade policy - automatic, manual, or rolling. */
506
606
  export interface UpgradePolicyOutput {
507
- /** Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time.<br /><br /> **Rolling** - Scale set performs updates in batches with an optional pause time in between. */
607
+ /**
608
+ * Specifies the mode of an upgrade to virtual machines in the scale set.<br /><br /> Possible values are:<br /><br /> **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.<br /><br /> **Automatic** - All virtual machines in the scale set are automatically updated at the same time.<br /><br /> **Rolling** - Scale set performs updates in batches with an optional pause time in between.
609
+ *
610
+ * Possible values: "automatic", "manual", "rolling"
611
+ */
508
612
  mode: UpgradeModeOutput;
509
613
  /** Configuration parameters used for performing automatic OS Upgrade. The configuration parameters used for performing automatic OS upgrade. */
510
614
  automaticOSUpgradePolicy?: AutomaticOsUpgradePolicyOutput;
511
- /** The configuration parameters used while performing a rolling upgrade. This property is only supported on Pools with the virtualMachineConfiguration property. */
615
+ /** The configuration parameters used while performing a rolling upgrade. */
512
616
  rollingUpgradePolicy?: RollingUpgradePolicyOutput;
513
617
  }
514
618
  /** The configuration parameters used for performing automatic OS upgrade. */
515
619
  export interface AutomaticOsUpgradePolicyOutput {
516
620
  /** Whether OS image rollback feature should be disabled. */
517
621
  disableAutomaticRollback?: boolean;
518
- /** Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. <br /><br /> If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchservice/pool/add?tabs=HTTP#windowsconfiguration) cannot be set to true. */
622
+ /** Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. <br /><br /> If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchservice/pool/add?tabs=HTTP#windowsconfiguration) cannot be set to true. */
519
623
  enableAutomaticOSUpgrade?: boolean;
520
624
  /** Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS. */
521
625
  useRollingUpgradePolicy?: boolean;
@@ -560,15 +664,23 @@ export interface BatchPoolOutput {
560
664
  readonly lastModified?: string;
561
665
  /** The creation time of the Pool. */
562
666
  readonly creationTime?: string;
563
- /** The current state of the Pool. */
667
+ /**
668
+ * The current state of the Pool.
669
+ *
670
+ * Possible values: "active", "deleting"
671
+ */
564
672
  readonly state?: BatchPoolStateOutput;
565
673
  /** The time at which the Pool entered its current state. */
566
674
  readonly stateTransitionTime?: string;
567
- /** Whether the Pool is resizing. */
675
+ /**
676
+ * Whether the Pool is resizing.
677
+ *
678
+ * Possible values: "steady", "resizing", "stopping"
679
+ */
568
680
  readonly allocationState?: AllocationStateOutput;
569
681
  /** The time at which the Pool entered its current allocation state. */
570
682
  readonly allocationStateTransitionTime?: string;
571
- /** The size of 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). */
683
+ /** The size of virtual machines in the Pool. All virtual machines in a Pool are the same size. For information about available VM sizes, 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). */
572
684
  readonly vmSize?: string;
573
685
  /** The virtual machine configuration for the Pool. This property must be specified. */
574
686
  readonly virtualMachineConfiguration?: VirtualMachineConfigurationOutput;
@@ -610,15 +722,23 @@ export interface BatchPoolOutput {
610
722
  readonly userAccounts?: Array<UserAccountOutput>;
611
723
  /** A list of name-value pairs associated with the Pool as metadata. */
612
724
  readonly metadata?: Array<MetadataItemOutput>;
613
- /** Utilization and resource usage statistics for the entire lifetime of the Pool. This property is populated only if the CloudPool was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes. */
725
+ /** Utilization and resource usage statistics for the entire lifetime of the Pool. This property is populated only if the BatchPool was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes. */
614
726
  readonly stats?: BatchPoolStatisticsOutput;
615
727
  /** A list of file systems to mount on each node in the pool. This supports Azure Files, NFS, CIFS/SMB, and Blobfuse. */
616
728
  readonly mountConfiguration?: Array<MountConfigurationOutput>;
617
729
  /** The identity of the Batch pool, if configured. The list of user identities associated with the Batch pool. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */
618
730
  readonly identity?: BatchPoolIdentityOutput;
619
- /** The desired node communication mode for the pool. If omitted, the default value is Default. */
731
+ /**
732
+ * The desired node communication mode for the pool. If omitted, the default value is Default.
733
+ *
734
+ * Possible values: "default", "classic", "simplified"
735
+ */
620
736
  targetNodeCommunicationMode?: BatchNodeCommunicationModeOutput;
621
- /** The current state of the pool communication mode. */
737
+ /**
738
+ * The current state of the pool communication mode.
739
+ *
740
+ * Possible values: "default", "classic", "simplified"
741
+ */
622
742
  readonly currentNodeCommunicationMode?: BatchNodeCommunicationModeOutput;
623
743
  /** The upgrade policy for the Pool. Describes an upgrade policy - automatic, manual, or rolling. */
624
744
  upgradePolicy?: UpgradePolicyOutput;
@@ -710,7 +830,11 @@ export interface BatchPoolResourceStatisticsOutput {
710
830
  }
711
831
  /** The identity of the Batch pool, if configured. */
712
832
  export interface BatchPoolIdentityOutput {
713
- /** The identity of the Batch pool, if configured. The list of user identities associated with the Batch pool. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */
833
+ /**
834
+ * The identity of the Batch pool, if configured. The list of user identities associated with the Batch pool. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
835
+ *
836
+ * Possible values: "UserAssigned", "None"
837
+ */
714
838
  type: BatchPoolIdentityTypeOutput;
715
839
  /** The list of user identities associated with the Batch account. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. */
716
840
  userAssignedIdentities?: Array<UserAssignedIdentityOutput>;
@@ -740,13 +864,21 @@ export interface BatchSupportedImageOutput {
740
864
  nodeAgentSKUId: string;
741
865
  /** The reference to the Azure Virtual Machine's Marketplace Image. */
742
866
  imageReference: ImageReferenceOutput;
743
- /** The type of operating system (e.g. Windows or Linux) of the Image. */
867
+ /**
868
+ * The type of operating system (e.g. Windows or Linux) of the Image.
869
+ *
870
+ * Possible values: "linux", "windows"
871
+ */
744
872
  osType: OSTypeOutput;
745
873
  /** The capabilities or features which the Image supports. Not every capability of the Image is listed. Capabilities in this list are considered of special interest and are generally related to integration with other features in the Azure Batch service. */
746
874
  capabilities?: string[];
747
875
  /** The time when the Azure Batch service will stop accepting create Pool requests for the Image. */
748
876
  batchSupportEndOfLife?: string;
749
- /** Whether the Azure Batch service actively verifies that the Image is compatible with the associated Compute Node agent SKU. */
877
+ /**
878
+ * Whether the Azure Batch service actively verifies that the Image is compatible with the associated Compute Node agent SKU.
879
+ *
880
+ * Possible values: "verified", "unverified"
881
+ */
750
882
  verificationType: ImageVerificationTypeOutput;
751
883
  }
752
884
  /** The result of listing the Compute Node counts in the Account. */
@@ -793,6 +925,10 @@ export interface BatchNodeCountsOutput {
793
925
  unusable: number;
794
926
  /** The number of Compute Nodes in the waitingForStartTask state. */
795
927
  waitingForStartTask: number;
928
+ /** The number of Compute Nodes in the deallocated state. */
929
+ deallocated: number;
930
+ /** The number of Compute Nodes in the deallocating state. */
931
+ deallocating: number;
796
932
  /** The total number of Compute Nodes. */
797
933
  total: number;
798
934
  /** The number of Compute Nodes in the upgradingOS state. */
@@ -814,11 +950,19 @@ export interface BatchJobOutput {
814
950
  readonly lastModified?: string;
815
951
  /** The creation time of the Job. */
816
952
  readonly creationTime?: string;
817
- /** The current state of the Job. */
953
+ /**
954
+ * The current state of the Job.
955
+ *
956
+ * Possible values: "active", "disabling", "disabled", "enabling", "terminating", "completed", "deleting"
957
+ */
818
958
  readonly state?: BatchJobStateOutput;
819
959
  /** The time at which the Job entered its current state. */
820
960
  readonly stateTransitionTime?: string;
821
- /** The previous state of the Job. This property is not set if the Job is in its initial Active state. */
961
+ /**
962
+ * The previous state of the Job. This property is not set if the Job is in its initial Active state.
963
+ *
964
+ * Possible values: "active", "disabling", "disabled", "enabling", "terminating", "completed", "deleting"
965
+ */
822
966
  readonly previousState?: BatchJobStateOutput;
823
967
  /** The time at which the Job entered its previous state. This property is not set if the Job is in its initial Active state. */
824
968
  readonly previousStateTransitionTime?: string;
@@ -840,9 +984,17 @@ export interface BatchJobOutput {
840
984
  readonly commonEnvironmentSettings?: Array<EnvironmentSettingOutput>;
841
985
  /** The Pool settings associated with the Job. */
842
986
  poolInfo: BatchPoolInfoOutput;
843
- /** The action the Batch service should take when all Tasks in the Job are in the completed state. The default is noaction. */
987
+ /**
988
+ * The action the Batch service should take when all Tasks in the Job are in the completed state. The default is noaction.
989
+ *
990
+ * Possible values: "noaction", "terminatejob"
991
+ */
844
992
  onAllTasksComplete?: OnAllBatchTasksCompleteOutput;
845
- /** 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. */
993
+ /**
994
+ * 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.
995
+ *
996
+ * Possible values: "noaction", "performexitoptionsjobaction"
997
+ */
846
998
  readonly onTaskFailure?: OnBatchTaskFailureOutput;
847
999
  /** The network configuration for the Job. */
848
1000
  readonly networkConfiguration?: BatchJobNetworkConfigurationOutput;
@@ -850,7 +1002,7 @@ export interface BatchJobOutput {
850
1002
  metadata?: Array<MetadataItemOutput>;
851
1003
  /** The execution information for the Job. */
852
1004
  readonly executionInfo?: BatchJobExecutionInfoOutput;
853
- /** Resource usage statistics for the entire lifetime of the Job. This property is populated only if the CloudJob was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes. */
1005
+ /** Resource usage statistics for the entire lifetime of the Job. This property is populated only if the BatchJob was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes. */
854
1006
  readonly stats?: BatchJobStatisticsOutput;
855
1007
  }
856
1008
  /** The execution constraints for a Job. */
@@ -890,7 +1042,7 @@ export interface BatchJobManagerTaskOutput {
890
1042
  id: string;
891
1043
  /** 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. */
892
1044
  displayName?: string;
893
- /** The command line of the Job Manager Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
1045
+ /** 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). */
894
1046
  commandLine: string;
895
1047
  /** 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. */
896
1048
  containerSettings?: BatchTaskContainerSettingsOutput;
@@ -948,7 +1100,7 @@ export interface OutputFileBlobContainerDestinationOutput {
948
1100
  containerUrl: string;
949
1101
  /** 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. */
950
1102
  identityReference?: BatchNodeIdentityReferenceOutput;
951
- /** A list of name-value pairs for headers to be used in uploading output files. These headers will be specified when uploading files to Azure Storage. Official document on allowed headers when uploading blobs: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types. */
1103
+ /** 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. */
952
1104
  uploadHeaders?: Array<HttpHeaderOutput>;
953
1105
  }
954
1106
  /** An HTTP header name-value pair */
@@ -963,7 +1115,11 @@ export interface HttpHeaderOutput {
963
1115
  * to perform the upload.
964
1116
  */
965
1117
  export interface OutputFileUploadConfigOutput {
966
- /** The conditions under which the Task output file or set of files should be uploaded. The default is taskcompletion. */
1118
+ /**
1119
+ * The conditions under which the Task output file or set of files should be uploaded. The default is taskcompletion.
1120
+ *
1121
+ * Possible values: "tasksuccess", "taskfailure", "taskcompletion"
1122
+ */
967
1123
  uploadCondition: OutputFileUploadConditionOutput;
968
1124
  }
969
1125
  /** Execution constraints to apply to a Task. */
@@ -1014,7 +1170,7 @@ export interface AuthenticationTokenSettingsOutput {
1014
1170
  export interface BatchJobPreparationTaskOutput {
1015
1171
  /** 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). */
1016
1172
  id?: string;
1017
- /** The command line of the Job Preparation Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
1173
+ /** 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). */
1018
1174
  commandLine: string;
1019
1175
  /** 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. */
1020
1176
  containerSettings?: BatchTaskContainerSettingsOutput;
@@ -1052,7 +1208,7 @@ export interface BatchJobPreparationTaskOutput {
1052
1208
  export interface BatchJobReleaseTaskOutput {
1053
1209
  /** 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). */
1054
1210
  id?: string;
1055
- /** The command line of the Job Release Task. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). */
1211
+ /** 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). */
1056
1212
  commandLine: string;
1057
1213
  /** 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. */
1058
1214
  containerSettings?: BatchTaskContainerSettingsOutput;
@@ -1081,7 +1237,11 @@ export interface BatchPoolInfoOutput {
1081
1237
  export interface BatchAutoPoolSpecificationOutput {
1082
1238
  /** A prefix to be added to the unique identifier when a Pool is automatically created. The Batch service assigns each auto Pool a unique identifier on creation. To distinguish between Pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long. */
1083
1239
  autoPoolIdPrefix?: string;
1084
- /** The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are assigned to Pools. */
1240
+ /**
1241
+ * The minimum lifetime of created auto Pools, and how multiple Jobs on a schedule are assigned to Pools.
1242
+ *
1243
+ * Possible values: "jobschedule", "job"
1244
+ */
1085
1245
  poolLifetimeOption: BatchPoolLifetimeOptionOutput;
1086
1246
  /** Whether to keep an auto Pool alive after its lifetime expires. If false, the Batch service deletes the Pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the Job or Job Schedule completes. If true, the Batch service does not delete the Pool automatically. It is up to the user to delete auto Pools created with this option. */
1087
1247
  keepAlive?: boolean;
@@ -1094,7 +1254,7 @@ export interface BatchPoolSpecificationOutput {
1094
1254
  displayName?: string;
1095
1255
  /** 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). */
1096
1256
  vmSize: string;
1097
- /** The virtual machine configuration for the Pool. This property must be specified if the Pool needs to be created with Azure IaaS VMs. If it is not specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
1257
+ /** The virtual machine configuration for the Pool. This property must be specified. */
1098
1258
  virtualMachineConfiguration?: VirtualMachineConfigurationOutput;
1099
1259
  /** 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. */
1100
1260
  taskSlotsPerNode?: number;
@@ -1128,15 +1288,21 @@ export interface BatchPoolSpecificationOutput {
1128
1288
  metadata?: Array<MetadataItemOutput>;
1129
1289
  /** A list of file systems to mount on each node in the pool. This supports Azure Files, NFS, CIFS/SMB, and Blobfuse. */
1130
1290
  mountConfiguration?: Array<MountConfigurationOutput>;
1131
- /** The desired node communication mode for the pool. If omitted, the default value is Default. */
1291
+ /**
1292
+ * The desired node communication mode for the pool. If omitted, the default value is Default.
1293
+ *
1294
+ * Possible values: "default", "classic", "simplified"
1295
+ */
1132
1296
  targetNodeCommunicationMode?: BatchNodeCommunicationModeOutput;
1133
1297
  /** The upgrade policy for the Pool. Describes an upgrade policy - automatic, manual, or rolling. */
1134
1298
  upgradePolicy?: UpgradePolicyOutput;
1135
1299
  }
1136
1300
  /** The network configuration for the Job. */
1137
1301
  export interface BatchJobNetworkConfigurationOutput {
1138
- /** The ARM resource identifier of the virtual network subnet which Compute Nodes running Tasks from the Job will join for the duration of the Task. This will only work with a VirtualMachineConfiguration Pool. The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes which will run Tasks from the Job. This can be up to the number of Compute Nodes in the Pool. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet so that Azure Batch service can schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication from the Azure Batch service. For Pools created with a Virtual Machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Port 443 is also required to be open for outbound connections for communications to Azure Storage. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. */
1302
+ /** 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. */
1139
1303
  subnetId: string;
1304
+ /** 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. */
1305
+ skipWithdrawFromVNet: boolean;
1140
1306
  }
1141
1307
  /** Contains information about the execution of a Job in the Azure Batch service. */
1142
1308
  export interface BatchJobExecutionInfoOutput {
@@ -1153,7 +1319,11 @@ export interface BatchJobExecutionInfoOutput {
1153
1319
  }
1154
1320
  /** An error encountered by the Batch service when scheduling a Job. */
1155
1321
  export interface BatchJobSchedulingErrorOutput {
1156
- /** The category of the Job scheduling error. */
1322
+ /**
1323
+ * The category of the Job scheduling error.
1324
+ *
1325
+ * Possible values: "usererror", "servererror"
1326
+ */
1157
1327
  category: ErrorCategoryOutput;
1158
1328
  /** An identifier for the Job scheduling error. Codes are invariant and are intended to be consumed programmatically. */
1159
1329
  code?: string;
@@ -1232,7 +1402,11 @@ export interface BatchJobPreparationTaskExecutionInfoOutput {
1232
1402
  startTime: string;
1233
1403
  /** The time at which the Job Preparation Task completed. This property is set only if the Task is in the Completed state. */
1234
1404
  endTime?: string;
1235
- /** The current state of the Job Preparation Task on the Compute Node. */
1405
+ /**
1406
+ * The current state of the Job Preparation Task on the Compute Node.
1407
+ *
1408
+ * Possible values: "running", "completed"
1409
+ */
1236
1410
  state: BatchJobPreparationTaskStateOutput;
1237
1411
  /** The root directory of the Job Preparation Task on the Compute Node. You can use this path to retrieve files created by the Task, such as log files. */
1238
1412
  taskRootDirectory?: string;
@@ -1248,7 +1422,11 @@ export interface BatchJobPreparationTaskExecutionInfoOutput {
1248
1422
  retryCount: number;
1249
1423
  /** The most recent time at which a retry of the Job Preparation Task started running. This property is set only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. */
1250
1424
  lastRetryTime?: string;
1251
- /** The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property. */
1425
+ /**
1426
+ * The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property.
1427
+ *
1428
+ * Possible values: "success", "failure"
1429
+ */
1252
1430
  result?: BatchTaskExecutionResultOutput;
1253
1431
  }
1254
1432
  /** Contains information about the container which a Task is executing. */
@@ -1262,7 +1440,11 @@ export interface BatchTaskContainerExecutionInfoOutput {
1262
1440
  }
1263
1441
  /** Information about a Task failure. */
1264
1442
  export interface BatchTaskFailureInfoOutput {
1265
- /** The category of the Task error. */
1443
+ /**
1444
+ * The category of the Task error.
1445
+ *
1446
+ * Possible values: "usererror", "servererror"
1447
+ */
1266
1448
  category: ErrorCategoryOutput;
1267
1449
  /** An identifier for the Task error. Codes are invariant and are intended to be consumed programmatically. */
1268
1450
  code?: string;
@@ -1280,7 +1462,11 @@ export interface BatchJobReleaseTaskExecutionInfoOutput {
1280
1462
  startTime: string;
1281
1463
  /** The time at which the Job Release Task completed. This property is set only if the Task is in the Completed state. */
1282
1464
  endTime?: string;
1283
- /** The current state of the Job Release Task on the Compute Node. */
1465
+ /**
1466
+ * The current state of the Job Release Task on the Compute Node.
1467
+ *
1468
+ * Possible values: "running", "completed"
1469
+ */
1284
1470
  state: BatchJobReleaseTaskStateOutput;
1285
1471
  /** The root directory of the Job Release Task on the Compute Node. You can use this path to retrieve files created by the Task, such as log files. */
1286
1472
  taskRootDirectory?: string;
@@ -1292,7 +1478,11 @@ export interface BatchJobReleaseTaskExecutionInfoOutput {
1292
1478
  containerInfo?: BatchTaskContainerExecutionInfoOutput;
1293
1479
  /** Information describing the Task failure, if any. This property is set only if the Task is in the completed state and encountered a failure. */
1294
1480
  failureInfo?: BatchTaskFailureInfoOutput;
1295
- /** The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property. */
1481
+ /**
1482
+ * The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property.
1483
+ *
1484
+ * Possible values: "success", "failure"
1485
+ */
1296
1486
  result?: BatchTaskExecutionResultOutput;
1297
1487
  }
1298
1488
  /** The Task and TaskSlot counts for a Job. */
@@ -1345,11 +1535,19 @@ export interface BatchJobScheduleOutput {
1345
1535
  readonly lastModified?: string;
1346
1536
  /** The creation time of the Job Schedule. */
1347
1537
  readonly creationTime?: string;
1348
- /** The current state of the Job Schedule. */
1538
+ /**
1539
+ * The current state of the Job Schedule.
1540
+ *
1541
+ * Possible values: "active", "completed", "disabled", "terminating", "deleting"
1542
+ */
1349
1543
  readonly state?: BatchJobScheduleStateOutput;
1350
1544
  /** The time at which the Job Schedule entered the current state. */
1351
1545
  readonly stateTransitionTime?: string;
1352
- /** The previous state of the Job Schedule. This property is not present if the Job Schedule is in its initial active state. */
1546
+ /**
1547
+ * The previous state of the Job Schedule. This property is not present if the Job Schedule is in its initial active state.
1548
+ *
1549
+ * Possible values: "active", "completed", "disabled", "terminating", "deleting"
1550
+ */
1353
1551
  readonly previousState?: BatchJobScheduleStateOutput;
1354
1552
  /** The time at which the Job Schedule entered its previous state. This property is not present if the Job Schedule is in its initial active state. */
1355
1553
  readonly previousStateTransitionTime?: string;
@@ -1390,9 +1588,17 @@ export interface BatchJobSpecificationOutput {
1390
1588
  displayName?: string;
1391
1589
  /** Whether Tasks in the Job can define dependencies on each other. The default is false. */
1392
1590
  usesTaskDependencies?: boolean;
1393
- /** The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction. */
1591
+ /**
1592
+ * The action the Batch service should take when all Tasks in a Job created under this schedule are in the completed state. Note that if a Job contains no Tasks, then all Tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic Job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the Job properties to set onAllTasksComplete to terminatejob once you have finished adding Tasks. The default is noaction.
1593
+ *
1594
+ * Possible values: "noaction", "terminatejob"
1595
+ */
1394
1596
  onAllTasksComplete?: OnAllBatchTasksCompleteOutput;
1395
- /** 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. */
1597
+ /**
1598
+ * 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.
1599
+ *
1600
+ * Possible values: "noaction", "performexitoptionsjobaction"
1601
+ */
1396
1602
  onTaskFailure?: OnBatchTaskFailureOutput;
1397
1603
  /** The network configuration for the Job. */
1398
1604
  networkConfiguration?: BatchJobNetworkConfigurationOutput;
@@ -1493,9 +1699,17 @@ export interface ExitCodeMappingOutput {
1493
1699
  }
1494
1700
  /** Specifies how the Batch service responds to a particular exit condition. */
1495
1701
  export interface ExitOptionsOutput {
1496
- /** An action to take on the Job containing the Task, if the Task completes with the given exit condition and the Job's onTaskFailed property is 'performExitOptionsJobAction'. The default is none for exit code 0 and terminate for all other exit conditions. If the Job's onTaskFailed property is noaction, then specifying this property returns an error and the add Task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). */
1702
+ /**
1703
+ * An action to take on the Job containing the Task, if the Task completes with the given exit condition and the Job's onTaskFailed property is 'performExitOptionsJobAction'. The default is none for exit code 0 and terminate for all other exit conditions. If the Job's onTaskFailed property is noaction, then specifying this property returns an error and the add Task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
1704
+ *
1705
+ * Possible values: "none", "disable", "terminate"
1706
+ */
1497
1707
  jobAction?: BatchJobActionOutput;
1498
- /** 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. */
1708
+ /**
1709
+ * 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.
1710
+ *
1711
+ * Possible values: "satisfy", "block"
1712
+ */
1499
1713
  dependencyAction?: DependencyActionOutput;
1500
1714
  }
1501
1715
  /**
@@ -1586,15 +1800,23 @@ export interface BatchTaskOutput {
1586
1800
  readonly creationTime?: string;
1587
1801
  /** How the Batch service should respond when the Task completes. */
1588
1802
  readonly exitConditions?: ExitConditionsOutput;
1589
- /** The current state of the Task. */
1803
+ /**
1804
+ * The current state of the Task.
1805
+ *
1806
+ * Possible values: "active", "preparing", "running", "completed"
1807
+ */
1590
1808
  readonly state?: BatchTaskStateOutput;
1591
1809
  /** The time at which the Task entered its current state. */
1592
1810
  readonly stateTransitionTime?: string;
1593
- /** The previous state of the Task. This property is not set if the Task is in its initial Active state. */
1811
+ /**
1812
+ * The previous state of the Task. This property is not set if the Task is in its initial Active state.
1813
+ *
1814
+ * Possible values: "active", "preparing", "running", "completed"
1815
+ */
1594
1816
  readonly previousState?: BatchTaskStateOutput;
1595
1817
  /** The time at which the Task entered its previous state. This property is not set if the Task is in its initial Active state. */
1596
1818
  readonly previousStateTransitionTime?: string;
1597
- /** 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). */
1819
+ /** 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/azure/batch/batch-compute-node-environment-variables). */
1598
1820
  readonly commandLine?: string;
1599
1821
  /** 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. */
1600
1822
  readonly containerSettings?: BatchTaskContainerSettingsOutput;
@@ -1647,7 +1869,11 @@ export interface BatchTaskExecutionInfoOutput {
1647
1869
  requeueCount: number;
1648
1870
  /** The most recent time at which the Task has been requeued by the Batch service as the result of a user request. This property is set only if the requeueCount is nonzero. */
1649
1871
  lastRequeueTime?: string;
1650
- /** The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property. */
1872
+ /**
1873
+ * The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property.
1874
+ *
1875
+ * Possible values: "success", "failure"
1876
+ */
1651
1877
  result?: BatchTaskExecutionResultOutput;
1652
1878
  }
1653
1879
  /** Information about the Compute Node on which a Task ran. */
@@ -1697,7 +1923,11 @@ export interface BatchTaskAddCollectionResultOutput {
1697
1923
  }
1698
1924
  /** Result for a single Task added as part of an add Task collection operation. */
1699
1925
  export interface BatchTaskAddResultOutput {
1700
- /** The status of the add Task request. */
1926
+ /**
1927
+ * The status of the add Task request.
1928
+ *
1929
+ * Possible values: "success", "clienterror", "servererror"
1930
+ */
1701
1931
  status: BatchTaskAddStatusOutput;
1702
1932
  /** The ID of the Task for which this is the result. */
1703
1933
  taskId: string;
@@ -1733,15 +1963,27 @@ export interface BatchSubtaskOutput {
1733
1963
  containerInfo?: BatchTaskContainerExecutionInfoOutput;
1734
1964
  /** Information describing the Task failure, if any. This property is set only if the Task is in the completed state and encountered a failure. */
1735
1965
  failureInfo?: BatchTaskFailureInfoOutput;
1736
- /** The current state of the subtask. */
1966
+ /**
1967
+ * The current state of the subtask.
1968
+ *
1969
+ * Possible values: "preparing", "running", "completed"
1970
+ */
1737
1971
  state?: BatchSubtaskStateOutput;
1738
1972
  /** The time at which the subtask entered its current state. */
1739
1973
  stateTransitionTime?: string;
1740
- /** The previous state of the subtask. This property is not set if the subtask is in its initial running state. */
1974
+ /**
1975
+ * The previous state of the subtask. This property is not set if the subtask is in its initial running state.
1976
+ *
1977
+ * Possible values: "preparing", "running", "completed"
1978
+ */
1741
1979
  previousState?: BatchSubtaskStateOutput;
1742
1980
  /** The time at which the subtask entered its previous state. This property is not set if the subtask is in its initial running state. */
1743
1981
  previousStateTransitionTime?: string;
1744
- /** The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property. */
1982
+ /**
1983
+ * The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property.
1984
+ *
1985
+ * Possible values: "success", "failure"
1986
+ */
1745
1987
  result?: BatchTaskExecutionResultOutput;
1746
1988
  }
1747
1989
  /**
@@ -1784,9 +2026,17 @@ export interface BatchNodeOutput {
1784
2026
  id?: string;
1785
2027
  /** The URL of the Compute Node. */
1786
2028
  url?: string;
1787
- /** The current state of the Compute Node. The Spot/Low-priority Compute Node has been preempted. Tasks which were running on the Compute Node when it was preempted will be rescheduled when another Compute Node becomes available. */
2029
+ /**
2030
+ * The current state of the Compute Node. The Spot/Low-priority Compute Node has been preempted. Tasks which were running on the Compute Node when it was preempted will be rescheduled when another Compute Node becomes available.
2031
+ *
2032
+ * Possible values: "idle", "rebooting", "reimaging", "running", "unusable", "creating", "starting", "waitingforstarttask", "starttaskfailed", "unknown", "leavingpool", "offline", "preempted", "upgradingos", "deallocated", "deallocating"
2033
+ */
1788
2034
  state?: BatchNodeStateOutput;
1789
- /** Whether the Compute Node is available for Task scheduling. */
2035
+ /**
2036
+ * Whether the Compute Node is available for Task scheduling.
2037
+ *
2038
+ * Possible values: "enabled", "disabled"
2039
+ */
1790
2040
  schedulingState?: SchedulingStateOutput;
1791
2041
  /** The time at which the Compute Node entered its current state. */
1792
2042
  stateTransitionTime?: string;
@@ -1835,14 +2085,22 @@ export interface BatchTaskInfoOutput {
1835
2085
  taskId?: string;
1836
2086
  /** The ID of the subtask if the Task is a multi-instance Task. */
1837
2087
  subtaskId?: number;
1838
- /** The current state of the Task. */
2088
+ /**
2089
+ * The current state of the Task.
2090
+ *
2091
+ * Possible values: "active", "preparing", "running", "completed"
2092
+ */
1839
2093
  taskState: BatchTaskStateOutput;
1840
2094
  /** Information about the execution of the Task. */
1841
2095
  executionInfo?: BatchTaskExecutionInfoOutput;
1842
2096
  }
1843
2097
  /** Information about a StartTask running on a Compute Node. */
1844
2098
  export interface BatchStartTaskInfoOutput {
1845
- /** The state of the StartTask on the Compute Node. */
2099
+ /**
2100
+ * The state of the StartTask on the Compute Node.
2101
+ *
2102
+ * Possible values: "running", "completed"
2103
+ */
1846
2104
  state: BatchStartTaskStateOutput;
1847
2105
  /** The time at which the StartTask started running. This value is reset every time the Task is restarted or retried (that is, this is the most recent time at which the StartTask started running). */
1848
2106
  startTime: string;
@@ -1858,7 +2116,11 @@ export interface BatchStartTaskInfoOutput {
1858
2116
  retryCount: number;
1859
2117
  /** The most recent time at which a retry of the Task started running. This element is present only if the Task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the Task has been restarted for reasons other than retry; for example, if the Compute Node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. */
1860
2118
  lastRetryTime?: string;
1861
- /** The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property. */
2119
+ /**
2120
+ * The result of the Task execution. If the value is 'failed', then the details of the failure can be found in the failureInfo property.
2121
+ *
2122
+ * Possible values: "success", "failure"
2123
+ */
1862
2124
  result?: BatchTaskExecutionResultOutput;
1863
2125
  }
1864
2126
  /** An error encountered by a Compute Node. */
@@ -1879,7 +2141,11 @@ export interface BatchNodeEndpointConfigurationOutput {
1879
2141
  export interface InboundEndpointOutput {
1880
2142
  /** The name of the endpoint. */
1881
2143
  name: string;
1882
- /** The protocol of the endpoint. */
2144
+ /**
2145
+ * The protocol of the endpoint.
2146
+ *
2147
+ * Possible values: "tcp", "udp"
2148
+ */
1883
2149
  protocol: InboundEndpointProtocolOutput;
1884
2150
  /** The public IP address of the Compute Node. */
1885
2151
  publicIPAddress: string;
@@ -1952,7 +2218,11 @@ export interface InstanceViewStatusOutput {
1952
2218
  code?: string;
1953
2219
  /** The localized label for the status. */
1954
2220
  displayStatus?: string;
1955
- /** Level code. */
2221
+ /**
2222
+ * Level code.
2223
+ *
2224
+ * Possible values: "Error", "Info", "Warning"
2225
+ */
1956
2226
  level?: StatusLevelTypesOutput;
1957
2227
  /** The detailed status message. */
1958
2228
  message?: string;
@@ -1978,6 +2248,8 @@ export type DiskEncryptionTargetOutput = string;
1978
2248
  export type BatchNodePlacementPolicyTypeOutput = string;
1979
2249
  /** Alias for DiffDiskPlacementOutput */
1980
2250
  export type DiffDiskPlacementOutput = string;
2251
+ /** Alias for SecurityEncryptionTypesOutput */
2252
+ export type SecurityEncryptionTypesOutput = string;
1981
2253
  /** Alias for SecurityTypesOutput */
1982
2254
  export type SecurityTypesOutput = string;
1983
2255
  /** Alias for DynamicVNetAssignmentScopeOutput */
@@ -1990,6 +2262,8 @@ export type NetworkSecurityGroupRuleAccessOutput = string;
1990
2262
  export type IpAddressProvisioningTypeOutput = string;
1991
2263
  /** Alias for ContainerWorkingDirectoryOutput */
1992
2264
  export type ContainerWorkingDirectoryOutput = string;
2265
+ /** Alias for ContainerHostDataPathOutput */
2266
+ export type ContainerHostDataPathOutput = string;
1993
2267
  /** Alias for AutoUserScopeOutput */
1994
2268
  export type AutoUserScopeOutput = string;
1995
2269
  /** Alias for ElevationLevelOutput */